Hacker News new | past | comments | ask | show | jobs | submit login
Poll: What are you investing time to learn?
50 points by jraines on March 27, 2010 | hide | past | favorite | 90 comments
What are you investing time in learning? I've tried to be pretty general on the top level choices -- upvote as many as apply to you; would love to see specifics in comments.
A new programming language
218 points
An established web framework (Rails, Django, etc. )
161 points
NoSQL (MongoDB, Redis, Cassandra, etc)
114 points
AI / Machine Learning
104 points
A new/developing web framework (Lift, Node.js, etc)
89 points
Marketing (copywriting, AdWords, etc.)
67 points
Native Mobile development (Obj C, Java)
66 points
Scalability
63 points
Game development
47 points
Security-related topics
31 points
Development methodology (Agile, etc)
29 points
Mobile development platform (Titanium, PhoneGap)
25 points



The breadth of topics in this poll makes me pretty sad. What do we do on Hacker News? Well, we figure out new ways to put forms on web pages, new ways to collect the things people put into those forms, new ways to get people to look at those forms --- oh, and game development and AI.


You do security stuff right? Yeah, I'm pretty ignorant about that (regretfully). But I've seen you post about hiring, saying that you are looking for smart people, and have specified Rails. OK, so if I contacted you about a job and had solid Rails skills, what else would you want me to be knowledgeable about, even if not directly related to what you do, that would convince you that I'm the sort of hacker you'd give a second look?

I'm honestly curious, not fishing for a job. It's part of why I created the poll. I have felt boxed in doing just what you're deriding, and I want to know what others here are finding interesting.


I've never hired someone who knew Rails. I'm not even sure I've hired anyone who knew Ruby. My lead product dev is a Lisper. Here's an industry pro-tip: when you want to optimize for "good programmer", don't put "must know Rails 2.3.x+ and have experience with one of Sinatra, Ramaze, or Rack". Just look for the smug lisp weenies.

The people who do best in security are the ones who understand computer science. They are:

* Very solid C programmers, or

* Understand compiler design, or

* Know a thing or two about signal processing, or

* Know how to implement compression algorithms, or

etc etc etc.

That's exactly the issue I have with this poll. The cart appears to be dragging the horse. You write web applications to solve problems. What problems are you solving? Very few people will put money up against the problem of "need a better web framework".


Signal processing is fun, and its principals crop up in unexpected ways. Grokking convolutions and auto-corelations is a nice "bump" in the way I think about data processing. Seeing data as a stream instead of discrete chunks sometimes helps a simple convolution be apparent when facing a naive implementation's taxing computation. What this would have to do with security, I don't know.

I think that tptacek's point is that he wants someone that "digs deeper".


Well, that's a valid question to ask (what problem are you solving), but it lends itself to a poll even less than this question. This was, though, the one that I personally wanted to see answers to, and I'm just as interested in specific niche answers than my intentionally mainstream categories. I'm sorry if those made you sad -- I wasn't trying to be exhaustive or represent the totality of HN interests.


"I've never hired someone who knew Rails."

Looks like you will soon. :)

"We're hiring a Rails/jQ developer. NYC or Chicago."


We've had a Rails product for something like 3 years now. Everyone is expected to write in Rails. I'm not so much expecting them to come in the doors knowing it.


NodeJS is awesome. I love it. However, it is not a web framework. NodeJS is more like Rack than Rails. There is no default persistence engine, no template rendering and no concept of a controller. There is not even a router! These things are not "core" to writing server-side javascript. NodeJS also speaks more than http! You can do raw TCP or UDP if you please.

You can build web frameworks on top of NodeJS (and lots of people are,) but that's kind of boring to me. NodeJS is particularly good at handling lots of open connections that it can read from and write to whenever it gets around to it. This means writing chat servers is trivial, writing a "socket server" for a game is trivial, push notification for websites is easy, and on and on.

Because of how little it does, it is a lot easier to get my head around than any of the other big evented frameworks (twisted, eventmachine &etc.)


Just the sort of response I was hoping for. I wasn't really interested in Node before, now I think I'll check it out.


Why all the programming topics? Here's what I'm working on at the moment.

- Computational neuroscience (I have vague ideas for a Ph.D thesis)

- World history (I've come to realize the breadth of my ignorance)

- French (I studied it in school from age 7 to 14 and still struggle to hold basic conversations)

- Driving (I'm 24 and don't have a license... that has to change)


- Driving (I'm 24 and don't have a license... that has to change)

I don't know about your specific situation, but in general driving is overrated. It's a stressful activity that provides no exercise, and owning a car is expensive (more so than most people realize). I think you're best off if you can find a place to live where walking, biking and public transit are all you need. That's what I hope to do.

So if you're feeling self-conscious for going so long without a license, don't. You really haven't missed out on much.


...except for being able to go wherever you want, whenever you want.


Depends on the city. In Dallas you'd feel trapped without a car, but in D.C. the metro can get you wherever, whenever.


Except Georgetown. D.C. public transportation is sometimes pretty crappy.


Here in Berlin I use car sharing for that. The next car is as far away as a parking place for my own car would be. It's 1.50€/h plus 0.2€/km. The biggest problem is that I have to put the car back to where I took it.


I would definitely do car sharing if I could for that price. It's more than twice as much for me. http://www.zipcar.com/pittsburgh/check-rates


yep, zip car in SF is similar. Cars are just still too cheap, if you don't let your pride fuck with you in which one to pick.


I enjoy driving, personally.

I don't enjoy _having_ to drive somewhere, however.


counterpoint: learning to drive before going to uni was the best investment I made.


How so? I'd like to hear more about this.


Uh well. All my friends are struggling to find the time to do it now. Or they don't have the funds.

And being able to drive is really useful :-)

