skysight-inc/HackerNews huggingface dataset:
For routine programming, the GoF Design Patterns book will be more helpful to you than algorithms books.

But if you really want to learn more about algorithms, check out this book:

http://www.amazon.com/Algorithm-Design-Jon-Kleinberg/dp/0321...

As for programming languages, the java + eclipse combination is excellent.
Also, check out this refactoring book:

http://www.amazon.com/Refactoring-Improving-Design-Existing-...
How can you tell the differnce between a fad and an advancement?
Since nobody has figured out how to make money off their databases then an API won't heard them.
How else are you gonna pay for the ACM membership? ;-)

Really, it's a matter of making time for reading and learning. Pick up a paper sometime at night when you don't feel like coding and would otherwise watch TV. Or print it out and read it on the subway or carpool.

You also mentioned Cormen being too hard for the "average developer" and covering stuff you didn't learn in college. Cormen is intended as a textbook for later undergrads or early grad student courses. If you didn't learn the material in college, Cormen is your chance to learn it. And you have to treat it just like you're in college again - really, you can't expect to just magically know things. The whole point is to learn from it - if it covered stuff you already knew, there'd be no reason to read it.
They made ACM with digital library close to $200... ugh.
clarification: Cormen is wonderfully easy to read, relatively speaking. I learnt from Automata Theory, Formal Languages, and Computation, by Aho, Hopcroft, Ullman.
That was hard :)
Fads usually come with a fair bit of unsubstantiated hype (like RoR and Ajax) whereas algorithms (and such) are not usually hyped at all in the media (sometimes due to copyrights on their publications [journals] and sometimes due to academic obscurity, abstraction, or even complexity).
Does anybody else think this logic is crazy? I believe Facebook's two major financing rounds were for $13M and $25M (see http://www.startup-review.com/blog/facebook-case-study-offli...). Given those numbers, they couldn't have taken that much money out compared to what they would be able to take out in a $6B acquisition. We're talking like a 1:500 ratio.

And they may not "need" anyone right now, but that doesn't mean they shouldn't sell at that price or that they don't have real risks to their business. There is always risk in moving forward, and in their case, I think there is a whole lot of risk. Their perceived valuation is tied up in (a) continual increases to their traffic; (b) continual dominance in the college age group; and (c) longer-term, in their creation of real earnings. Any perception that they will not deliver on any of that and the offering prices will immediately drop off that ridiculous multiple.

Firms like Google may not care about their earnings, but I think other firms like Microsoft, Viacom, and Yahoo do, and if those firms fall by the wayside, the ultimate sell price is going to go way down. Of course, they could IPO too. But they should do it quickly while they are still hot.
I'm going to say something heretical here: I don't think entrepreneurs should base their companies off the latest advances in computer science. Problem is, many of them are really "bleeding edge", and even the researchers themselves don't know all the implications for them. Nobody has a clue where they might lead, or if anyone will ever find them useful.

Instead, you should look for the stuff that came out of academia 20 years ago but was rejected as unfeasible, useless, or just plain idiotic. Then keep an eye on economic trends that change the assumptions that made those discoveries useless. If you keep in mind a large enough set of rejected technologies and a large enough set of economic changes, eventually you'll find a match between them.

Some examples:

The architecture, performance, and programming techniques for early microcomputers mimicked 1950s mainframe technology. Many of the features of PC OSes were considered incredibly backwards at the time - no multitasking, segmented memory, assembly language coding. Yet this primitive hardware cost perhaps 1/10,000th of a 1950s mainframe and fit on a desk. This opened up a whole new market, one that was willing to put up with buggy software, single-tasking, and limited functionality.

Java consists mostly of poor implementations of ideas from the 1960s and 1970s. Garbarge collection was invented in 1960; object orientation in 1968; monitors in 1978; virtual machines in the early 1970s. Yet Java targetted the PC, Internet, and embedded device market that had previously been limping along with C/C++ and assembly. To them, these innovations were new, and performance of devices was just barely improving to the point where they were becoming feasible.

HyperText was invented in 1960- actually, you could argue that Vannevar Bush came out with the concept in 1945. But there was no easy physical way to put together large amounts of information, so Ted Nelson's Xanadu project went nowhere. Fast forward to 1991: the Internet had linked together most research institutions, and PCs were becoming powerful enough to support graphical browsing. When Tim Berners-Lee put the WWW up, there was a ready infrastructure just waiting to be expanded. And the rest is history.

