skysight-inc/HackerNews huggingface dataset:
Thanks for the solid comparison, it's a breath of fresh air. We're working on the mobile platform SDKs right now, should be rolling them out all through 2011.
1. MongoDB - I see several people also listed mongodb but I particularly want to mention the simplicity of setting up the database and using the API.

2. AndroidOS - It came out few years back but it really took off in 2010. I can’t wait to see the new features for 2011 and how it’ll fare against iOS.

3. Python - even though I’ve been using python for several years I’m still constantly surprised by it’s core features (recently coroutines) and it's plethora of awesome third-party libraries.
Most of these are not new to 2010 and some are quite old, but here goes:

- All the Amazon offerings. They are innovating like crazy and improving and expanding all their offerings all the time.

- Compass/SASS/SCSS - All the pain gone from CSS

- Capistrano - All the pain gone from software deployment

- Apple laptops & OS X. A bit on the clichéd side now but it really makes my life easier.

- SSDs. Damnit I really need to buy one of these things. After having tried them out it's hard to go back to spinning platters.

Also things I wish I'd worked with but haven't had the chance yet:

- anything in the CNC milling, laser cutting, desktop fabrication and 3d printing fields. This is a huge area to watch.
Parent is arguing that TSA means fewer flights, which means less shit being burnt in the atmosphere; that this is a net benefit for the planet.
Rails 3 and HTML5
Nice to see this sort of thing. I was worried it was extinct.
Yahoo still has a few monster properties with metrics that competitors would kill to have: Mail, Sports, News, and Finance are the biggest ones.

This data is 18 months old but is still directionally correct. http://gigaom.com/2009/07/16/yahoos-number-ones-so-much-more...
I wonder if that part of the ToS would hold up in court. This guy could have achieved the same effect by simply publishing some of his financial records, especially if he was going for transparency; anyone would be able to see his revenue report with an itemized entry that looked like "Ad Click Revenue - 152,380 clicks @ $X per click = $Y (50% of total revenue)". Can you actually sign away your right to publish such reports without redactions?
Ah, I was hoping AutoCollage was going to be free but guess not.
+1 for mentioning the awesomeness of Groovy and that you can fall back to Java if you have to or if you like to.
How To Manage Stress With Music | Art&Biz Community Entertainment
Quantcast has a similar list too: http://www.quantcast.com/top-sites-1
Startup Lessons: The Fallacy of Customer Development
Clarification: The engine is the only thing that is FOSS (i.e. everything in the flixel-ios directory. https://github.com/ericjohnson/canabalt-ios/tree/master/flix... ) The rest is proprietary[1].

[1]: https://github.com/ericjohnson/canabalt-ios/blob/master/GAME...
I have more respect and interest in creative activities that are far beyond what computers can do.
AppEngine is adding an SQL/relational database to their service in the near future.
Native code can be shared on all platforms except for WP7 if written properly.
I'm definitely going to have to take time and truly study your book ... It's got tons of info. Best thing is, it makes so much more sense than most of my college business books. I've already used it to study for business reports. Thanks for all your hard work!
Submit a Site - StumbleUpon
I was trying to get into Kohana but I just couldn't find any good guides to get started and to show me all the various features.
Yes! I thought that was one of the key insights of the article too.

A similar example that shows the strength of great organisation is a famous 1999 online chess match known as Kasparov versus the World. In that game Irina Krush organized the world team well enough to take Kasparov to 62 moves and nearly won the game.

To quote him:

It is the greatest game in the history of chess. The sheer number of ideas, the complexity, and the contribution it has made to chess make it the most important game ever played.

http://michaelnielsen.org/blog/kasparov-versus-the-world/
Also:
* integrating fork-join!
We just need to tap into the accelerometer, do an FFT and low-pass on the microphone, and check for a correlation between the frequency of a rhythmic acceleration and the frequency of grunting.
You mean like chess, circa 1994?
Please keep in mind the type inference systems in Haskell, Ocaml, Scala, etc are much more advanced and useful than C++ 0X or C#
Python only has single line lambdas.

Rumor control. While it is true that the lambda construct in Python is only one line, Python allows you to define functions in any scope, and pass those functions around. They are full closures. So anything you wanted to do with multi-line lambdas you can.
Every developer who has ever used the Android VM should know that testing on it IS NOT a bulletproof test. Sometimes things work on the device which aren't working in the VM even if it is the same version, resolutions and so on.
Sometimes things will work in the VM and not on the device.

You don't believe me? Go on and try to stream a video on a Android 1.6 VM.

BTW: I'm developing a iPhone App in my spare times and a Android at work.
NLTK and Python.. For my thesis purpose.
it is universal method indeed
What The Latest Online Content Buying Numbers Really Say
Does anyone else also feel that the traditional sources tend to be rather negative in their opinion?

Take the Gladwell piece, for example. I won't disagree with that FB activism can be "shallow", but perhaps this is just the way it will be in the future. Maybe the future will hold less idealism than the past. All that moralizing and holier-than-thou attitude is a bit much.
Writing a chess program is a creative activity :)

