skysight-inc/HackerNews huggingface dataset:
I am going to be interviewing at a job where there are New Smalltalk Projects

If dead = in stasis, then computer languages are like popular comic book characters. They may die, but someone will eventually bring them back.
agreed :) I'll be working over the Xmas break.
I have changed the text - good suggestion and added a read more link instead of the whole blob.
No recession on passion. ha.
Yes, but "I am going to start a company and make loads of money." differs from sixties style rebellion.
nice block of text for someone purporting to "hate writing" :D

in any case, i don't think there's a job that distinctively encompasses "learner/problemsolver" sans the execution of the actual fix itself :(

you need to be independently wealthy and be a designer/projectmanager and commission your own ideas into reality to fill the niche role that you've defined
"I think aesthetics can be taught to many. Mostly it is a case of repeatedly showing students good examples and explaining why those examples are good. This takes time, years. I would like for programmers to present portfolios of their work, much in the way artist (including architects) have to."
How did this receive 6 votes? This guy is clearly spamming to promote efactor.com.

http://news.ycombinator.com/submitted?id=askfrasco
I haven't seen it in Frankfurt, yet. ;)
I'm in the same position as you, and I agree.

The thing I find so puzzling about the Flex Builder pricing is the dissonance in pricing from student to company. For the pro version students pay $0, companies pay $700. I interpret '$0 for students' as 'adoption is more important than direct revenue today'. But if that is so, why charge companies $700? They also have impact on adoption. A MSFT esque 'start-up deal' would seem appropriate if they must have some direct revenue. Or better still, make the standard version free to all.

I took part in an interview with Adobe a few months back regarding Flex Builder, specifically on the topic of whether I would buy it. As I said to them then, "it's too much money". Silverlight doesn't do what I need, but if it did, I'd be seriously considering it.

Why are there so few free alternatives to Flex Builder? Is it because it's so easy to pirate that no-one has bothered?
Seriously, last one. This article is the best thing I've read in probably a month or more.

" From your experience as a programmer, what is it that makes a great developer? Can you point out a few qualities, both technical and personal?

Curiosity, initiative, tenacity, ability to reason logically, ability to communicate and to work with others. That’s not at all special for programmers, I’m afraid. Also, I strongly prefer to be around people with a sense of humor.

Your advice for young programmers -- or for not-so-young programmers?

Programming is part of software development. It doesn’t matter how fancy your code is unless it solves the right problem and you can explain it to others. So, brush up on your communication skills. Learn to listen, to ask good questions, to write clearly, and to present clearly. Serious programming is a team sport, brush up on your social skills. The sloppy fat geek computer genius semi-buried in a pile of pizza boxes and cola cans is a mythical creature, best buried deep, never to be seen again.

Learn your first language well. That means trying it for difficult tasks. Don’t obsess about technical details. Focus on techniques and principles.

Learn another programming language; choose any language that’s quite different from what you are best acquainted with. You can’t be a professional in the IT world knowing only one language. No one language is the best for everyone and for everything.

Don’t just do programming. Computing is always computing something. Become acquainted with something that requires your software development skills: Mediaeval history, car engine design, rocket science, medical blood analysis, image processing, computational geometry, biological modeling, whatever seems interesting. Yes, all of these examples are real, from my personal experience. "
Oh no, it is dead again !?
Varnish:  Notes From The Architect
...some people take a very scorched-earth approach to argumentation, and if lying about having tried Linux bolsters the argument, in it goes, regardless of whether it's true.

I find this idea onerous, though I strongly suspect it's true.

I wonder if someone could start a public forum that's a "Truth Zone?" Is it even possible? Wikipedia works well enough. Maybe their techniques would enable this?
The article misses the point of backward compatibility for java. Consider a company that has desktop (Swing) applications that were written in the 1.2 or 1.3 era. That company can upgrade to 1.6, and use 1.6 applications alongside those 1.3 applications. However, a java that wasn't backwards compatible would either have to keep some way to identify legacy code and run the old JVM, or they would have to force the new language into the backwards compatible JVM, where cruft has also developed.

BTW, I haven't looked at python 3 yet. How have they adapted to two pythons on the system?
Charity on the OSS Model
You are correct! It is the 800 point difference which comes out to roughly 99:1. Finally, took the time to calculate correctly from: http://en.wikipedia.org/wiki/Elo_rating_system
I get things done when I'm interested in the answer. But once my interest stops, it grinds to a halt. And I mean grinds. I have so many unfinished things. Screen plays, novels, business plans, blog posts, ideas.
Wi-Fi In-flight -- Brings out the Poet in me
I agree with the principle, but Adobe's offer a free download and a 60 day trial license, so the risk of trojans can be be entirely mitigated for pirates.
Linux, preferably of the Ubuntu/Debian persuasion

I have a Windows partition on my laptop for some work stuff and to help with Windows support, but I almost never boot it. I generally just work from memory on that stuff.
"since they don’t yet offer OAuth"

OAuth wouldn't solve the problem though, it'd just move it somewhere else.

Use a different login for each site - use a password manager.
More Than 650 International Scientists Dissent Over Man-Made Global Warming Claims
I fear such developments hurt hackerdom at large by playing to the mainstream stereotypes.
Interesting thing on Google's hiring practices:

"I like to hire people who have two traits. They’re smart, and they get things done."

"Smart people who aren’t closers tend to flail. Small startups get rid of these people fast because they stand out. But sometimes they can find a place to hide in larger organizations where they fester like a cancer."

I freely admit thats me. And that the problem. I don't want to be a cancer. I know I don't execute, and I don't expect to get paid for failing at it. Which is probably why I'm working drudge work. I know I won't let anyone down. It allows me peace of mind with what I do.
That's a good point. OAuth would at least centralize the problem towards a more trusted source and limit the number of places the credentials would be stored. I trust Google or Facebook to have more safeguards in place than a webapp that popped up yesterday. As for password managers, I totally agree people should use them, but as a practical matter, most non-tech people do not.
The Amazon Associates program has a bunch of limitations on how affiliates can promote Amazon. Their current stance on the mobile channel is not unique in that regard.
This is very, very old satire. If this really is a recently received email, then the person who responded got punkd. I'm gonna go see if I can located the oldest such letter.
HAHAHAHAHAHAH oh!
You'd be surprised at how stupid people can be. Every time you say "but no-one could be that dumb", someone somewhere will prove you wrong.
FYI, number 7 - "nasza klasa" ("our class") is from Poland, a start-up similar to Facebook.
If anything this article makes me more convinced global warming is a real problem, not less. It has the tone of an infomercial, and they seem to have had to dig very deep to find people to quote.
Yeah, sometimes I wish wikipedians weren't as strict on those rules....
Sex, censorship, and the Net
Government-funded radio, U.S. versus Canada
That line alone tweaks my fake-o-meter the most...
Would You Pay for a Web App That Delivers the News?
Another programmer blog by someone who hasn't heard of Don't Repeat Yourself yet.

A lot of this stuff just boils down to Don't Repeat Yourself. If all substantial ideas in your codebase are only expressed once, then changing your mind about any idea in your system is easy.

http://en.wikipedia.org/wiki/Don't_repeat_yourself
Social networks that matter: Twitter under the microscope
Makes you wonder: just how close to human does a robot have to get before it is a suitable replacement for one?

Not that this question is at all original of course.
thanks, I agree with you on all your points. I just assumed all ORMs were like that :)
How many gas stations are in the US?