PC video has been around since the mid-1990s: I remember recording onto a Mac Centris 660AV in 1993. Flash has also been around since then, as has the Internet. Previous attempts to combine them failed miserably. Yet YouTube succeeded in 2005, because a bunch of factors in the environments had changed. People were now comfortable sharing things online, and many people now have broadband access. Cell-phone video makes it really easy to record, without expensive equipment. And the rise of MySpace and blogs made it really easy for people to share videos they'd created with their friends.
Writeup of interesting VC panel at Fortune iMeme conference
thanks. I notice though it may be a bit dated - 1999.
Cool. I suggested this a while back as a feature for a startup.
Crash a social event at a school with a strong CS department and talk about your work. I bet people will be more than happy to give you pointers. The academic world is overflowing with ideas that ought to be more widely used but aren't. Academic people like it when you take their ideas and run with them.
There are no significant advances in algorithms worth looking at, in my opinion. Current hardware only supports bruteforcing things by optimizing cycles or throwing more cycles at things. You can do that by improving hardware, and that will come in any case.

Real advances only come when new _ways_ of doing things appear. And for that, just reading tech news is enough. For example, the Table Top PC.

The only really two significant areas where algorithms can still make a difference are in video manipulation / object recognition, audio manipulation and artificial intelligence.

But you'll find that in those areas, advances are usually very complex and difficult to monetize.

It's much more effective to just look at advances in hardware, and figure out what you can do on a software level to take advantage of this hardware.

But even better, look at the internet, and watch as data opens up. Use that data to create new things.
Was there image support in HTML in 1991? I thought NCSA Mosaic introduced the IMG tag later, apart from any standards process. I think the only thing graphical about browsing in 1991 was that the NeXT browser could do header, bold and italic.
Hmm, did the auction start before the TC article, or after?.

Seems like an incredible steal right now at $7500 with such a positive TechCrunch writeup and all the associated buzz that is sure to follow. I wonder where the bidding will end...$100K?
If you are interested in learning more about core technologies in an area valuable (in terms of future technology trends), I would advise learning more about networking.

Having strong networking knowledge is very useful and can be applied to cool areas of growth such as the Internet and mobile devices. I took a graduate level course in networking as an undergrad and it was one of the best decisions I've made.

If you want to teach yourself, I recommend the following books:

Computer Networks by Andrew Tanenbaum - This book is from 2002, but is still considered the Bible of Networking. It covers all of the advanced topics and is great as a reference. You can pick it up used for cheap.

TCP/IP Socket in ____ by Michael J Donahoo - This is a series of books that cover network programming in different languages. There is a C/C++, Java, and C# version of the book that I know of, but there might be more now too. These books are very concise and to the point and teach you everything you need to know to write advanced network programs.
The Dangers of a Startup
No, there was no image support in the original HTML. TBL wanted image tags that opened the image as a new document; Marc Andreesen and Mosaic pushed it through as an inline element.

The reason that GUIs helped so much is that you could click on a hyperlink and it'd take you directly to the page. There are often lots of hyperlinks on a page: it's very cumbersome to navigate between them with the keyboard. (Trust me, I spent a year using Lynx over a 2400 baud modem before we got a real Internet connection. ;-)). And any interface like that locks out the vast majority of potential users, who don't want to remember that 'g' lets you go to a url or arrows select or that you hit space (or was it enter?) to follow a URL.
Except Gopher and TechInfo already had graphical interfaces in 1991, on more platforms than the WWW, where you could click to get the information you wanted. I think it was the IMG tag that initiated a lot of the excitement about TBL's project. You could already browse words and images separately through existing information systems. It was putting them together that gave the WWW lots of momentum.
The GoF book is great as a design patterns reference (despite its age), but I would personally recommend Design Patterns Explained by Shalloway and Trott if you are new to the concepts.. Its much better at teaching you the thought process of why and when and when not to use design patterns, which is probably more important than the design patterns themselves.
Getting outsiders involved in sites: Conference examines user-generated content
My sense is that the people in charge of Facebook are happy to take big risks with their company, and I don't see why they shouldn't.

Whether the company sells now for $6 billion or tanks and sells for $600 million in a few years, they'll have a lifetime of riches. With money a less important consideration, the question becomes which would be a more interesting activity for the next decade: Building a globally powerful company that fundamentally changes how the internet game is played...or becoming idly rich?

Financial risk/benefit calculations are much different for an individual than they are for a large corporation.
Even that would be too generous. Brainfuck, Befunge, INTERCAL, and Java2k were jokes, duh, never intended by their authors to "take off" in the first place. And I think "never took off" and "waned" are both inaccurate when applied to Haskell.

I don't know much about VRML, SMIL, and Haskell, but I'm not inclined to trust this author's judgement of them.
You're right. Haskell, despite having been around a few years, is early in its life. I suppose the right title would be "12 languages that aren't wildly popular in 2007."
IEEE Magazines:

http://www.ieee.org/web/publications/journmag/index.html