What computers 'can do' is limited by our imagination and our ability to express ourselves. As Kasparov points out in the article as soon as IBM had the publicity they wanted (to win from the best human chess player at any cost) they scrapped the project.

But the contest was meaningless the way it was posed anyway. Personally I think that the best way to deal with the situation would have been to 'handicap' the computer to use the same amount of resources that the human has access to, so a given power budget and no access to pre-programmed libraries. That would make the contest much more interesting, and more importantly would drive forward our thinking about solving this sort of problem in an intelligent way instead of using the sledge-hammer of brute force.
I live in China and use Skype often: Skype-to-skype calls work no problem, but Skype-to-phone calls are indeed blocked. Skype-to-phone calls work on the first second or so, and then the call sounds like "scrambled" (for a lack of better word to describe), very noisy so you cannot hear the other side. I make Skype-to-phone calls using a VPN, which works just fine.

You can make Skype-to-phone calls with Tom-Skype (the Chinese Skype partner), but you need to buy credits through their system.
Textmate 2.0 - All the new features
The phrasing was a little misleading; a lot of people will be annoyed at such a move, but that is not to say that many other people will embrace it.
Hmm,

That a good list.

The thing is, the job I had that fit that bill wasn't Big-Company, or even Big-Contractor-To-Big-Company.

It was the one man operation. One man in the sense that he got ... well everything since his behavior fit your quite exactly... everyone else... wasn't there...

In fact, the one-psycho operation have an easier time being like thisthis, since they don't have to worry about liability or etc.

... just one thing to add to the list. At the same time as you do all the other stuff, claim that the person should be doing everything without putting in undo effort. Say soothingly, right after a psychotic fit, "...relax, you should be more relaxed..."
Duplicate of the post that was killed at

http://news.ycombinator.com/item?id=2047486

Oh and as a Textmate user, I do wish it was true :)
The upper levels are definitely not relaxing...
A Kinect might be a useful tool here, as well.
Meeting people. It's not easy and it's not fast, but if you can find an interesting and relevant meetup, or user group or some-such you can start talking to people doing interesting things.

