658 karma · joined November 19, 2007
It's a great read. Enjoy.
http://www.cs.colorado.edu/~main/theory.pdf
Facultly contact info can be found here: http://www.cs.colorado.edu/people/faculty/bytitle.html
dear god, our field is already challenging enough, though we could use some competition amongst us in corporate! :P
It's like trying to find a needle in a haystack (extremely boring task that will take a while without proper tools)... but every time I start looking, I start wondering how I would construct the barn differently, or how the stack of hay came to be, if it could be organized to find the needle more efficiently, or who owns the barn and what they plan on doing with the barn and the needle and the hay... etc...
you see?
The only really thing I've been trying to do that will keep me focused is trying to learn C better. Writing more elegant code, reading books like "Expert C Programming", etc... but at times, I feel like this might be counter productive because it's not really helping me get work done, it's just helping me understand the code and refactor it in a better form. It doesn't necessarily boost my short-term productivity, but good for knowledge of C and long-term benefits.
I am a language-junkie though, and still relatively young in academia world. I feel as though if I'm not reading papers published on SIGPLAN, reading RSS (reddit, news.yc), doing school-related work, doing research, talking to professors, etc... then I'm not that excited.
Maybe software engineering isn't for me? Or is this project/company just too PHB-like and traditional? Thoughts? experiences?
Thanks for the feedback because I've been wondering this for a while and always doubting myself, but I love CS... just would like to hear what other people have to say about this.
EDIT: It provides more power to the programmer. Power that is useless for a programmer that wants to develop functional software. This is why new languages and more CS/EE research will be involved. More power == more levels of abstraction. It depends on the level of abstraction that you're working with to decide whether you're going to benefit from performance or expressiveness (code expressiveness, which I like to directly correlate to software functionality independent of code performance).
I love shitting my brains out on this type of stuff; Could be right, could be wrong. All I know is that the future is undef... and I enjoy it...
Other than that, yes they are extremely light and comfortable...
It not only takes smart business operations as detailed in that article, but a strong community. Crocs birthed in a community full of power and wealth, and that helped a great deal. Hell, Michael Jordan received a few pairs of Crocs when he came to the club for a golf tournament...
EDIT: Misleading title--nothing to do with neurons or 'unreality'...
2) Computer books, Steve Yegge, Paul Graham, Knuth
3) Digg, Google Reader, Facebook
4) Google, Official Docs/Specs (for projects/languages), irc.freenode.net
Cmon now... what is this virtual ^&*#$@! coming to? Really Amazon.com? Really??
Edit: Not only that... but look at the view from his office... I'm practically speachless at how BS not only that job position and article, but Amazon.com's participation and movement in that direction is...
New languages and tools arise because of need. Therefore, if you feel forced or uncomfortable with your current tools & languages, use different ones.
People who feel forced and don't understand the particular programming model of Erlang shouldn't be using it. That simple. Google App Engine... that's another story...
I really hope my initial post wasn't interpreted the way it was to validate that response. I don't take back anything I said--and I'm sure it's not what I want to hear. Architectures scale, not languages... Twitter simply cannot be distributed... it's not news, I've written about it earlier.
So now that metadata caching is out of scope here, we turn to frameworks, architectures, and application design. The issue Twitter has is in aggregation of their meta data. People who propose a distributed solution for Twitter obviously miss the inherent nature of Twitter; it's a centralized system. Twitter should remain as it is, but ditch RoR and become more modularized. This is where they start developing real systems; the type of systems they talk about in those mundane CS classes, like programming in C -- that stuff. Modularize the applicaion, develop systems that scream for aggregation, cache the hell out of everything, and start applying some computer science.
Twitter was born as one of those next-gen Web 2.0 "keep track of your friends" hip Ruby on Rails insertbuzzwordhere application. Now it poses actual architectural challenges. It's so similar to the evolution of Facebook. Just take a step back and look at it.