"Software" and "Computer" are more in-depth and oriented towards latest advancements and practices. "Internet Computing" and "IT Professional" are more practical.
What's hard about threaded comments, exactly?
Why are you using a database, in this case? Aren't you better off serializing your tree using the native methods of your language? (e.g., with pickle.dump() in Python.)
Go to CS talks at nearby universities. Most have talks that are open to the public. These usually include "job talks" in which people applying for teaching jobs present their recent work.
Google to announce buyout of Digg.com later this month
Clarification: I was roughly talking of techniques or improvements to apply to our software design and code. Not about adopting new technology as a business strategy.
It got me thinking. After all, in 2002, tons of folks were asking the same question. Why Google, why now, when there were dozens of other search engines out there?

Why google, why now(2002)?

People need to search the internet. Google is far and away the cleanest, fastest, most effective, and easiest to use. It took 15 minutes of using www.google.com to reach that conclusion. Some people didn't realize how incredibly valuable the service was, but it was basically impossible to deny the superiority of the service. Recommend Google to anyone: Grandma, your little sister, your mac-using artist friend, an exchange student and watch them use it.

Facebook isn't so obviously superior. It has lots of great features and is well-designed, but compared to google it's very complicated to use. Restrictions on joining networks, friend confirmation steps, javascript glitches, and tagging are all evidence of a learning curve that is simple nonexistant with google. Furthermore, many of the things that make facebook effective exclude other features. Facebook is not simply a way better version of myspace, there are pros and cons.

If I had to put money on Myspace or Facebook, I'd pick Facebook, but not with the same confidence that I'd have picked google over every other search engine back in 2002.
You're measuring FB too much by Google criteria. Cleanness and efficiency matter more for search than for what FB does. FB's plan seems to be to own personal relationships the way Google owns finding stuff. That could be very big. Maybe bigger than search, maybe not. Who can say? But it will be important and they are the clear leader.
I've tried to use tools like GnuCash and Buxfer to keep track of every dollar I spend and receive. Seemed like a good idea, but I've decided that my personal finances aren't complex enough to warrant frequent checking.

The only features I want with Buxfer/Wesabe is to be able to check my balance over SMS. I don't want to enter individual transactions or manually upload QIF files from my bank's website so it should be imported automagically. Periodic reminders to pay the rent might be useful too.

Fortunately, Wesabe has a tool that retrieves your bank data and uploads it to their servers though they lack the SMS features and their site is fugly. Buxfer looks pretty good and has the SMS features, but I have to submit my bank data through a web form.

If Buxfer implemented what Wesabe has, I'd definitely use it. Maybe I'll just write something to grab my bank data and upload it to Buxfer in the meantime.
Seems like they're trading in a simple business model (give customers what they want and charge them for it) with a complicated one (try to give customers what they want while trying to charge advertisers.)
It's the best I've got...
Summary of Google Tech Talk on Youtube Scalability
If his blog posts get any lighter he's going to have to switch to Twitter.
Bazaar vs. Mercurial : An unscientific comparison (upgrade from Subversion)
Startup beats the big Four
search engines for kids have been reviewed based on visual appeal, relevance, commercial vs. educational, and ease of navigation.
I agree, although Google's goal is to create a searchable directory of the world's information, right? Are personal relationships information? I think they are represented that way online, or at least on Facebook.

It's not the best comparison right now, but I think it will grow stronger with time as their services converge--barring an acquisition by Google, of course.
If you are reading this you are not working on your startup.
Aviary Incredibly Ambitious Art Project
I don't think personal finance is that interesting in terms of the api. Maybe small business could use the API to integrate with something tracking their funding, but there are already traditional tools for such things.

I wonder if you can - just from the description of each transaction - decide what company is getting your money. If you know who is getting it, you can correlate that a database of the companies country of origin, type of business, location, etc. Then you can imagine a set of mashups you can do.

There might be some collaborative filtering that can be done as well, based on your purchases and perhaps rating of satisfaction of those purchases... This would require people to share (even if anonymously) their spending patterns.
Launch Your Favorite Web 2.0 Sites From Windows Tray
A free and easy way to integrate your favorite Web 2.0 applications right into Windows. they are always just a mouse click away. It combines a categorized and search able web directory of 100 s of Web 2.0 sites that works hand and hand with a free small piece of software you download to your computer s desktop.
Also see:

http://video.google.com/videosearch?q=google+techtalks
That's an interesting take. I'd argue that Ajax for example is an advancement, regardless of the hype -- because it increases usability of many real-world web applications, today.

On the other hand, most algorithms are not widely applicable, so might only be counted as an advancement when they're used 30 years from now in a single specialized case.

-Matt (of donna & Matt)
> Computer Science, as a field is very mature,