I do have a car; it's fairly cheap to run and it means I can travel at weekends etc. Freedom.


I'm 24 and don't have a driver's license. I have no need for one. (I live in Chicago. Fine public transit, good roads for cycling.)

I am planning on getting a pilot's license this summer, however. Unlike driving, flying is actually fun.


How can you know that driving isn't fun if you don't have a license? There are many people (e.g. all of Finland) who find it quite fun :)


I've driven before, I just didn't get my license in the required timeframe.


I am currently reading the beta ebook version of "Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages" : http://www.pragprog.com/titles/btlang/seven-languages-in-sev... My expectation from the book is to get a brief but fun tour of seven programming languages and the different paradigms that they embrace.


Five months in France learning how to make cheese.


I'm extremely interested what this entails; I've been thinking that I'd like to do something like this in the next few years. If you could provide any more information about what/why you're doing this and any insights you've had it'd be greatly appreciated.

Also my contact info is in my profile.


which kind?


I'm spending 2 months in the Pyrenees at a farm producing Tomme de Montagne and a variety of smaller sheep's milk cheeses and three months outside of Toulouse producing a variety of blue cheese.


Sounds interesting, are you by any chance blogging about it?


That's awesome.


Statistics


Self-taught? Uni course? What resources are you using? etc.


This has been my pursuit for a while. So much so that it inspired my next side project web app.


I'm trying to learn scheme with the help of SICP. (http://mitpress.mit.edu/sicp/) It's a really good book. Clearly the authors put a lot of work into it. My mind has been expanded a few times, and I'm only just into the 2nd chapter.


Upvoted game development, but it's not really terribly accurate for me. I'm currently in the middle of building a demo (as in demoscene demo) a week, which is requiring me to relearn a lot of 3D stuff I've forgotten over the years, and learn a lot of new things while I'm at it (e.g. how to write GLSL shaders efficiently in a very small space).


Chemistry, biology and ecology; time management and self-discipline; healthy vegan cooking...


Who I am (again).

Went through a long divorce and am getting to redefine how I want to be. I think it is going to be a great year.


I did this two years ago (except it was a relatively short, painless divorce). It turned out great. :)

Good luck!


Business. I'm a programmer trying to learn how to build a company that makes money. 18 months ago I really sucked at it, now I just suck moderately. It's amazed me how much it's forced me to learn about myself and other people; selling, managing and networking are hard.


I've been learning Arc. The fact that so many got disappointed and left soon after release hasn't shaken my interest (at least not yet). It's the only language since C that I know of [1] that doesn't try to protect the programmer from themself. This means you can have more confidence that any problems you run into will be your fault and not the language's.

Arc community is small right now, but the people left are brilliant. I've learned so much by listening to what they have to say, and they've been remarkably friendly to me as a newb.

[1] Please note that I haven't tried Haskell, Erlang, OCaml and some other formidible languages yet. Am I'm totally missing out?


there's 5 FP languages emerging

- scala: 2.8 beta is out, people want reliable eclipse, intellij and netBeans plugins, and more time to figure out type system; I think next couple years, a lot of developers are going to be "upgraded from java" via their VP's of engineering; s/b interesting;

- clojure: users are pretty happy; language, compiler and toolset evolving at warpspeed

- F#: people want Vis Stud 2010 out April 12 and 100% bug-free, ;-}

- haskell: people want lots more time to understand it

- erlang: users are pretty happy


> [1] Please note that I haven't tried Haskell, Erlang, OCaml and some other formidible languages yet. Am I'm totally missing out?

It really depends on what were your prior languages.

I was C/Pascal/C++/Assembly type of programmer, and Scheme (or video lectures of Structure and Interpretation of Computer Programs) have blown my mind.

Erlang was interesting and useful, but not revolutionary (to me). I should say that hot swapping is something that no other language, as much as I know, currently has. And is cool :)

I'm now learning Haskell, and I like it. First, I understood little, mostly stuff from Scheme. And few weeks ago I had flash and most stuff was easy... (Monads/Functors/MonadicTransforms) It's probably worth the energy I have spent. IMHO some time has to pass for everything to come in place.

[edit] Bunch of other languages have hot swapping: Pike, Lisp, Smalltalk, and Java


