11ren
For adoption, the learning curve is very important, and the beginning of this curve is sensible defaults (like Python and Rails), so you can make the common tasks happen fast, while having the power to also do the complex low-level fine-tuning that is less common (and not the first thing you do). There's a learning curve (per user), but also a building curve (per project).
However, common is an attribute of usage, and not intrinsic to the API. You need a lot of users before you know what is common. And, over time, as the world changes, the common tasks change (eg. there are many different internet protocols, but http turned out to be most common).
Is it possible to have a "clear but poorly-defined goal", or are you having a joke? "Fun" is an emergent property - recognizable, measurable but the creation isn't formalizable (though BTW your link mentioned something about game grammars...)
I'm just surprised that (it seems) you can do statement-based code in lisp. I thought it all had to be expressions. This feels like cheating. BTW: I can see that progn/do syntactically produce expressions, but the value of all but the last one are thrown away - similar to python in that respect. This seems against the spirit of expressions.
For a product company, 37Signals does a lot of blogging, conferences, a book and so on. I think the guys are good at this, and they really enjoy it. It makes me think that, in a way, 37SIgnals is really an educational/PR company, that happens to make money from their software. If you want something like what they make, you'll need to pay someone to host it - why not them, since they are nice guys?
It seems to me a way to sneak statements into the language. Or does lisp have something like that as well?
He doesn't mention that you might learn something from each attempt (if you stay in the same industry).
I think your success is (virtually) inevitable - unless there's something that you must learn that you won't learn.
Makes sense, it's the only multi-billion dollar business based on an algorithm.
Patent-based businesses seem to encourage fundamental technical research. Consider: Bell Labs (Alexander Graham Bell's telegraphy patent); PARC (Xerography patent); IBM research (many patents).
Easy enough to shade the sides (perhaps with a reflective surface, so as to not waste the light). Of course, being more visible makes it better - just doesn't look as cool (IMO).
But also, it doesn't give a sense of the space around the bike. That was the main idea I got from the original article, of a projected "lane" - it's not to make the bike more visible, but to display a cushion of space around it (a territory), so cars don't drive too close.
2. I meant it was illegal what I do (which is to ride between the parked cars and single lane of the road. Also a danger of a parked car's doors opening). I agree with your other points (esp route taken!)
Easy enough to shade the sides (perhaps with a reflective surface, so as to not waste the light). Of course, being more visible makes it better - just doesn't look as cool (IMO).
But also, it doesn't give a sense of the space around the bike. That was the main idea I got from the original article, of a projected "lane" - it's not to make the bike more visible, but to display a cushion of space around it (a territory), so cars don't drive too close.
2. I meant it was illegal what I do (which is to ride between the parked cars and single lane of the road. Also a danger of a parked car's doors opening. I agree with your other points (esp route taken!)
:map ZA <Esc>:w<CR>
I find the vim help very intimidating (with every possible feature and then some), but it turns out to be really simple to create your own commands. I also made ctrl-N go to the next file (ctrl-P for the previous file), because I do that a lot./story/439163
polls polls polls!!
/story/439162
it's OK to do a test, just delete it right away
/story/439161
you shouldn't do a test! You are a bad person.
If he could permit himself to start over several times, I can too.
Thinking of my own experience (I've ridden daily for a couple of years), the only two close-calls I've had are from a car that's in front of me, when it suddenly sees a parking spot, and swerves across, almost side-swiping me.
I could probably avoid this by riding in a full car lane, instead of to the left of it (between the lane and parking spaces), but it seems wasteful to take up a whole car lane (and I can't pass cars then). Also, what I'm doing may be illegal, as it's not marked as a bike lane.
(Bonus: fog/glow is more visible when raining.)
One barrier for me is that the cleanness of the code arguably doesn't matter in a project like this, so the time feels wasted. But, in reality, I'm creating sample code, that I do come back to later, to see how I did things. Like a personal text book. When the code is ugly and hard to follow, it is less useful as sample code. Thinking of it as sample code removes that barrier (that cleanness doesn't matter).
I've started to spend time cleaning up code, and uncluttering it, as I go - but I find it takes an extraordinary amount of time...
Another projection idea is a downward-facing rear light - perhaps angled so that the light reflected from the road hits the eyes of the drivers behind?
But won't competition take care of that... if the market really does care about those metrics?
Data point one: the rise of the netbook. They have slower, single-core processors, and are fast enough for most of the mainstream stuff people want to do: web, email, word-processing. Netbooks are getting faster (and this is needed for some webapps e.g. that musical score webapp is a little sluggish on my eee PC). But what is more important in a netbook is weight and battery life - that is what is needed. Performance isn't needed.
Data point two: even in video games, the wii console is the most successful of the present batch. It is unusually low powered even for single-core (and in coincidence, one of its competitors, the PS3, is multi-core). Performance isn't needed.
Data point three (an exception): some applications do need performance (weather simulation; google server farms), but these are already multi-core, and have been for a long time (the core used to be in separate computers, but the app was multi-core).
I'm arguing that most of the mainstream market can't absorb faster performance (and the high-performance market has already solved the problem).
Ripe for Disruption?: It's common for whole industries to overshoot what is needed, in terms of the particular metric they have worked at improving for years. Their corporate organization, product development and marketing are based on improving that aspect, and selling that aspect. When the basis of competition shifts, you get a new set of leaders, because the old ones can't adapt.
The wire format doesn't affect this approach - it could be JSON or XML. However, JSON and data structures maps cleanly, because it's an object format already. To do the same thing with XML requires an extra level, and you get a meta-format like xmlrpc, which is pretty ugly.
So I think you're talking about a kind of object serialization, with object-to-object data binding.
XML Schema is an attempt to factor out the grammar of the data structures, so that they can be checked automatically, and other grammar-based tasks can be automated. I think this is a worthy quest, succeed or fail. One specific failing we discussed was error messages.
I'm trying to grasp your point of view, and presenting what I think it is, so you tell me if I got it right or not (assuming you see this reply).
There's the favourite DOS->unix:
alias cd..="cd .."