CS is less than 100 years old. How do you see it as "mature"?
Invitation Sharing: Why Wait Until The Website Exists?
How do you know I haven't found a way to monetize reading news.yc all day?
That goal of Google's is just the vector describing their path through the same space every other tech company exists in. They can't turn it into a line. So FB doesn't have to worry if the intersection of the extensions of their and Google's vectors are far enough away from the current tip of Google's.
Justin.tv + NeuroSky: Not just lifecasting but also mindcasting
lol, you're right! back to work!
How many times do you visit yc news in a day? I'm averaging 2 to 4.
The Myths of Innovation
Online Marketing Makeover Contest
IXm canXt wait for the release!
For a founder reading programming.reddit.com or ycnews IS to work. It's just a matter to manage to read a bit to relax and earn interesting information and then back to work instead to burn the whole day in news sites.
The Greatest Entrepreneurs of All Time
People interview people
New website where people interview each other to promote their websites and blogs.
This is a great site for getting exposure online. It lets people interview others about their projects online, be they bloggers or otherwise! It has been a huge hit since its recent release.
Could not agree more; this has become a way to slack off.
Why Startups often beat the big boys
I do it too.. sitting and reading news.yc all day... and my day job takes care of the monetization..
news.YC = talking about intending to work on one's startup. ;)
or taking a break
Sign in to AIM, MSN and ICQ using heysan! on your iPhone. 
Show some digg love please: http://digg.com/apple/Heysan_A_lightweight_approach_to_iPhon...
Mature in that there are many sub-disciplines and an extremely large academic community that studies and researches very specific aspects.
How do I convince the parents of my fiance about the success of my potentially risky startup?
Hey guys How do i convince the parents of my fiance about the potential of the startup . Her questions are around the fact that the internet is extremely risky much alike the movie making business ie it is hit driven, I have raised serious vc funding and have done a lot of groundwork for the past 2 years... do give me your idea fellow founder!?
news.YC = down-modding ALL of juwo's posts.
"gambling with time" is a very good way to put it. Not sure who gets the original credit.

I also liked one of the comments on the blog post: "Keep travelling at light speed till you expire."
HOT or NOT gets huge growth spike from facebook apps
so, it was you!

(Dont worry, I did not downmod your post here).
Wanna buy some karma?
I'd count them as an advancement as soon as they are added to the body of knowledge. XMLHttpRequest has been around for nearly a decade. A decade ago the "advancement" was there. It took almost 10 years for the fad to build up. If someone wants to know the fads (AJAX) just read prog.reddit.com and you're all set. If you want to know REAL C.S. advancements you'll have to dig a bit deeper into the literature.
Maybe an analogy is due. In the car world there are all kinds of people who strap on after market accessories to make their cars faster. These people are in the "fad" part, where as the underlying "advancement" may be decades old.
To learn about new, often relevant developments, I would do searches for stuff you're tracking on Citeseer. There is also a research paper search engine called Citeulike, which is sort of a social tracking engine for research papers.

You can generally absorb whatever is presented in academic conferences in a fraction of the time by regularly scanning research papers. It has the side bonus of keeping you periphially aware of folks doing interesting research in your field (who you often end up running into, sooner or later).

http://citeseer.ist.psu.edu/
http://www.citeulike.org/
Database for searching for by the item (news story, game, journal entry), pickle or sexprs for the individual comment threads. The database helps you manage the hopefully large number of news stories you'll get. The tree takes care of individual comments for a single news story.

Many filesystems have trouble with large numbers of files in a single directory, as you'd get with eg. pickle tree to a file per item.
Who says? I'm just waiting for my VM to boot. ;-)
LinkedIn Traffic Up, But Is It Enough?
Yeah, this is mostly about speed of growth in social networks and only looks at Yahoo 360 and Flickr. I will keep looking for the original paper and post back if I find it.
I disagree that we don't think in tiers in real life. We do - except they are called roles or titles. For instance, the typical university has undergraduate students, graduate students, professors and administrators. One could simply say that there are four tiers. The reason that we don't think of it this way is most of these institutions have grown up organically over time, or at the very least we aren't aware of the original design decisions.

Now I'm not arguing that we should necessarily replicate real-world institutions in online form, but one should at least recognize that real-world institutions (like universities) provide various measures which enforce content quality.

As for approximating real discussion, I'm not sure exactly what you mean. There are many different types of real discussion, from idle conversation about sports to academic journals about the poetry of W.B. Yeats. Although certain similar principles apply, the way in which you would model either of these would have to be different.

I'm afraid I also don't understand what you mean by an arbitrarily-tiered system. Are you arguing in favor of the reddit model?
What is Facebook worth?
It's something that the marketplace will determine. I couldn't get in on the Google IPO because I didn't have $10,000, I hope facebook does things in such a way that the average facebook user has a chance of becoming a shareholder from the start.
The question has to do with storage. I suppose you could serialize it and store in a flat file, but will this beat the DB access time, even if there is extra time needed for interpretation?
Is this what you are actually doing? How do you store the pickle output?