Local technology associations are also good sources. I'm in Waterloo, where there are organizations like Communitech (http://communitech.ca) and Canada's Tech Triangle (http://techtriangle.com) that offer social events and whatnot. Also, if you're really bored or motivated, you can go through their membership lists checking out all the companies in the area and see if they're doing interesting things.

Look for Camp events in your area too. DemoCamps, StartupCamps, BarCamps, FooCamps, yadda yadda.
- CLR, android

- common parse/highlight backend for emacs, vim, eclipse etc

http://dev.clojure.org/display/design/Home
Yes! I first laid hands on Redis this year while working on Notifo and it's raw speed lets me do some great things. Currently hacking on some service analytics stuff that redis is making pretty easy. Though keeping everything in memory can get expensive when we want to minimize server costs so we keep the first month of data in redis and the rest as an archive in mysql (how often is someone going to look up a notification they received more than a month ago?)
Best in class = Clojure linkbait

I've yet to see a 'best in class' (what a way to name your self best in class anyway) post that was both correct and interesting, if they're interesting they tend to be factually wrong and if they're factually right they are boring.

The titles do make you want to click though, that's the one thing they have in common.
To make 0MQ work with libev, get the file descriptor for each 0MQ socket:

zmq_getsockopt(socket, ZMQ_FD, &notify_fd, &notify_fd_size)

Then just pass notify_fd to libev, or libevent, or epoll, or whatever event library you prefer. Very pleasant and easy, but not yet officially documented last time I checked.
http://goo.gl/l5v0b
http://goo.gl/l5v0b

http://goo.gl/l5v0b
http://goo.gl/l5v0b

http://goo.gl/l5v0b
http://goo.gl/l5v0b

http://goo.gl/l5v0b
http://goo.gl/l5v0b

http://goo.gl/l5v0b
http://goo.gl/l5v0b

http://goo.gl/l5v0b
http://goo.gl/l5v0b

http://goo.gl/l5v0b
http://goo.gl/l5v0b

http://goo.gl/l5v0b
http://goo.gl/l5v0b
This is actually really easy to do in c#:

public static bool operator true(Class c)
{
return c != null;
}

public static bool operator false(Class c)
{
return c == null;
}

To avoid redoing this for each class you can just derive from a base class that implements these.
No; in fact, the game images and sounds are not free, but everything is open source and available for looking at (except the high scores code, which they left out to prevent cheating (explained in the blog post)).
Predictions For Electronic Music Making In The Next Decade » Synthtopia
-------- http://bit.ly/eTAvV5 --------

-------- http://bit.ly/eTAvV5 --------

-------- http://bit.ly/eTAvV5 --------

-------- http://bit.ly/eTAvV5 --------

-------- http://bit.ly/eTAvV5 --------

-------- http://bit.ly/eTAvV5 --------

Gold autumn, personality Men’s clothing Shoes,
Travel bag that grabs an eye coat Chao packet
Free transport

-------- http://bit.ly/eTAvV5 --------

-------- http://bit.ly/eTAvV5 --------

-------- http://bit.ly/eTAvV5 --------

-------- http://bit.ly/eTAvV5 --------

-------- http://bit.ly/eTAvV5 --------

-------- http://bit.ly/eTAvV5 --------
This exists in ømq 2.1 (https://github.com/zeromq/zeromq2/tree/v2.1.0). You can get access to the raw socket, which allows you to plug it into anything that understands sockets. This is what was done for zeromq.node to tie ømq into node.js.
When you say "multiple" and "easy" what exactly is the implication there? Worrying about 5-6 revisions of an API or 30-70 variances of the same problem on multiple pieces of hardware with multiple variances of platform debauchery forced upon you by a given mobile carrier?

It just isn't possible to make the case that this aspect of android doesn't make things harder and still retain any semblance of honesty or credibility.
I think any project growing at the tremendous rate that Clojure has done is going to need significant process issues in managing all of the stuff people want to add/fix/doc/integrate. I can't even keep up on the libraries people are creating around Clojure, much less the pressure the core must be under.

It's hard to do both new dev + maintenance on any big project, much less a language so many of us feel personally invested in. Looking back to this time last year, there is a lot more infrastructure in place and on the way that builds a base for managed growth. I'm hopeful that once process stuff gets smoother it will be easier to streamline and offload some of that work. If Linus can do it, Rich can do it too.

The patches I've contributed to core have gone in (or been bounced) appropriately in reasonable time frames. One bug I submitted even got a patch from a first time contributor! That's good stuff.

Chas and everyone else in the community, many thanks for the tremendous efforts this year - I can't wait to see where we go in 2011.
I found that RailsTutorial explains Ruby well enough that I didn't need to learn it separately from Rails. The author covers Ruby concepts not found in PHP (such as ranges and symbols) in chapter four. Everything else could be filled in by looking at the online documentation.
Good post, one small issue though, "type inference, which you can do in any language", is not really true. Once you get dynamic enough type inference becomes nearly impossible (Cannon, 2005: http://www.google.com/url?sa=t&source=web&cd=4&v...)
Why Microsoft Should Buy Nokia And Not RIM
For WP7, the officially supported languages are C# and VB.NET. That being said, because it is just running Silverlight, you can try running any .NET language.

For example, there are a few people running F# on Windows Phone 7. I haven't tried it myself, but here is a link to templates for game development with F# on WP7:
http://sharp-gamedev.blogspot.com/2010/12/project-templates-...

Here's an article on building a WP7 app with IronRuby:
http://msdn.microsoft.com/en-us/magazine/ff960707.aspx
While this isn't as fast as it could be, because you can't access Reflection.Emit to JIT method bodies to native code, it does show you can run Ruby in a WP7 app.
How Apple Reinvented Music Distribution
Jekyll (https://github.com/mojombo/jekyll)

First touched it two months ago just to tinker with but didn't really do anything with it. Then after numerous frustrations with my current blogging setup, I spent the last 5 days hacking on it over the holidays and I think it's almost ready to launch. Had to do some custom stuff that I'll write about in a post. It's extremely hackable and I love it. The only thing that doesn't work for me is LSI for related posts. Even with a fast computer and gsl/rb-gsl it still takes 10+ hours with my 1,000+ posts. Anyways, having a super fast site is going to be a breath of fresh air. Google was saying 88% of sites loaded faster than mine ( http://paulstamatiou.com ), though likely due to the images in many of my reviews.

Also installed Google mod_pagespeed and all is well so far.

* Though to be fair most of that is just my redesign that is more minimal, less ads, etc, but there's something extremely attractive about simple, flat files. No worrying about if your database will get corrupted. Everything is in git..
It's also a surprising appeal to authority logical fallacy. Those people don't work there anymore.

(not that I disagree with them that they shouldn't censor the findings)
Who the fuck goes to adobe.com?
Big difference between open-source and free, at least as you mean it. As the Readme says:

"The code contained within the 'flixel-ios' folder is licensed under
the terms of the MIT license."

which allows redistribution. The next paragraph says:

"All other source code remains copyrighted and licensed by Semi Secret
Software, LLC under the original terms. See the Game license
(filename "GAME_LICENSE.TXT" in this archive) for more
details. With the exception of code contained in the 'flixel-ios'
folder, you cannot redistribute our source code from the original
game. You can use our source code for personal entertainment or
education purposes."

So, the code in flixel-ios is FOSS (you can redistribute it,) but the code outside of that directory is source available only (no redistribution.)

Edit: Proprietary software is "...computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, but restricted from other uses, such as modification, further (re)distribution, or reverse engineering.

"Closed-source software, or software distributed without its source code, is proprietary."
And don't forget basemap if you're doing anything geospatial. This is an absolute godsend for me, I wish I knew of alternatives in other languages too, but as far as I know there's nothing else like it for that sweet spot of free and awesome ease of use.

(Not that I mind writing in Python of course! It would just be nice to have similar options when python might not be an option)
When you have an economy on the scale of China's you can afford to lag the cutting edge. A captive market of 1.3B people makes up for a lot of inefficiencies.
beanstalkd

I've worked with MongoDB, Cassandra, and a host of other tools, libraries, databases, and frameworks, but beanstalk is the only one to never fail me. It's not a full swiss army knife like Redis or the sexy app of the year like MongoDB: beanstalk does 1 job and does it, as far as I can tell, perfectly.
I agree with most of your point, but have to quibble with the assertion that computers are not "better" at chess. Deep Blue was able to beat arguably the greatest chess player ever. Computer chess programs today are far stronger than Deep Blue, and could almost certainly defeat any human player. The way they decide moves is different that humans, but it is also objectively better at achieving the goal (of winning).
Not only do we do so with a much smaller number of people, but certain industries seem to dominate the export scene (e.g. aerospace) and more than that, our dynamicity in manufacturing is no longer there.

The hot fields, like where our iPads and their batteries are made, is focused in places like Japan, Germany and China, where the former two make the interesting components and the latter is where it is assembled. The interesting work we do is in the high-level engineering and design of the devices.

What are some interesting things we build here? People cite cars, but for a lot of that, the design is done overseas (e.g. Toyota). Airplanes, medical devices and heavy equipment aren't exactly fast moving fields.
Part of me is fascinated that someone would actually do something like that, part of me is horrified. For now the horror seems to win out. The price seems pretty excessive and in the end the only thing that changes here is the interface that you use to get the information. Want to know where magnetic North is ? Get a compass and look at it. That will tell you. A flux meter will tell you all you will ever need to know about the magnetic fields around you.

Our eyes and ears are high bandwidth and using custom made sensors that output images and sounds that we can interpret we can enter a very large amount of information about our environment without so much as a drop of blood.

To literally have a 6th or 7th sense is very interesting but it really is just another low bandwidth channel that can easily be simulated using some tech and our existing sensors.
You need to guard your assumptions, but you can do type inference in any language.

Take a look at "Declarations as Assertions" section in SBCL manual as well.
it's browbeating, a cornerstone of academia
He doesnt really address the obvious retort it most resembles the 20th century.
They forgot the most important Emacs feature: you get the opportunity to grow an extra finger. It comes with the .deb package.
At a power budget that literally dwarfs the power expended by the human. At the current state of technology it is an uneven match by a significant margin.

Computers are 'better' not when they reach the goal via the same path as humans do but when all other factors being equal (size, power consumption, access to pre-programmed data and so on) they beat the best human player. And I don't think we're there yet, deep blue was not a universal computer by any stretch of the imagination.
Instead of testing on 5+ devices for Android, you just have to buy an old iPod touch with 3.1.3 on it. Is it too costly for you?
How is this a major fragmentation problem? This is a story trying to point out fragmentation issues but only points to one problem (testing on iOS 3.1.3). There are many more fragmentation issues with Android than this one story.
Varnish, the reverse proxy, has been my favorite new-to-me technology of 2010. It sits in front of Apache and caches static content (or anything really) based on rules you define in the Varnish Configuration Language (VCL).

Varnish is cool because it is very fast. It was written by Poul-Henning Kamp, who has a lot of experience in FreeBSD kernel development. He makes effective use of virtual memory, is careful to avoid memory operations that result in expensive bus transactions on mutli CPU systems, and knows how many system calls it takes to serve up a cache hit. All of this work has paid off. Varnish can turn a plodding CMS into a site that screams, and your profiling tools (siege, apache ab) will fall over before the site does.

Of course it helps if your CMS supports cache control headers, and isn't utterly laden with cookies, but that's where the VCL language comes in. You can write code to strip bogus cookies (like google analytics) coming from both the client and the server which vastly improves your cache hit ratios.

I like the way Varnish uses a shared memory pool for statistics and logging -- a wealth of information about the system is available to you but it doesn't generate a ton of I/O logging it to a file unless you ask it to. I love how you can use the telnet admin interface to compile new VCL code into a running system and then switch to it, while keeping old named configurations around in case you need to revert back.

Varnish has really helped me make slow sites fast this year, although it hasn't happened without some VCL coding effort and some understanding of how the sites operate.
> Unit tests are useful, but only as part of a larger testing strategy.

I agree, but I think you're making my point for me. TDD and unit tests alone are not enough, which motivates further developments like BDD.

I think we can apply an analogous argument even to a BDD process, because there are many advantageous properties code might have that can not be determined effectively using a finite number of specific, automated, behavioural tests, no matter what level of abstraction those tests run at. Your BDD process is not as limited as TDD, but it still contains a "magic happens" line, "Refactor code as appropriate."
I am sure IBM will pay couple of millions every year for that kind of data.

Google can also pay for it, they might use for Google translate. Wikipedia already has near similar articles in major languages. Google can fight a war for this much of user translated/verified content.
SSD Upgrade Benchmarks
This is the first year I've really used the real released Windows 7 - on my new SSD-loaded work laptop and on my personal netbook. It's amazing to see Windows more or less work and do what I want it to do most of the time.

GPU-accelerated VLC on my netbook has been amazing.

I got a Canon T2i / 550D this year. It shoots some amazing HD video and will only get better as I spend more on lenses and develop better techniques.

The Kindle 3 (brighter display and cheap price) have me reading books I've been putting off for years. It's great to have a device that's great at one thing and not very good at random browsing, Facebook, Twitter, HN, etc.