Correct answer: Over 9000.
Sweet she cribbed Joel Spolsky

http://www.joelonsoftware.com/articles/fog0000000073.html
The real question is not can you do this job but are you useful aka worth the time and money it's going to take to employ you. Which is the point of the other questions.

Basically, they want to know how useful you are for this job and if this project tanks are we going to need to fire you or can you be used to do some other task.
I use similar apps, plus emacs. I switched about a year ago and have been happy with VMWare, though you do need to max out your RAM. Swapping can take a few seconds sometimes.
I use a Mac Mini plus double-angle keyboard and external monitors bigger than any laptop screen. I wouldn't go back.
Agreed on the password manager. I've got 1Password in Safari, and the "Generate Password" option is so easily available it becomes second nature.
That's a seems like a weak form of the Turing Test. Instead of being indistinguishable from a human you just need to be a suitable replacement.
That's weak. He should have HN on the big monitor, and the code on the laptop.
Amazing...thank you! Are there any other specific groups that you'd recommend (any python groups)? I'm planning on moving to Fairfax, VA in the first quarter of 2009, so I want to know what would be a good way to get familiar with the area (tech-wise) and to meet some people. You can also use my contact info listed in my profile.
My opinion might stray a little bit from some of the answers here. I don't think a CS education is complete without an understanding of how the whole stack works.

