skysight-inc/HackerNews huggingface dataset:
Or, remap the hjkl of vim, a ridiculous legacy of an obsolete keyboard Bill Joy just happened to be using at the time, to the normal inverted-T of cursor movement: ijkl. Then continue using the "arrowkeys" that are now under your right hand on the home row.

You'll then need to move the insert on left side of cursor, which was i, to h, the key on the left side of your index finger. Reach left to insert left. Easy for muscle memory. With that, both sets of arrowkeys on the keyboard work the same, and you won't need to disable one of them. Normal arrowkey muscle memory, and reach left to insert left. So easy.

Bill Joy was working in an era when keyboards didn't have separate arrowkeys and the ESC key was within easy reach. He wanted it to be as easy as possible to remember lots of different command keys. He used what was printed on his key caps, such as a straight line of arrows on hjkl and various English words such as "yank" in his design. It was a good idea at the time. He also realized that keyboards varied, so he made it all remappable to adapt to future keyboard designs--also a good idea.

But the programmers themselves couldn't adapt. The choices Joy made for that obsolete keyboard were frozen in amber by programmers whose habits were frozen in amber. These days, almost all keyboards have real arrowkeys, and people develop the muscle memory to use them long before they ever hear of vim. Also the ESC key, such a fundamental key, is off in Siberia.

For every vim user with vim habits based on an obsolete keyboard they don't use, there are 10,000 potential vim users with keyboarding habits based on the modern keyboards they DO use. Those 10,000 people use inverted-T arrowkeys, x/c/v as cut, copy, paste, they can't reach their ESC key, etc. Vim was designed to adapt, but old vimmers apparently weren't, so the design features that give vim its power are forever stuck behind arbitrary key layouts optimized for the wrong keyboard.