Clojure is a "consenting adults" programming language the same as Arc, and IMO has a whole lot more to offer. (sorry, PG)


Could you elaborate on what all it has to offer?

It's understandable why you'd say that, of course. Clojure has more libraries, more users and is probably more complete. But is the core language as elegant as Arc's?


(intend to look at arc any day now..)

try the labrepl, really really nice tutorial + gentle install

http://groups.google.com/group/clojure/browse_thread/thread/...

halloway's pragmatic Clojure book is still quite worth reading, but describes a slightly pre-1.0 release (if you can borrow or browse Halloway's book in a bookstore, i would do that).


Go follows quite closely in the spirit of C, and doesn't try to protect you from yourself (but also doesn't give you complexity just for the purpose of helping you hang yourself coughc++cough.


Does Node.js really qualify as a web framework? Sure it comes with an HTTP lib, but it's really more 'JavaScript liberated from the browser and a CommonJS stdlib to boot'.

Very useful for writing web frameworks, sure - but not a web framework in itself.


Clojure, Chinese, and emotional regulation in stressful contexts.


Socket programming of binary protocols. In my case, VNC.


I try to learn more about design - web/graphical and industrial design


Mathematics


That's a pretty broad area. You may want to narrow it down some.


I downloaded the SICP course and I'm working my way through it. Had a sort of mini-enlightenment on the first lecture. Related to that is breaking out the Schuam's outline on Calculus and really nailing it instead of making do the way I did in high school and college.

I'm also applying one of the principles from Sun Tzu's Art of War (related to misdirection) and looking for it in Chess, Go and some RTSs. I may end up picking up Poker and learning some things from it.


I'm spending a good bit of time with play! (http://www.playframework.org). It's Rails for Java, only more.


You should add a poll option for "Design" and/or "UX."


messaging (rabbitMQ, ejabberd, ) and async event frameworks (twisted, eventMachine,

(which tie nicely into FP languages and doc store databases/DHT's)


Taking a Masters in maths with the Open University. Usually have at least one language on the go in evening classes.


Hey everyone, I'm thinking of teaching Hindi through videos and tutorials. I'd be pleased if any of you are interested to learn this nice language. Details here: http://news.ycombinator.com/item?id=1228538.


I'm learning Erlang/OTP, Mnesia and Nitrogen in the course of building a DNS service.


Rails 3…

and typography (I consider it an important part of copywriting, not just touchy-feely stuff)


Arabic


On your own? MSA or a dialect? classical or modern training?

Feel free to ask me anything if you get stuck.


Not as much time as I'd like, but game development. I'm planning to take part in the upcoming pyweek.

Also, ocarina.


Writing, music, film. Mostly non-technical (in the traditional sense) creative endeavors.


how to stop wasting time online.


This year, java and sailing.


Sailing is a really great activity. It can be focused or cerebral as you see fit (with proper planning ahead and cooperative weather)


German


Trying to learn some Rails to maintain one of my own websites.


Virtualization, clustering, availability


To juggle. It's very fun too.


Compilers

javascript


Music


LLVM, starting today.


Simplicity.


improv



jazz? comedy? life? ;)


Csound.


Meditation


ride a unicycle


Go (the language, the game is interesting but I know I will never be good at it ;)


Hey where is the option for electronics/robotics?


Divide and conquer algorithms -- the closest thing to magic we have.


Really. How so? (No sarcasm, I'm curious).


Divide and conquer approaches show that complexity is a matter of perspective. From the right point of view, many problems become trivial, or at least tractable.

The standard example is quicksort. Sorting requires N^2 relations to be enforced, but quicksort does it with N * log N operations (on average).

Matrix exponentiation is another simple example. Take M^N, where M is a square matrix and N is an integer. Directly calculating that takes a lot of arithmetic. So instead you calculate M^2, M^4 = (M^2)^2, M^8 = (M^4)^2, and so forth. Then M^N is simply the product of at most log(N) those binary powers. (Since iterated linear systems can be written as matrix math, this lets you easily calculate their Nth iteration. Want the trillionth Fibonacci number? No problem.)

The fast Fourier transform (FFT) is a much less obvious example. It computes an N-element frequency spectrum of N data samples in O(N * log N) time. This is impressive because every input contributes to every output, so the naive algorithm takes O(N^2), which is intractable for real-time signal processing.

Even less obvious are the various algorithms based on the FFT. For example, the primary school method for multiplying two N-digit integers requires N^2 operations, which is intractable for large values. However multiplication is equivalent to the digit-wise convolution of the integers followed by carrying the digit overflows, and there is an FFT theorem for convolving in O(N * log N) time. So you can multiply in O(N * log N) time! See http://en.wikipedia.org/wiki/Sch%C3%B6nhage%E2%80%93Strassen...


NOOOOOOOOOOODDDDDDDEEEEEEEEEE


are you in sfbay? i am thinking there might be enough people interested in a little nodefest


+1 (would love to continue hacking on node-avro, coffeescript, express, etc)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: