skysight-inc/HackerNews huggingface dataset:
I read a bunch of research papers on different keyboard layouts and ergonomic designs, with the goal of increasing productivity. There is no consensus whether DVORAK is more productive than QWERTY, or which of the various ergonomic keyboard designs are more productive or less prone to contribute to RSI. The research surrounding keyboards is so conflicted, the only thing that makes sense is to try a few different keyboards and then pick one that is comfortable for you. It probably isn't worth switching to DVORAK because of the lost productivity while learning the new layout.

A more detailed summary of the research can be found here: http://grokcode.com/701/the-ergonomic-keyboard-productivity-...
Possible New Attack in Bitcoin War
I would pay money to have this as a well-designed iBook.

Maybe I'll settle by downloading it for Instapaper.
This is another Visual Basic craze, in which someone creates a way for non-programmers to program and everyone piles on thinking it will be the next big thing.
Implicit self and late binding in Ruby makes it hard to implement a proper namespacing system without breaking other semantics :(

After working with Perl (which has a similar namespacing), I must it's something I really miss when I come back to Ruby.
'to allow typewriter salesmen to easily type the word "typewriter" and to prevent typebars from sticking'

Is that actually true?
That's how I feel exactly. Over the years I've been places where there were no guns, and places where pretty much everyone was packing. The most terrified I've ever been was a place where nobody had a gun, and I would have been overjoyed to see an armed policeman at the time.
Police court order for seizing Dotcom's property, unlawful
Something that gets to me with Dvorak and its kin are how its designed for two handed typing all the time.

I have three typing use cases: left handed lazy mode, two handed code / essay mode, and mixed if I'm using a mouse capable text editor or something.

Dvorak / Colemak both take away some of the qwerty advantage of having quite a large chunk of the words I write on the left side of the keyboard.

That gave me an idea. I wonder if we are evolving modern English to cope with qwerty? That people favor words they can use off the left hand since the two modes of typing are either left + mouse or two handed? That would subconsciously make people favor typing things left handed only, maybe. I have no idea, I write code, I don't mess with silly brains and neurons. That sounds hard.
Windows has which problems, exactly? His mentions are pretty Linux-specific and I couldn't find one that applied to Windows.
OK, so my statement was biased by my experience in the software industry.

>You think factory workers or fast food employees all love their jobs (without being a little brainwashed)?

They are all trained and required to act as though they enjoy their jobs when on-the-clock, yes. In current days, they are often not hired without showing some enthusiasm for the prospects, yes.

Strangely, it gets even worse when you move into well-paying fields like software, engineering, finance, etc. "Passion" is the hiring watchword.

Kid enjoys something that pays well? You'd think it would be the best of both words, until you realize the companies are filtering for passion for the company mission, a quality not usually found in actual human workers anywhere.
"I read bad things about modes in UI books."

This makes me skeptical of UI books.
I got a kinesis and switched to vim around the same time. I think that vim has made the biggest difference because of the reduced use of the mouse and trackpad.

I do love my kinesis though.
Discussion is good, but it needs to start somewhere. All you've got -- or at least, all you've published -- is a vague list of ideas, most of which would individually make a big conference.

A conference is defined as much by what it isn't as by what it is. Start by narrowing your scope a bit; a conference which is about everything relating to the single most widely used language in the history of computer programming isn't even remotely feasible.
This is great news. I've always been surprised how the SEO industry can have such legitimacy when it's basically as legit as false advertisement.
The statistic is over the total number of users, not over the total number of human beings, or the total number of human beings that ever existed, or the number of atoms in the universe.
Natpster's 'catalog' was incomparably wider than any of today's music download services. For more than ten years, I've been telling p2p users that I never found anything that offers what napster did.

The thing I dislike the most with spotify and the like is that they are finite and relatively static catalogs. Sure they have millions of tracks, but once you've hit a search with an empty result, that's pretty much it.

In the old days, we would go to a record store and browse the current offer. To find a record store with interesting things was a whole science, and knowing the right place to buy records would mean being able to reach more interesting and rare stuff.

Spotify (itunes, amazon, whatever) is like ONE big record store. A huge one, but it's still only one. Grooveshark is more interesting but it is legally threaten because of that.

Even nowadays, if you head up to your local second hand store and dig through vinyls there are tons of stuff that won't even return a single google result. It is simply impossible for spotify and the like to solve this problem, they are broken by design.

This doesn't apply only to music, it applies to pretty much everything. No matter how good your product is, you can't just put a hard constraint on people's personal experiences by offering them large catalog of experiences they can have.
The book 'The Cave' by José Saramago nails this problem, it's well worth reading.
To add to this, the reason they can't penalize you is because then you would just buy links for your competitor. All Google can do is drop value on links when they detect malicious behavior. As such, buying links still largely results in a positive effect on your rankings. Google is starting to focus more on other factors than links though, social signals in particular are becoming a big factor.
ClojureWest Slides
If you used a patent at launch system, where you could only copyright / patent something going to market, you could avoid the corner case.

It is a good practice in general. You can only patent that that you can actively push to market in a reasonable time frame (even if it is in small quantities). Under a policy like that, drugs couldn't be issued patents until after they pass the FDA, but the FDA could internally have rules against letting someone else copy a design and pass it through faster.

I guess that would make copyright law easier at the expense of bureaucracy.
Actually, SNOCAP started selling DRM-free music on MySpace exclusively back before DRM-free music was a glimmer in Apple's eye. We were mostly doing indie music when we had all the major labels come to us and ask how they could sell music on MySpace and eventually negotiated deals for it to all be DRM-free.

After that, it was relatively easy for Apple to go DRM-free (though oddly, they still refused to do it for some time after).

* Note: Shawn Fanning and I founded SNOCAP after Napster blew up.
Emacs Code Browser ( http://ecb.sourceforge.net/ ) is great for this.
How to Square numbers at a tremendous fast speed
http://mathema-tricks.blogspot.com/
Awesome ad...
I use Vim for that but can also recommend Komodo Edit:

http://www.activestate.com/komodo-edit
I would highly recommend http://devbootcamp.com/ instead. The program runs (officially) 5 days a week from 9AM til 6PM, but most students stay after hours, and you'll often see people hacking away past midnight!

The program runs for 10 weeks and at the end a hiring day is run. Throughout the program guest speakers come in (e.g. the CEO of IGN) and we have a variety of mentors that help us out during the week.

Disclaimer: I'm a current DevBootcamp student.
Good point about not being able to copy/paste the final text.

I don't understand why I should OCR the final output, though, since I already have access to the "raw" text. If I were to OCR it and generate a new PDF, I'm back to square one, since I'd need to specify a font. Unless you meant that some people might want to OCR my public PDF to access the underlying text, since it only contains images?

In the end, I guess I'll simply use a font with a more permissive licence (free or commercial).
- The "depth of catalog" is actually incorrect -- Spotify has far far more songs than Napster did (you can see in that screenshot even, most logins/servers hit less than 1m songs totally available, and of course those are just total indexed, in reality almost 50% of downloads would not be available.) Yes, you could find niche stuff on Napster-- as a musician in 1999 I would make sure all my stuff was available, pre-release, demos, etc. But we have Soundcloud for that now, so...

The numbers depend on when one took the screenshot. Here's part of one I took on 02/02/2001 23:32PM CST with more than a million files available:

https://1e400.net/i/BP6LdMPm/napster.png
If you're doing SEO at all you should be punished imo. Let Google do its job without interfering and trying to manipulate please. And no, I don't believe there is such a thing as "whitehat SEO". Whitehat SEO is just common sense (write good content and don't screw up your markup).
Chic Louis Vuitton For Geeks Tee [Clothing]
You'd have to rent servers with ATI GPUs in them, but nobody rents those.
>The article insinuates that it's AES (or something closely related.) That would be pretty amazing.

That, or it's false information so that cocky hackers, or moles in groups, can convince their peers that they should use an insecure, custom algorithms. It's impossible to tell.

"Yeah, I know AES is standard, but it's well known that the NSA has broken it, we should use this cool alternative crypto technique I invented instead."

Even if only a handful of people were being stupid, the NSA might be able to get sufficient information to be useful.
AFAIK Slimv is being actively developed and quite usable (although I haven't used it myself): http://www.vim.org/scripts/script.php?script_id=2531

Also wrt org-mode: if one called out to Emacs from Vim for exporting to different formats it shouldn't be too much work.
Whoa, that's bizarre: http://screencast.com/t/TA5fF8CDf3

And look at the timestamp on #171618: http://screencast.com/t/Kzzwiyi9Mz ... The timestamp reads "21:35:01". But the timestamp of the previous block is "21:35:35". So it's "in the past, by half a minute". What's up with that? I mean, I could understand a timestamp uncertainty of a few seconds when discovering new blocks ... but that's a discrepency of over half a minute. (Maybe this is a totally insignificant observation -- I have no idea. I'm just pointing it out.)

Bigger question: what's up with those "1-transaction blocks"? Could you talk a little bit more about that / why that's an indication that someone is cheating? Also, do you have any idea why they're doing this / what the benefit is?
I use VIM almost exclusively at work because I do most of my development on a virtual SUSE machine.

I do enjoy using Sublime 2 with vintage mode for stuff when I can. I love the accessibility of ctrl+p <filename> to open files quickly.

The development environment I still dream of is to somehow merge the linux terminal with something like Sublime 2. If I could have a separate Sublime tab open that I could use as a terminal, I would easily pay for that.

Can one of you guys who is a lot smarter than me go ahead and build that? Thanks.
I think it's better to use a makefile and ImageMagick to integrate this into a build chain. You get something like:

img@2x.png: img.ai
convert img.ai img@2x.png

img.png: img@2x.png
convert img@2x.png -resize '50%' img.png
Not exactly the same, but yes, grooveshark is the most similar thing to napster that we have these days.

It is worth to mention how popular napster was compared to grooveshark, or even spotify for that matter. Napster was much more popular.
Anecdotally we once had a dish of raw squid at a Japanese restaurant. They tried to dissuade us from ordering it. I could taste nothing but ammonia. There's also the ammonia (aka Liquorice?) flavored vodka: http://en.wikipedia.org/wiki/Salmiakki_Koskenkorva

Take home: what is edible may depend on where you grew up (deep ocean, etc.)
When using Windows, I like using Notepad2. In Unix-like OSes, I generally go with Nvi, or Vim if that is not available.
Visual Studio based projects don't play nice with the command line. Linking MFC without VS is a fast path to madness.
I use Vim because I've always used vi/Vim.
Yeah semantic search, if solved, would address this problem.

That's really what I was getting at. Stripped right down, Google is still just viewing documents as a bag of words[1]. I mean, they have pagerank and they will apply more weight to words in headings, and they have 6-gram indexes and synonyms and all that clever stuff, but at it's core it's still lexically centered not semantically centered.

[1] Further reading: http://en.wikipedia.org/wiki/Bag_of_words_model
Actually, fyi, the company that is responsible for most of the schedules and time tables is hacon, and the system they offer is called hafas. If you search for the term, you'll find that many, if not most, european transportation providers rely on them for their services. That's why I can search for a train in suburban france using my deutsche bahn-iphone app. it would only be a matter of understanding that one api and the data would be open ( without any screen-scraping or other hacks involved ).
Interesting. Do you have a video or link?
Redis reliable queues with Lua scripting
Personal Omics Profiling Reveals Dynamic Molecular and Medical Phenotypes
> the SERPs show snippets of the content, and users only click on results that match the query

I'd love to see a source to back that up. The only data I've seen on this is various eyetracking and/or click tracking studies which suggest higher up on SERP=more clicks.
I use Vim these days but I've got a lot of fond memories of jEdit, it's a fantastic tool.
Good post. How can I tell if a tool supports UTF-8 (or some other encoding) or not?
Flattr going social.
Im sure humans can quickly ascertain whether a site suddenly went viral or is being gamed, as the number of such sites is fairly small. I never said a comment reply is the panacea or do can possibly do justice to the totality of search quality, just that an explosive delta in page rank should not be a major issue to a company with the resources of a google.
I agree ('the internet' thinks this idea is from Pascal: "Je n'ai fait celle-ci plus longue que parce que je n'ai pas eu le loisir de la faire plus courte.")

Problem is that that short book, having taken more effort to write, would have to be more expensive (paper, printing, distribution, etc. cost 'nothing' for any book worth anything at all). Selling a shorter book for more money is possible, but customers typically prefer the longer book ("more is better, and even if it is not, I just don't read the extra stuff")
I was a MacVim user before switching to ST2.

It looks nice (shouldn't matter, I guess, but it does to me a bit). For example, scrolling is much smoother and easier for my eyes to track and keep my place -- MacVim only lets you scroll complete line by complete line which is kind of jumpy.

The folder hierarchy in the sidebar is better integrated. Open a new ST2 window, go Project -> Add Folder to Project, and then all its subfolders and files will be easily browseable. It's not always necessary, though, because the fuzzy file finder search is so good. (Like Command T, but built-in).

Multiple cursors. I use this more than I would have thought. You can command-click and get multiple cursors, or you can highlight a word and command-d to incrementally highlight each further instance. Then, you can type and it goes to all the cursors simultaneously. If you, say, shift-opt-left arrow, it will highlight the word to the left, and then you can copy, and it will copy every word but associated to its particular cursor, so you can then hit command-right arrow to go to the end of the line, and then paste each of the copied words.

So, say, I want three similar json objects, one related to cats, one dogs, and one birds. (This is a contrived example, and probably not the best way to do it, but just to demonstrate the power here.)

Now what I'd do is I'd write on three separate lines, "cat", "dog", and "bird". Then, I'd highlight each of them to get multiple cursors, hit cmd-c so I have "cat", "dog", and "bird" copied for each cursor, and then just write the json object and all three would be done at the same time. If I wanted a variable to be called "myAnimal", then I could paste (so, I'd get the three animals). Opt-shift-left arrow to highlight them, command-p (which brings up the fuzzy-finder for all of sublime's functionality), type "capt", which will bring up "Capitalize", hit enter to do so. (Now I have "Cat", "Dog", and "Bird"). Then opt-left arrow to go to the beginning of the word, and type "my", and now I have "myCat", "myDog", and "myBird".

I'm not sure how well that came across, but basically multiple cursors is a killer feature that I didn't have in Vim. Couple that with a powerful macro system of recording keystrokes, and then using those macros with the multiple cursors, you can do a lot of editing fast.
I was actually thinking about how to do keyboard shortcuts today. I'm glad I came across this.
We are now supporting multiple Node.js versions
not yet, to my knowledge. My old IR lecturer (Stephen Clark) used to think highly of Powerset, who look like they've since been acquired by Bing. And while the launch and implementation of cuil was an epic fail, it did seem to have an interesting approach, and I'd have liked to see what it could have offered.
except this makes sites like StackOverFlow, Huffington Post, Mashable, Yelp, and most sites that depend on advertising economically unsustainable. Before you say "No..", remember even Yelp, a great word-of-mouth resource gets over 70% of their visits through search engines. As does Stack Overflow.

What will be left will be personal bloggers, charities, and hobbyist sites. Be careful what you wish for.
It's a shame that Berkeley dropped Scheme in favour of Python. In the words of the former CS61a teacher, Brian Harvey, who's retiring [1]:

"In an ironic development, while the Berkeley CS faculty pretty clearly regard the Python-based course as the future of 61A for Berkeley CS students, both the UC Online people and the team at Stanford developing technology for massive online courses are excited about adapting 61AS to their formats. So, down the road, it may be that everyone except Berkeley students can study SICP."

An also[2]:

"You can learn to program in any language. But it’s not just an accident that the authors of SICP chose Scheme as their teaching language. The big ideas in the book — the ones that alumni in the real world tell us they’re using in their work — express themselves best in Scheme. Indeed, saying it that way puts the matter backward. Gerry Sussman (with Guy Steele) invented Scheme before he turned (with Hal Abelson) to expressing the ideas behind Scheme in a course. SICP is Scheme, in tutorial form."

BTW, if you have some free time and want to learn Lisp, do yourself a favour and go watch the old Scheme-based lectures on Berkeley's webcast; they're awesome.

PS. I do most of my professional work in Python.

[1] http://www.cs.berkeley.edu/~bh/retire.html

[2] http://www.cs.berkeley.edu/~bh/proglang.html
Embedded development is another important niche for C. (There are already many embedded conferences, of course.)

A track on testing C projects would be good. For example, check out Unity (http://throwtheswitch.org/white-papers/unity-intro.html), CMock (http://throwtheswitch.org/white-papers/cmock-intro.html), and greatest (https://github.com/silentbicycle/greatest). (disclosure: I'm involved with all three.)
Trying to overcome a thought or feeling is like struggling in quicksand. You only give it more power and it will suck you in.

Here's what I suggest you do instead. Every time that feeling comes up, say "yeah sure, I'm a fraud" and keep on working. Keep on shipping. Try it. Actions always speak louder than words anyway.

One more thing. It's the best advice I can give you. Go listen to The Power of Now by Eckhart Tolle, or read the teachings of Buddha. You are thinking too much and creating suffering for yourself. These books will help you stop.
An overview of this amazing research project can be found at Science magazine, too ( http://goo.gl/vXXqC )
As an 'end-user' of Python, I rarely find myself writing my own classes, but I am really pleased that the authors of many of the libraries that I use decided to write classes.

I think the distinction between 'end-users' and people who make libraries is an important one and one that Jack seemed to overlook.
That's like saying trying to sell your product is a sin.

Mind telling me how a consumer web startup is supposed to get others who are interested in X to visit his site about X? This is the basis of SEO: matching searchers to pages. It doesn't happen magically just by wishful thinking, and writing good content unfortunately.
I guess Emacs and Vim get so many mentiones partly because we all want to rationalize the effort we put in to learn and maintain them.

Text editors that cost less effort have probably a less profound impact on our lives and thus deserve less discussion.

With Textmate you write in Markdown. In Emacs you have org-mode, which is mind-boggingly more powerful. Textmate lacked a code browser last time I checked (not entirely sure there). It does not have Magit or AucTex, either.

Last, and certainly not least, simple text navigation and manipulation in Textmate is way inferior to Emacs or particularly Vim. As in: no macros, no incremental regex search and replace, and just a lot less movement and editing commands. Also, a lot less configurable.

Well, and Textmate is Mac only of course.
I don't understand that much about it, but I believe that's partly what the original article talks about.
I still think classes have value. For example, Python's standard library provides csv.writer and csv.reader objects for reading and writing csv files. Making them objects, rather than just functions, allows one to use them like so (assuming the csv file contains "value,average,stddevs" on each line):

vals = []
avgs = []
stds = []
file = csv.reader(open('data.csv', 'r'))
for row in file:
vals.append(row[0])
avgs.append(row[1])
stds.append(row[2])

Providing this abstraction without using objects would be difficult, I think. The key differentiator is, I think: is what you want to represent with a class a concrete thing with a clear interface? If those two things don't hold, then it may be better not to represent the concept with a class.

Again, I have to break this reasoning all the time in C++. I try to use free functions as much as possible, but when I want behavior based on runtime values, I often have to represent abstract concepts using classes because those are the tools that C++ gives me.
You should not use the signature design of someone else's book if you have no affiliation with them: come up with your own branding.
[I hate SEO] How to use memes to build EASY Backlinks & Traffic
You know you've written a great article when it has tons of points on HN with zero comments...

Having used a few profiling tools in the past (such as gprof, valgrind's callgrind/cachegrind through kcachegrind, and of course clock_gettime()), I think flame graphs are the best visualization of that kind of data I've seen so far. I wonder what other performance visualizations exist that I haven't seen. I'd love to see a 3D flame graph that takes multiple samples over time, probably with overlapping windows.