It makes more sense to remain consistent with existing muscle memory and keyboards, using the inverted-T arrangement ijkl, mapping your left-side insert to the left side key ('h'), and mapping ESC to something easy to reach, such as ';;'. Then, if you ever need to use a non-customized vim, just use the real arrowkeys, which will still feel natural. If you ever need to use another app with a serious vi mode, like zsh, it will be remappable to match your vi. (If it's not a serious vi mode but just a couple of vi-like keyboard shortcuts, either use the arrowkeys or do what we always do, given that every app has its own unique set of keyboard shortcuts: just learn a few new shortcuts for that app.)
Apple releases ios 6 beta 3
Thanks – I appreciate the note.

Our team did check it out and toss it into our bag of tricks. It looks like a very cool idea that would be fun to build with.

Congrats again on the success.
The following is from Pramod (CEO/other co-founder, since he can't comment for some reason...)

Yeah, I was an IB analyst for 2 years. After that switched over to the investing side spending a few years focusing on consumer internet and software companies. Both of these experiences definitely helped me with starting a business. You come across so many different entrepreneurs and business models that you get a good feel for what works and what doesn't work. Granted, every company is completely different and most of the things that work for one company don't work for others, but it just gives you a lot of insight and learnings. You also get an inside look at what investors look for and struggle with in terms of business models and teams which is helpful.

I did not and currently do not have programming or web design skills and it took a really long time to find the right partner to join the business. I started out getting the product outsourced and when I had something presentable, I started getting a lot of interested from the developer community. I spent a lot of time going to meet ups and other events to connect with developers. We met at one of the events, but stayed in touch regularly over a few months. We both had very similar visions for the business and the product and really seemed to work well together. It took a lot of time, but now we have a great team in place that we are both extremely happy with.
Requiring originality is far too restrictive. For example: would only Martin Luther King be allowed to express his opinion, and absolutely no-one else? No, that hardly sounds like freedom.

The Universal Declaration of Human Rights, Article 19, makes no mention of originality:

"Everyone has the right to freedom of opinion and expression; this right includes freedom to hold opinions without interference and to seek, receive and impart information and ideas through any media and regardless of frontiers."

Intellectual monopoly seems inevitably basically in conflict with that. It is only possibly justifiable as a pragmatic exception.
Any language that offers modules/packages as a way to organize code, regardless of which paradigms it supports.

This is why Modula-2 was named like that.

The original idea of ADT (Abstract Data Types) with modules, is that the module exports the public operations of your type along with its visible definition.

Then all operations on the ADT are done via the public operations.

This was the way of modular programming before OO became mainstream.
GENI: Experiment with the Internet of the Future
I did not know that. Thanks for the clarification.
Left this as a comment on the blog posting, but felt it might be worth reiterating here:

An important addendum to "I will use existing libraries where possible" --
you should also pledge to share those implementations freely. This will allow
your implementations to enjoy the same scrutiny that the implementations of
others have (cf. "I will only use vetted and published algorithms") and
enrich the development community.

Without this bit -- especially if your target audience is average developers -- you're inadvertently condoning ignorance due to lack of peer review.
> I didn't "make friends," though.

Well, you have to start somewhere, and acquaintances are a first step.

My own negative reaction to the article came from the idea of being stuck next to other people at a dinner. I recall one time in Austria being sat across the table from an individual whose idea of a shower was apparently going hiking during the summer rains - and it was February.

But hey, I guess everyone tries different things, and you see what works. This is as good as anything.
Thanks for the reply - those would both be really helpful!

Actually another question -- my boyfriend (http://www.lastplacefootwear.com) is currently trying to get a feel for what designs of his people are into before he sets out to spend money on production. Right now we're just building a voting-type system into his site, but is there any likelihood that your platform could assist in helping people determine market interest of their wares or will it always purely be for products that are already on shelves?
I agree... I think many of us have been saying that for years, too:
http://www.codinghorror.com/blog/2007/06/where-are-the-high-...

Despite the fact that many people primarily associate "Retina" with the iPhone (because that is where it was introduced first), I think this is the area in which it has actually had the least impact. Other phones had high DPIs before the iPhone 4, and the difference between the best Android displays and the iPhone 4 display was not overly dramatic.

OTOH, pushing laptops and tablets out of low-DPI land is a truly remarkable achievement. Other platforms are much farther behind in this area, IMO, and at least on laptops have a much longer path to catching up.
I enjoy the high pixel density displays on small devices like iPhone 4. However the iPad 3's display doesn't really interest me. I just don't hold the device that close to my eyes.

Snappy, responsive UIs are the most important thing to me. I'll trade the animations, rounded-corners, gradients, drop shadows and bouncy effects for a more craigslist-like UI. Something that's simple, basic and functional.
That should really not be a problem. Websites and apps can detect and load appropriate images for 2x or 1x displays. Same for apps. You design for 2x, and downsample for 1x.
> Does the average kitchen need retina imacs?

Does the average kitchen need a 21" screen, 2.5GHz quad-core CPU, 4GB of RAM and a 500GB hard drive? (That's the base iMac.)

Does the average garage need a 4x4 SUV with cruise control, climate control, 6-disc CD, sat nav, heated seats, flip down DVD screens, etc. etc. ?

Of course not.

The developed world stopped caring long ago about what average people "need", and has long since focused on what people "want". Or at least what advertising can convince us we "want", before we even know we do.
> Everyone thinks I am a 'conspiracy theorist' or something for saying this, but I really think that Microsoft is holding back WebGL for business reasons.

You're not a conspiracy theorist, and I think you are 100% right here.

> When WebGL takes off, Microsoft Windows sales will take a big hit because people will be able to play the popular games on Macs or even on Linux machines.

I believe that when WebGL takes off, Microsoft will support it.

Say what you will of Microsoft, it is a rational player in the market. If everyone plays WebGL games, IE will not be the only browser - and Windows 8 tablets the only device - that cannot play that content. Microsoft will simply implement WebGL (it probably already has internally).
Just to clarify, Retina is an Apple brand for a screen with a significantly increased resolution and high pixel density.

Its definitely a brand name, so lets not confuse that. Maybe just refer to the actual pixels per inch or even easier, the screen size/type and resolution. MacBook Pro 2012: 2880×1800

http://en.wikipedia.org/wiki/Retina_display
> For 3, 3 is the only example.

Or 7, or 31, or 127.
Does anyone else find the 1x and 2x conventions confusing? I never realized it till I got a bit confused reading the article.

Also: I'm a bit surprised at the reverence Dustin Curtis is given for the pixel fitting article.
> What's fundamentally wrong about date.addDays(1) vs. date_add_days(date, 1)?

One issue involves cross-cutting concerns. Say I'm creating a JSON API for my system. I use an API framework that lets me return objects that implement a JsonSerializable interface, and the framework calls to_json() to create the actual network response. The built in container classes (Hash, Array, etc.) implement this interface already, calling to_json() on their elements. I make all my core domain classes implement a JsonSerializable interface with to_json() methods. Now I can return an array of objects and it just works. Very straightforward.

Problem 1: I only need to_json for the API, but now that code is available everywhere. Every time I change my JSON API, it requires recompilation and testing of every component of the system, whether or not they are even related to the API.

Problem 2: Next I go on to add an XML API, HTML representations, database persistence, third party API integration. All those concerns go into my core domain classes, which become quite bloated. I could use decorator classes, but they require me to be aware of whether I'm using a decorated or non-decorated object. They also add a lot of boilerplate. Code becomes both bloated and ugly.

Problem 3: Next I need a new version of the JSON API, to be run concurrently with the old one. The new version is going to serialize things in a different style, so each class needs two versions of to_json(). I could make a to_json2(), but how would the API framework know to call it? I fork the framework. Now I have to merge my changes every time they release a new version of the framework. Code is bloated, ugly, and unmaintainable.

Problem 4: Next I need to return API responses with classes from third party libraries, for which I don't even have the source to fork. Fuck.

Ultimate solution is to wrap everything -- foo_as_json(foo), bar_as_json(bar), foo_as_xml(foo). It's ugly as hell but it's the only thing that basically works.
Man, I am totally bummed. Stephen Covey has had such a big influence on my life. Last year I wrote an article about effective developers (http://jeffwhelpley.com/2011/07/27/highly-effective-develope...) that obviously was derived from his 7 habits book.

While the ideas he talks about are found in many different books, blogs, etc. today, I consider 7 Habits the "bible" of personal development.

If I had to pick one thing from Covey that stands above all else it is his thoughts about win-win. I am not only talking about the stuff in the 7 Habits but also all the additional books and presentations that he has done. I have found it extremely difficult to maintain that win-win perspective myself and it has been even more difficult helping my team members do the same. I think it is because our natural instincts tend to push us towards competitiveness even when we know things work out better when everyone is on the same side.

Even outside of work, in my personal life I often think about this principal and push myself and my wife to figure out ways to create win-win situations.

RIP, Stephen Covey. You are the man.
I was visiting from a phone and mistook it for a "buy this book" landing page until I saw his comment.
Worked exactly the same for me. Blown away thinking about all the cool ways to leverage this.
You can look at it's return code.
The blog is missing a link to http://grubwithus.com in the header or sidebar.
Thank you for all the suggestions.I guess I'll keep using movielens and imdb.
Just wait until you can download a handgun. Just wait until someone attaches explosives to a DIY drone and sends it into a shopping mall. Just wait until someone hacks the firmware on your self-driving car. It's going to get ugly.
"7 hard truths about the NoSQL revolution": More fiction than fact?
Debug using an actual Android device, which is much faster. The emulator for Android is notoriously slow. Though almost nothing is as quick when debugging as Chrome's console.
Its not just confusing, its misleading. The marketing copy is being confused for technical terminology.

At 2880 pixels wide, the new MacBook Pro resolution is about 1.5 times as many pixels across the screen as a typical high resolution display at 1900 pixels.
Reading the name, I immediately thought of Poutine.

What else was the name a play on, aside from 'Boutique'?
$0.75 used from half.com if you still down own a copy. Books are such amazing value. It's like an everyday Steam Summer Sale in the book world.
Ironically... when I visited on the link on my iPhone, the text appeared pixel doubled. If I go back, it appears correct. No idea why. :)
Many public libraries are private in ownership and sponsorship.

No taxes involved.
You would need to RDC into at least one machine and run the scripts from there, in that scenario--so no worse than where you are now.

Note that Windows 8 removes the distinction between Pro and other editions.
Insightful post. I've noticed the same thing by going to Reddit meetups. With the exception of recurring events (like boardgame night) you really only see the "regulars" once a month, so if you miss one meetup, you really lose out on a chance to get to know anyone. That, and despite bars having the right atmosphere for a meetup, it's usually impossible to talk to anyone outside of the 3-4 people directly next to you.
Sorry guys for poor formatting. I wrote it in a hurry and since my blog isn't that popular I din't mind it initially but looks like I made to the Home Page of Hacker News and am getting a lot of attention. So I formatted it now, hope its readable.
Would be nice if only the supported artwork assets were downloaded to a particular device. This could help w/ the data caps issue. However there are corner cases like universal iOS apps.
I don't agree. The sorts of games that are microsoft-exclusive are mostly big-name high-performance titles, not the sort of casual free-to-play minimal-intensity stuff that's possible with HTML5. Javascript is nowhere near performant enough to be suitable for AAA development, and plenty of casual titles are often ported to multiplatform more reliably via flash / unity or similar.

It's not the lack of WebGL that keeps studios developing primarily for Microsoft platforms; it's the ability to write low level, native code in high performance languages, the ability to have as few layers inbetween game and hardware as possible. Writing native, you have hardware - os - api - game; if you're creating a high caliber performance-critical title such as, say, unreal, quake, starcraft, or half-life, why on earth would you choose to use hardware - os - api - browser - browser api - game?
I really appreciate your kind words, thank you.

Are you a Facebook app developer? Are you interested in purposes other than sending invitations?
That's exactly it, the NY Times article wasn't only saying it was hard to meet people, it was saying that it's hard to hold on to people that you meet, because you just don't have the time to spend nurturing a friendship.
Software has been innovating in cars since they started putting in chips and aftermarket stereos. Since every car has this now, or at least most drivers have smartphones, is the next wave of auto innovation going back to hardware like this?

I feel like such a sucker for wanting one. Good promotion.
Boutique + magazine.
That is very common on startup blogs. I still haven't been able to figure out why. Given how prevalent and obvious it is, it has to be intentional. Or maybe they are all just blindly copying each other and not realizing the person who started the trend made a mistake? lol
pylibmc may be fine, as well.
If you'd like to brainstorm, feel free to shoot me an email at

tony@graphmuse.com

I have some ideas that are worth developing. In fact, we were using GraphMuse originally to determine entire fraternities and sororities. We listed 3,400 Greeks at UPenn in 3 weeks.

Feel free to check out Greekdex.com

or read about it here:

http://www.thedp.com/article/2012/02/new__directory_launched...
Hacker stealing in-app purchases avoids the long arm of Apple’s law
How can we make Wikipedia better?
Data Loss Prevention: What's The Use?
That would kinda be the point.
Google’s Marissa Mayer Tapped as Yahoo’s Chief
Eek, Valley vs Alley flamewar approaching!

The downside here is that the article doesn't really do a great job of explaining the "move to New York" comment. I live in NYC and I agree that the tech scene is far less of a bubble than the Valley, simply because we are surrounded by so many different industries. Everyone in the Valley is in tech, but I have friends here in NYC in fashion, banking, media... you name it. I don't think it's a coincidence that a lot of NYC startups touch on these industries.

But when you say:

They talk about real problems. Like loneliness or stress or sickness or unemployment or high prices or lack of education.

It sounds bad. Like, "typical arrogant New Yorker" bad. There is a valid point being made here, but I fear that it's going to get lost.
Marissa Mayer is the new CEO of Yahoo
> Microsoft will simply implement WebGL

But you still have to wonder what this will do to their profitable desktop business, and hence their share value, and hence their shareholder confidence.

I suppose I'm really wondering if Microsoft can turn into an IBM.
Hallo.js - distraction free rich text editor
Thanks for your interest, we haven't officially launched, but we have a number of early beta customers. We'll be doing an official launch in the next month.

Our initial beta customers have been working really close with me and the rest of the team to shape the product. So, the benefits have been around automating parts of the process that are annoying and manual right now. An example: most of our customers have one centralized person (out of 10-40 in the company) that does all the scheduling, sourcing, coordinating with recruiters. We looked at her process (done in google docs) and tried to automate as much as possible. The result: you can now schedule interviews directly from our gmail widget, select a person from your org, a candidate, and a time and we book the meeting on the respective calendar, notify the interviewer about the interview, send them the resume/coverletter and evaluation form and then bug them every 24 hours after the interview to ensure the feedback is logged. The estimate was that by simplifying this process to 3-4 clicks we save her ~ 20 hours of annoying work per week.

The tool has been built around simplifying work flows like this. We're still hashing out all of them, but our central thesis is: 99% of recruiting time is done through the inbox so why doesn't your ATS/CRM live there with you. Over the next couple weeks we're moving the functionality from the web app into the gmail inbox, when that is done we'll officially launch.

Honestly, I think the main benefits of Foundry are as follows:

- We've studied workflows across dozens of companies from Palantir to Facebook to small companies and built the tool around optimizing workflow and collecting data.

- When you come to us we have an out of the box process that works well (we'll show you data) that is somewhat customizeable to your particular company's process. So you start with a good base and the tool reinforces good behavior. This is the part of the tool we're building on the most: how to convey/reinforce best practices in the hiring process.

- Everything is in your inbox: no context switching/learning a new system.

- In the early stage I work closely with all our customers and as we learn new best practices/tips we pass those on to you.

- Lastly, I honestly think that using something like Foundry forces you to think critically about your process (as opposed to winging it), by giving you a framework you end up with a process that works more efficiently.

Our hope is that once we get more data around hiring we can push that knowledge out to everyone, so that company's stop losing hires due to the problems listed above. If you have any questions about your process or want some friendly advice about what you're doing well/poorly I'd be happy to chat, email in my signature.
Your coding conventions are hurting you
Quake 3 WebGL demo http://media.tojicode.com/q3bsp/

GLSL test tool http://www.iquilezles.org/apps/shadertoy/

http://www.khronos.org/webgl/wiki/Getting_Started

WebGL is a cross-platform, royalty-free API used to create 3D graphics in a Web browser. Based on OpenGL ES 2.0, WebGL uses the OpenGL shading language, GLSL, and offers the familiarity of the standard OpenGL API.

WebGL is a low-level API, so it's not for the faint of heart. OpenGL's shading language, GLSL, is itself an entire programming environment.
Mozilla operates on millions; the others operate on billions.
"Hello Sean! How would you like your Office to look? Dropdown: [None, Calligraphy, ...]"

One "None"-looking Office for Sean, please! You gotta sweat the details.
In my opinion Photoshop is absolutely inappropriate tool in this new era. It was never really meant to design user interfaces. Designers should finally stop thinking in terms of pixels as they don't really make any sense if your application will be shown on screens with more than one kind of pixel density.

There should be no problems with using vector graphics on high resolution screens and it will look much better on lower resolution screens than downscaled image. Not only will vector graphics make support of various screen densities easier it may also (significantly) decrease size of assets. Currently on iOS devices developers bundle two images for same purpose (1x and 2x). It could have been one vector image instead.

Please stop using tools which were made to edit images and start using ones which are made to design interfaces.