936 karma · joined September 28, 2009
Gmail address: david.storrs
Software guy, serial entrepreneur, rationalist, occasional stand-up comedian, fulltime stand-up guy.
And the relevance is.....?
I don't mean to sound cold butif we can prevent HIV from spreading then sooner or later it will cease to exist.
Mostly, I've felt it because I've (been lucky enough to and / or made it a point to) work with really talented programmers, people who were better than me. That is great for learning and very hard on the ego. Look at the people you're working with and ask yourself if they are ALL super geniuses, or if maybe some of them are simply more experienced and / or had the luxury of being able to focus more on their studies while at school instead of having to work and deal with the grief of losing a parent.
As to feeling like you're slow to debug and problem solve and whatever...don't. If you have the brains and the persistence to have made it this far as a programmer, it's very unlikely that you're actually dumb. What you ARE, self-admittedly, is inexperienced and under-educated. It is experience, not brilliance, that makes people fast at debugging: when you've seen similar problems before, when you have an array of exploratory / testing techniques that have worked for you in the past, then you too will be fast and all the younger programmers will look up at you and go "damn, I wish I could be as inventive as that guy."
Here's my best advice for you right now: stop focusing on learning for a while and focus on having fun. If you find that you enjoy programming, everything else will start to come easily. Here are some specifics on how to implement that:
1) Start a notes file where you jot down anything that seems interesting.
2) Follow your instincts; whatever you stumble on that seems interesting, do a bit of googling and read up on it.
3) Reading is good, but coding is God. If you don't write actual working code for something, don't imagine that you have learned it.
4) Don't push. Whenever you get bored or frustrated with something, put it down for a while. Go read about something else in your notes file. Or watch TV. Or take a walk. Or whatever you feel like doing at that moment. Give yourself permission to not be perfect; you'll find it amazingly liberating.
5) Take care of your body. This one sounds silly, but it makes a huge difference. Sleep enough and eat right. Tired programmers are stupid programmers and anyone who tells you otherwise is lying. The myths of super-productive 40-hour coding runs powered by Jolt and Cheetos are just that -- myths.
6) Definitely find a project, and do it in a new language. Choose a dynamic language for now; you can go back and learn the C/C++ memory management stuff later. Ruby or Python would be good choices, as they are highly employable languages that are used in both enterprise and startups. node.js would be another good choice, but is not yet as employable. If you want a suggestion for a project: pick a website that you like (ideally one with a public API) and write something that pulls down data from that site and stores it to a database.
The problem with making my laptop work like an iPad is that the laptop is a general purpose computer and the iPad is not.[1] The genius of the iPad was that it was a specialized device built for a single purpose: consuming media anywhere, anytime. It has long battery life, sunlight-visible screen, and does not require mouse or keyboard. It is very good at its purpose -- you can use it as a book reader or movie viewer while riding a bus, sitting in a park, etc -- and it sucks for anything else (e.g. anything that requires typing more than a few characters).
My laptop, on the other hand, was designed to be an all-up computer that could be used anywhere that there was a flat surface, but mostly indoors. I can use it at home, at the coffee shop, etc. It's also fine for consuming media as long as I'm not in direct sunlight or away from power for more than a few hours.
So. What exactly am I gaining by adding these iPad features? Sure, I bet they're handy and I'll probably learn to use them. But I can't help but think that a bunch of guys as talented as Apple could have produced something really impressive in the time they took adding these iPad features.
[1] No pedantry, please.
I was trying to pick up Scheme, and I was using PLT Scheme (now Racket). I would ask on a Scheme list / IRC channel "how do I $FOO?" Someone would say "here's some code." That code would not work under PLT because the person in question was using a different implementation with slightly different syntax or language features. I would then spend some time figuring out the exact differences -- usually not long, but it was extra friction that made it harder to get over the learning hump.
Also, he missed the main problem with Scheme (and Lisp) IMHO: language fracturing. Want to use Scheme on your project? Not so fast! Which one? PLT Scheme? Chicken? MIT? DrRacket? Gambit? TinyScheme?
...the list goes on: http://en.wikipedia.org/wiki/Category:Scheme_implementations
Most of these are 95% interchangeable in terms of code, but there are a few differences here and there that make it hard (especially for newbies) to get help from Schemers using a different flavor.
This is good, but it would work better if I knew what the price would eventually be and when it would change. Right now, I'm sitting here saying "well, maybe I don't need this right now, but I might in a few weeks. If the price is going to go from $20 to $25, I don't care about getting in now. If the price is going from $20 to $200, I might throw the money at it right now just to lock it in.
Alternatively, at least tell me when the price change will happen.
I tend to be more creative when I'm letting myself drift, but I need to focus in order to execute. As with most things, balance is the key.
Objection! That sentence should be taken out back and shot.
http://blog.rmdstudio.com/2009/01/19/social-graphing-models-...
Is it true that Americans are in debt because they are fiscally irresponsible, or is it because the playing field is tilted?
It is hard for me to believe that 33% of all Americans can't grasp the idea of "spend less than you make". Sure, a lot of it is consumer culture / media pressure, etc. But other countries have the same sort of culture and lack our level of credit card debt. Could it be that the field is tilted -- e.g. wages are simply at a level that does not allow the average person to save much even if they try, meaning that as soon as they hit a financial bump (job loss, non-insured surgery, car repair) they are in debt and the interest rates on the card spiral?
This is not a conspiracy theory -- I don't think there is a literal collection of people in a room saying "how do we stick it to them this week?" -- but I do think that many economic actors (credit card companies, credit bureaus, major retail stores, etc) act in their own self-interest to continue this situation.
I've seen bits and pieces that support this theory, but I lack the economic and political background to tell if this is right or not. Can anyone point me at good sources?
1) I don't think the quote added anything new to the discussion. Nor was it a good summary of the article.
2) You asked a loaded question that implied a bias on the part of your listeners. You are deliberately creating a situation where discussion is impossible, since only one answer is "right". Why, then, would anyone want to engage with you?
I disagree. There will always be evil in the world; one criminal more or less is a drop in the bucket. What truly hurts a nation is when innocent citizens cannot be sure that their innocence will protect them from their own legal system.
Also, billions are harder to spend than millions, because purchases that big change the environment.
For example: a small, unprofitable company makes purple widgets, even though no one else thinks it's worth it to make purple widgets. Owning these guys would give you a competitive advantage because their widget-making technology coordinates well with your sprocket-making pipeline, so you acquire them for $1B. Suddenly a flock of other companies will jump up to make purple widgets; they will get acquired by your competitors, who can learn from your widget-making mistakes. This all cuts down on the competitive advantage that made you buy the company in the first place.
- There is more/richer information available on people who keep journals, so it's easier to make the case for their greatness.
- If someone does great things but no record is kept, they are not acknowledged.
I enjoyed the stories of his grandfather, but the flawed reasoning in the argument annoyed me.
http://www.amazon.com/Davids-Sling-Marc-Stiegler/dp/06716536...
Among other things, Stiegler posits a "Zetetic Institute" that teaches people how to think better -- effectively, an "organic foods" industry for the mind.
As to the "more expensive"...no, not really. Basically, it's just a crowbar with a simple camera and some fins on it. Using this technology it would trade in the camera for a radio back to the launch vehicle. You'd need all the same bits on a missile, plus more besides, and the missile would need to be larger.
EDIT: My mistake. Apparently I'm not sufficiently familiar with MySQL's revision number practices. According to this: http://dev.mysql.com/doc/refman/5.5/en/news-5-5-x.html#news-... 5.5.x is a production release; I saw an odd minor version and assumed it was dev, since that's what I'm used to everywhere else. My other questions still stand, though.
Each crowbar would need some sort of minimal steering system to account for atmospheric turbulence. This steering can't be locally controlled because the device can't see past the plasma sheath. It can't be remote controlled because the plasma sheath stops transmissions. With this new "plasma aerial" technology, you could steer each crowbar individually from the launcher platform.
It is my belief that geek culture is relatively gender blind but it is definitely true that there seem to be fewer girl geeks than guy geeks. I wish more women had engaged with computers so positively as you obviously have; the field would be richer for it.