So work through the Scheme lessons in SICP or HTDP, it's a fun and playful language! You can easily build interesting algorithms and watch them in action to get a better feel for how computation behaves. You will also be introduced to FP which will help you in the long run as a dev.

From there I like to think of two directions you could explore.

Down => compilers, OS design, processor/memory/machine architecture, networks, circuits, physics.

Up => automatons, language theory, complexity, ways to mitigate complexity (approximation, optimization, AI).

Sideways => the wide world of application programming.

It depends on what tickles you...but in my opinion a basic understanding across the spectrum will provide you with the framework to explore more specific areas without feeling lost.
You trust Google to control all your logins ;)
I have a cautionary tale to tell about that one...
Check out usertesting.com. I have had a lot of success using their service. For about $19 you get a screencast and talk track of a user trying to complete certain goals (that you pre-determine) on your site. Its not perfect, but it is a great way to get insights from 3-5 users that you can then use to create a larger survey for the rest of your user base.

My experience with surveys is that the more open ended you make them, the less valuable the feedback is. I would try to come up with 4-5 questions tops. Its a good idea to try and figure out what the theme of the survey is upfront (i.e. on core thing you want to be able to figure out from the survey data). Some businesses try to cram too much into a single survey- I have had more luck with shorter surveys more frequently than less frequent long surveys. Also, multiple choice and "rate on a scale of 1-10" questions have worked better for me than open ended text boxes.

As far as the audience for your survey, unless you have a very large user base you should send it to everyone. Responses rates on surveys tend to be pretty low and you want to make sure you have enough data to draw conclusions from.
Speaking as another history undergrad, here's what I've found helpful:

Read HTDP (http://htdp.org/), SICP (http://mitpress.mit.edu/sicp/), and/or CTM (http://www.info.ucl.ac.be/~pvr/book.html), and do most of the exercises. They're all huge books, but getting even halfway into any of them will cover a tremendous amount of material. Also, they focus on largely complementary material, and each may help clarify concepts you find puzzling in the others. Also, HTDP is probably the most approachable of the three. (The first two are available online, the third has a draft PDF floating around. There's something to be said for a hardcover on your desk, though.)

Also, find something you're seriously interested in and program for it. With an undergrad in history, you have quite a few niches to draw upon that most CS grads don't. (Python is one reasonable language for this. People will debate this endlessly, though; picking something and actually doing it is more important than getting bogged down in worrying about language differences, for your purposes. Having libraries relevant to your niche is also important.)

You will almost certainly need to learn C somewhere along the line; it's a good candidate for the lingua franca of algorithms. _The C Programming Language, 2nd ed._ by Kernighan & Ritchie is the book, and for good reason. Learning C will also get you intimately acquainted with many mistakes people frequently make, which will help hone your testing / debugging. (This is the upside of C making it easy to shoot yourself in the foot, I suppose.)

For math and algorithms, take your language(s) and dive in at Project Euler ( http://projecteuler.net/ ), a series of math puzzles. Have fun with it, and dig deeper into any questions you don't understand or can't code a reasonably efficient solution for. The algorithmic insights will come when you read other peoples' solutions that solve the problem 1000x faster. :) Also, comparing both idiomatically similar and fundamentally different solutions to the same problem across several languages can teach you quite a bit.

For data structures (which you didn't explicitly mention, but will need along with algorithms), I found learning OCaml (via http://caml.inria.fr/pub/docs/oreilly-book/ ) most helpful. ML is an excellent language family for expressing complex data structures, and a little experience with it will probably make thinking about them clearer, regardless of what language you're working in. (Other people will probably have better book recommendations, though.)
Pick a goal first:

"I want to write an operating system"

"I want to write a video game"

"I want to write a raytracer"

"I want to write new firmware for my TV"

Then do it, learning what you need along the way. Forget "CS", just do it.
I think so. I had a girlfriend whose dad was an ex-military test pilot. Judging by all the flight manuals in the garage, he flew pretty much everything in the USAF inventory.
Anyway, although he and I never had much of a conversation, she said he was always very interested in what I was working on (medical software). He just wasn't very talkative outside his immediate family.
Shamelessly plugging a little site I put together a couple months ago in hopes of inspiring more stories of this form (inspired by a Wired article): http://sixisenough.com
Dumb people that don't do anything.
Keep posting threads here asking for tips.
I cetainly don't trust them to control all my logins. But my level of trust for them is much higher than for most in terms of their ability to secure their databases and applications. I use different levels of passwords, depending on the type of site: nytimes.com < gmail.com < bankofamerica.com. I have tried to use password manager, and am currently trying one out on Safari, but the use of many computers makes it difficult.
Do no evil?
Sounds like that would make it much harder to switch browsers...
Or at least protect their ass from those that are evil.
How do I find a job I could love for the rest of my life?

You can't. You in 10 years may - probably will - be a different person. You have to make choices now that keep your options open, yet at the same time don't get paralyzed by indecision. Good luck!
Go for it!

I tend to spend huge amounts of time online during the holiday season. (This time, I'll be building the project I should've built the same time last year)...
Try browsing through both "The C++ Programming Language" and "The Design and Evolution of C++." You stated you're not a big fan of C++, but you might get something out of what Stroustrup has to say - I do.
Get Out There And Fail
Speaking only of 1Password, they have plugins for most, that share the same database. Also syncs to my iPhone.
Trouble in the 99 Cent App Store
Actually, from a friend who actually specializes in COBOL: the number of lines of COBOL in production use are actually increasing due to regular maintainance.
The question that most highly correlates to getting hired is: "Hey, friend-or-acquaintance, my team at BigCo is hiring. Are you interested?"
The language war is important because deciding on a language for a project is one of the most important decisions. I can only use so many languages myself, so I rely on the ongoing language wars to produce enough discussion for me to figure out what's useful for new projects. So, keep up the language wars!
Sony Ericsson W550 
The W550 is an exciting product that combines music, imaging and game playing to offer consumers fun and entertainment. This phone is great and simply amazing. It is a must buy phone for music freak persons.
They ask me for a prescription.
Better question: How often do people treat the people around them like robots?
"How many gas stations are in the US? [...] the best response is to compliment the interviewer on offering such an interesting and intriguing question, then say 'I don’t know.' Offer to research the answer and get back to her or him."

Actually, this is a fermi problem. [1] The purpose of this question is to figure out if someone can break a question down into parts and estimate reasonable values. But even more so, it is supposed to test whether you are enthusiastic about strange and puzzling problems. [2]

Whether you think these questions are stupid or not, the right answer isn't "I give up, just google it", but rather "let me make some assumptions and calculate a value based on some estimates"

Having said that, I think the number is arround 100,000 [3]

[1] http://en.wikipedia.org/wiki/Fermi_problem
[2] http://www.joelonsoftware.com/articles/fog0000000073.html
[3] http://www.uh.edu/engines/epi975.htm
The job description you want is basically "tenured professor". Unfortunately, getting there is tough, and requires that you "close" at least one major project (your Ph.D).

I was like this all through school and college. I hated writing. I loved learning. I absorbed all these textbooks, aced the tests, rarely finished a project (or my homework), and hated writing.

But sometime in college, I'd made a commitment to redo the backend of a volunteer website I cared about very much. And I felt like I'd be letting all my friends down if I just gave up on it.

That first completed project was torture. I never wanted to see the code I'd written again, and wanted nothing to do with the website after I'd worked out some of the worst bugs. But the second completed project (a Netbeans plugin for my job) was easier, and third (Write Yourself a Scheme in 48 Hours) was easier still. The 4th got harder again, and I needed help to finish it, but then I did a bunch of other websites that were fairly easy.

The part of the brain that "gets things done" seems to be different from the part that's "smart". (I've heard the former called "executive function", and it often doesn't develop until your 20s.) And it's like a muscle - it gets stronger by exercising it. I've found it also gets tired like a muscle - I usually work in bursts of 1-2 weeks, and then I need a week or two where I have a light workload and am basically just learning new things. But a whole bunch of these cycles, over several years, can add up to a decent number of accomplishments.

The real hump is that first completed project. And I don't really know a way around that other than to keep coming back to it and refuse to give up.
TDD: I Want to Believe
Submit Killer jQuery plugin
Java is still the best programming language for some problems (and I say this as primarily a C++ and Python developer). For some larger-scale projects, performance requirements mean that scripting languages aren't going to cut it. The decision is then between C++ and Java, assuming you are not developing on Windows and you want a reasonably popular language. And between those two, everything you say about how Java sucks is correct, but C++ is arguably worse. In particular the combination of crashes without stack traces and the pain of maintaining separate .c and .h files.
No, there will never be a good time to launch an application. Ever. We're all doomed. The future is in startups that target the cockroach market. Suggest you form a company based on random cheese, or find a way to turn stupidity into lollipops.
The future of search: Do you ask Google or the gaggle?
I'm going to repost my e-mail response to you here, in case others are interested:

As a first step, I've bought Discrete Mathematics book and reading it for last two months.

Good.

What should I move on to once I understand Discrete Maths? Straight to algorithms? How do I approach algorithms?

I'd actually start with data structures, but this can be tricky as I don't know of a really good standard datastructure textbook. We learned mostly from professor's handouts. We did have a textbook - Data Structures and Algorithms in Java by Goodrich and Tamassia (http://ww0.java4.datastructures.net/) - but its quality was spotty.

I also learned some from "C++ Components and Algorithms" by Scott Robert Ladd (http://www.amazon.com/Components-Algorithms-Scott-Robert-Lad...). This is old - it's what I first picked up when I was 15 and playing with MUDs - and a little basic, but it got me started.

Cormen also has a lot on data structures, but the level of presentation is pretty high. It may be easier to combine it with another source.

Also, the C2 Wiki has some great pages on data structures and algorithms: http://c2.com/cgi/wiki?DataStructures

I mean should I understand every proof written in Cormen's book? I'm confused as to how should I approach this.

This will take you a long time - I don't understand every proof in Cormen's book, I just go back to them as necessary. I'd start by understanding what's going on under-the-hood when you use standard library datastructures - linked lists, vectors, heaps, trees, hashtables. Once you've got that, go on to understand the variations of these, eg. the half a dozen or so different collision-resolution strategies used in hashing.

When you've got that, take a look at some of the more advanced data structures in there, like binomial and fibonacci heaps, skip-lists, B-trees, etc. And somehow make time for graph algorithms, they come in handy.

What other math books should I be reading?

You should make time for Structure and Interpretation of Computer Programs (http://mitpress.mit.edu/sicp/). Other good theory books: Concepts, Techniques, and Models of Computer Programming by Peter van Roy, and Types and Programming Languages by Benjamin Pierce. As for math - it's good to know some set theory and mathematical logic, but I wasn't a math major so I don't have good recs in that area.
He recanted.

http://www.joelonsoftware.com/articles/fog0000000245.html