skysight-inc/HackerNews huggingface dataset:
> While a fun exercise, I feel that it doesn't actually test for actual programming ability as it actually requires the programmer to be familiar with this particular subset of algorithms first (something that isn't entirely fundamental imho).

I don't think you are required to know this particular subset of algorithms first -- I certainly did not, and it took me about half an hour of searching around the net until I found the right terms to use.

Perhaps max cardinality bipartite matching is something I know from my first year at CS, but I didn't know its application to this problem before I had read through several different answers on StackExchange.
Code cleaning is a good idea in general, but when applied everywhere without consideration it can lead to some odd code in some places. The screenshots show this throwing errors when it encounters 'malformed' code.

I would much rather it showed warnings, so that I can choose to ignore them if I think an exception to the rule is better in a specific case. Perhaps it would be nice if the tool even respected some sort of pragma mark, or other preprocessor statement so that it can be disabled or partially restricted for specific parts of the code.
In the last two months, I've played:

Project X Zone (3DS) - crazy SRPG/Fighting game hybrid

Killer Instinct (Xbox One) - I tried to resist getting an XB1 just for this, but I failed

Knack (PS4) - Very kid-friendly game

Quake 2 (PC) - Boss insisted. He's really good at it

Starcraft 2 (PC) - I'll always be coming back to this periodically

Terraria (PC) - Played this briefly at a LAN

DOTA 2 (PC) - Also played this at a LAN. I'm terrible at it

Some other highlights from the year:

Ni no Kuni (PS3) - Really good JRPG. If you liked JRPGs but haven't enjoyed the most recent Final Fantasy games, give this a try. Actually, play this if you like JRPGs.

Batman: Arkham Origins (PS3) - If you like the other Arkham games, you've probably played this too.

Street Fighter X Tekken (360) - played at a LAN. Good crowd pleaser

Injustice: Gods Among Us (360) - Can you tell I like fighting games yet?

Tomb Raider (PC) - Very good action game.

Knightmare Tower (Ouya) - My favorite Ouya game so far
Instructions and patch to compile MAME 0.151 in OSX using Homebrew https://gist.github.com/brutuscat/8163526
A real programmer would hand assemble a LISP interpreter and then pass it the LISP source. Come on.
Yes, but Django model metaclass magic is context-independent; the logic resides entirely in the model and does not affect the rest of the environment, which is something that Ruby's includes can do (and give you no warning when method overloads break stuff).
My dad gave me my first push in QBASIC and simple batch programming around the same age, but ultimately it was my self-motivation that led me to learn C and C++. I'm glad it worked out that way because I have a better appreciation for garnering the underlying skills that let me put ideas that I have in motion.

I know it ultimately comes down to a person to execute an idea, but also showing that person that they can be resourceful by themselves in the first place is such a great potential.
I'd never heard of HSTS, but after reading that wiki page I find myself wondering along with Peter how much good it could ever do, in general, that a 301 to https doesn't already do. Sure it's good for a naive user who has already been to the correct uncompromised site. Sure it's good for a naive user visiting a popular Chrome-approved site with Chrome for the first time. I don't see how these two minor wins (especially for a site like that under discussion) make it worth the effort.
Here is the truth - watch too much porn and you get erectile dysfunction:

http://www.youtube.com/watch?v=wSF82AwSDiU

Why did it take me decades to find someone able to present that reasonably plausible reason as to why I should definitely not want to watch porn under any circumstances whatsoever?

The argument (with science) in the above TED talk is that if you do watch a lot of porn then you are not going to aroused by real women as much as you should, leading to unsatisfactory bedroom performances. Yep, porn is actually that dangerous.

I might not care for the traditional 'don't watch porn because it is porn'/'think of the children'/'porn exploits women' arguments, however, I do have enlightened self interest and loss of libido is so not what I want to have.

If I was in the UK government I would want to get this message out to kids in schools, not to scare them away from porn for the sake of it, but because they deserve to have 'normal', happy sexual health. By censoring porn they are not going to get this message, in fact they will be further away from it than they are now, doing what they can to get the 'forbidden fruit' instead of knowing why they just should not bother.

Instead of censoring they could have demanded that there be a banner on the pages of porn sites warning that use of porn leads to erectile dysfunction. This would be a proactive move, no harder to get into law than that stupid 'this site uses cookies' directive. They could get the ISPs to do it so porn from outer Mongolia would be suitably warned of too.

We have had a block on mobiles in the UK for some time now. There were no riots in the streets because of this, people are fine with it. The ISPs can take the block off for people and the system just works. This new move is an extension of what we already have, not some Orwell-nightmare-slippery slope thing. The politicians will get their votes, some people will grumble but that will be it.
yeah, the trade off are generally c-based languages.
But aren't we just introducing Bitcoin with conventional currencies as its backing?
First, that's not true: almost all features are ported.

Then, Android is quite much more far from a Linux desktop stack than an Ubuntu phone. It notably has a different (very broken) libc, pthread implementation and different audio output stack...
I think it's a bit naive to think that the only reason for lack of focus on work is boredom or fatigue, and that it can be solved by loving your work.

I love my work, but wouldn't want to do it every waking moment. Also sometimes I hit a difficult bit of work and find it difficult to focus as I'm not progressing as quickly.
I've had this experience. I've written a long, rambling post that I like, but failed to include the final paragraph that makes explicit the point I originally wanted to make. Or I've found myself with paragraphs that just don't quite go together.
Of course, but that does not guarantee that the requested library/API will be present on the final phone or that you will be allowed to go on the market.

So, if we cannot access (or are forbidden access to) alsa/pulse, OpenGL or OMX, in the final device, this would be just useless work...
Personally, I'd stay away from the 'flippage effect' unless it is done strikingly well. On my Mac, your page flip wasn't smooth, and your fonts looked pixelated.

As design moves away from skeumorphism and imitating real world objects, page flips will start to look passe. Just my 2 cents.
Aah, Ralph Brown's interrupt list, that takes me back a long time. I used to write assembler quite a lot when I was ~14year old. Now I'm a webdeveloper mainly doing php and some basic sysadmin stuff and it strikes me how far apart those things are. Assembler needs a different mindset and it's quite hard to get into it again.
I disagree that Lisp is awful for developers. To me and many others it looks quite pleasant while the "other languages that look nice" actually look like a needless mess of braces, brackets, asterisks, comma's, etc. etc.

Only Python comes close IMHO but has many other downsides.
You're entitled to your opinion, but code style checking is not something new and was most likely not cooked up by Apple coders. Checkstyle [1] is a Java code style tool and has been around since at least 2001.

[1] http://checkstyle.sourceforge.net/
SEO articles often leave me with the same feeling I get when I realize I've stepped in dog poop.
I cared about my GPA in college because I was relying on scholarships to help me get through. I think generally, your first job out of college probably cares about your GPA, but after the first one, you can take it off the resume.
Instead of dual booting I prefer some kind of virtualization support to run the operating systems side by side.

I don't dual boot if I want to run Linux and Windows. Less in a mobile phone!
Yeah the public key used for signing has to be communicated via a different channel, otherwise we're spinning our wheels. I think DNSSEC is headed in the right direction, but hasn't arrived yet.

But that's if we're talking websites in general. For the specific use here, installing "trusted" software packages, far better solutions already exist and already protected the users of OpenSSL.
In reverse:

1. These attacks don't bear at all on cryptographic building blocks, because any script kiddie can brute force a login or fuzz an input, etc. Has nothing to do with crypto at all. Has nothing to do with their code at all. Completely different systems with completely different attacks with incredibly different requirements... it's worlds apart. There is nothing about defacing a website or even MITM that could ever be compared to breaking a crypto library.

2. HSTS is quite a bit different from the PKI of TLS. That said, what you are basically saying is "HSTS is the same thing as HTTPS when you add the URL to the browser's STS whitelist". (Which could be avoided altogether if you just type "https")

So what your argument really boils down to is: a crypto library is worthless because we really need to use HSTS because OpenSSL.org users are too stupid to type "https".

Not only is this inaccurate and nonsensical, it's just a crappy security model. Now I have to manage HSTS exactly the same way TLS certs are managed and basically reproduce one protocol into a pseudo-protocol and juggle both, keeping things like RFC 6797 in mind. Suddenly the complexity's gone up enormously over time, only to prevent MITM on the client, and we don't even consider whether or not the content was compromised before the connection of the client to the server.

Even if the server is hacked, you still have absolutely no guarantee if the content was modified, because you're not verifying the content once you download it. But sure. Let's freak out about the possibility of a one-sided MITM to the client over HTTP (which every idiot knows is not secure by design), because that's clearly the most important or likely attack to be worried about right now.
A very jazzy 83 yr old Grandad
My 83 yr old Grandad asked me to show him the quality of the camera on my phone, so I asked him to do something that I could record to show him ... but Grandad decided to put on a show. Here, he examples his fine knowledge of common slang language. So jazzy!
Woops, sorry, didn't realize you actually were a vlc developer. I read that like you just wanted to run it on your own device.
Surely GP was tongue-in-cheek?
eBay is relatively easy. Create a fraud detection algorithm (can work on either side of the business) or a better reliabity metric than pure % approval.

Intel is harder as I don't know it as well. Is there enough public info on the chips to write something on top of them to speed up software written for them? Perhaps some kind of compiler optimization?

In both cases the result is important, but just demonstrating effort would go a long way.
This looks promising, I hope it will be tested on a Galaxy Nexus soon.
CCC Hamburg - Glenn Greenwald (27.12.13)
Discipline comes from routine.

Here is a possible routine.

1) Wake up at 7 at the latest

2) Take a shower

3) Get dressed

4) Eat breakfast

5) Read mails and news

6) Join #startups on freenode to have some company

7) Say good morning to everyone there (I am blackwhite)

8) Start working

9) Have lunch

10) Back to work

11) Stop at anytime between 5-7

12) have dinner.

13) Procrastinate some more or do some more work.

14) Get to bed at 12 the latest.

Rinse and repeat....
> If the price of the dollar collapses, you can sell it to the Fed

I think this is a dubious argument. It describes what happens most of the time, when the value of the dollar fluctuates. But what if the collapse of the dollar is accompanied by a downfall of the Fed? Hyperinflation has happened in many, many countries that used fiat currencies, and even the US has had high inflation:

http://en.wikipedia.org/wiki/Hyperinflation#Examples_of_hype...
OK, let's put it differently - self-control to go on is required when there is not enough motivation.)
It would be called programming in Mathematica ;)
I'll add one after I fix some things up.
Tip: Go to a CFAR workshop.

http://rationality.org/workshops/
1) A dedicated "work room" with few distractions is the single best suggestion I can think of. You can clock in and clock out and feel more like working.

2) Try to get up early in the morning as always (if that's an issue for you)...just having a less slackish schedule helps a ton.

3) There's tons of self help stuff out there but I think the two that help me get stuff done the most are:

- Get some notebook and every day write down the date and one big item, two medium ones and a three small ones you want to get done for the day (1-2-3) if in doubt make it LESS. Get into the habit of markering the stuff you work on and crossing it off when it's done.

- Seinfeld method (google it) for stuff you want to do every day. Basically get a calender sheet for the month, print it, hang it somewhere and put down an X when you've done what you wanted. Try not breaking the chain. You can actually practice discipline by doing some random task each day like this (I did it with "go for a 10 minute walk").

Hope that helps, being self employed is a skill that can be learned (imo). The way I look at it wandering off and getting interested in other stuff is my main problem. Everytime I "catch myself" I note it and pat myself on the back for having done one "rep". This can be reading a book and thinking about something else and not remembering what you just read or randomly checking hacker news or clicking on your mail client.
[my experience comes from being a poker pro for a bit which is even worse than other self employed jobs because you don't work for anyone and the time you put in directly maps to income...and if you put in bad time it often maps to negative income :D]
The "flippage effect" is just an optional feature that people will have option to apply.
My dad wasn't a programmer but he was a machinist. I have fond memories of him teaching me decimals and geometry as I sat at his feet.
Sony to Announce Next-gen Smartwatch at CES 2014
This is what has worked for me for 28 years:

1. Establish a standard daily routine. Follow it every day, Monday thru Friday, without exception. This is the key. This is what you must do every day, whether you feel like it or not.
Weekends can be different.

Mine (yours should be whatever works best for you):

06:00 - work out
07:00 - breakfast at desk, email, internet
07:30 - start work, short break every hour
12:00 - lunch (at desk or go out)
13:00 - continue work, short break every hour
17:00 - start nightly crons, LOGOFF!
17:00 to 20:00 - dinner, family
20:00 to 22:00 - my time, including logging back in

2. Have a dedicated work space. The desk & computer should be used ONLY FOR WORK. If you can, have a second computer for personal. Your work computer should be in a separate room with a door that closes.

3. DO NOT surf the internet, text, chat, or use the cell phone (except for work)! This is absolutely critical. If you break this rule, you will never have a boundary between work and !work.

4. Before you go to sleep write down exactly what the first thing you're going to work on the next day. The rest will follow.

(EDIT: Check out all of the responses in this thread. Most of them are excellent. Especially note all of the things that are repeated.)
That code works in C, C#, and JavaScript.
http://rainycafe.com Just for the record.
I'm going through a similar process right now and something that's helping me a lot is the advice in The Now Habit. It's a quick read, and at least in my case the advice is effective and sustainable.

() http://amzn.com/1585425524
If you look further into that thread there are other people saying that they could get their access unlocked using EU passports just fine.
Nicely done.
I love it that you have a server running in JS. Very nice.
Very much looking forward to the next installment.

...I've always been a bit of an X11 fanboy, so thanks for this.
You should bookmark this so you can come back and laugh at yourself when you have kids of your own.
So, a language where, say, blocks are started sometimes with parameters that are delimited with pipes, and sometimes the bodies need a terminating end keyword, other times they need wrapping curly brackets. If you want an explicit lambda, you have to wrap that whole block in curly brackets with a lambda keyword. Classes and functions need an end delimiter but not an explicit start delimiter; if statements however need both a start and end delimiter in "if x then y else z end"

Ruby is not semantically sane, it's insane in a way we have all gotten used to. (If you don't know ruby, try to rewrite this for your ALGO language of choice, I picked ruby for its simplicity)

S-expressions are about as semantically sane as you can get, it's just most of us have a <5 year head start with the craziness of c-style languages.
Shopping for Spy Gear: Catalog Advertises N.S.A. Toolbox
This wasn't an isolated incident of innovation from Canon. Can anyone remember their 486 laptop with built in printer/scanner?

The 'note jet' had the same form factor as a normal notebook of the era. The printing part was roughly where you would expect the function keys to be, under the hood there was a miniature inkjet cartridge that could be swapped out for a scanning cartridge. The paper line was pretty good, going under the keyboard. I can't remember there being a paper tray.

In those days 'executives' struggled to plug a printer in so it solved the 'check connections' problems they faced. It also looked very cool, distinctly 'from the future'. Actually the idea was from the past - this was a take on the standalone electronic typewriter. I always felt the idea needed to live on, not least for travelling salesmen that need some sales order printed out and signed whilst at a customer's site.

They dropped the model when the Pentium came along for the idea never to be seen again.
In my experience I've noticed that lack of discipline is related to two things (both of them subconscious). Lack of discipline strikes me when:

1. I can easily predict what the end goal of any of my current project is ... and it is less than what I want for myself. So I procrastinate the inevitable. As if delaying it will somehow miraculously make it worthwhile after some time has passed. Waiting for an epiphany to salvage the fait accompli?? I am not sure. This is all of course subconscious. I don't like where my current project is leading me to so I watch sitcoms or come to give unsolicited HN advice. (Not really)

2. I subconsciously avoid facing my burn-rate. Burn-rate is a function of time and can be both direct financial (material) as well as opportunity costs. Facing it is single most terrifying thing for me. My unfounded fear is that it paralyses me. On the contrary.

The solution to 1 is to write down a single page or picture of where your current project fits into your bigger goals. If I can see this type of plan clearly for my current (boring) project and its global context is something I am easily reminded of regularly, I galvanise into action - no matter how boring.

Promising a deadline to your client is also a good way to work towards it. Nothing like a nagging email or phone message asking about your progress to get your arse into action.

The solution to 2 is to keep sight of your overheads by again writing a single page of your costs (burn-rate) as a function of time. And there's always a burn-rate. Planning for 3-6 months in my case seems sufficient. Make a poster of this and stick it where you can't miss it.

Hope that helps you too.
"This video is not available."

:(
That video from point one doesn't seem to be working for me (Atlanta, GA). Here is another link that should work.

http://www.youtube.com/watch?v=co_DNpTMKXk
Double name is double.
cf : http://macaw.co/
I try to restrict/minimize internet distractions between 10am and 6pm. That means I strive to only check emails in the morning and evening, no facebook/twitter/reddit/HN/etc.

I still have my ipod on do-not-disturb mode so that occasionally I can press the power button and see if there are any gmail notifications, but most of the time I can tell from the subject line that I can safely ignore said emails. If it's important I log in to gmail (with gtalk turned off) ust to answer the important email and then close it again.
Love your nom-de-plume!

I had lived with the lie of sugar in salt for more than a decade, glad to have that settled.

I am actually thinking of getting some of the 'Diamond' salt they use in the US. It is not just granulated, it has a 'diamond' shape to the crystals so you get the taste but not the high quantity of sodium.
> So, a language where, say, blocks are started sometimes with parameters that are delimited with pipes, and sometimes the bodies need a terminating end keyword, other times they need wrapping curly brackets. If you want an explicit lambda, you have to wrap that whole block in curly brackets with a lambda keyword. Classes and functions need an end delimiter but not an explicit start delimiter; if statements however need both a start and end delimiter in "if x then y else z end"

You are talking about syntax here.

> Ruby is not semantically sane, it's insane in a way we have all gotten used to.

I hate Ruby even more. It is just as semantically insane as Lisp, and the syntax is worse.

> (If you don't know ruby, try to rewrite this for your ALGO language of choice, I picked ruby for its simplicity)

Ruby is not simple. It is full of corner cases and redundant constructs. It is hard to make any sort of reasonable guarantee about a Ruby program without resorting to some heavy testing. And no matter what nice property you might have wrestled out of the system, someone else can destroy it anyway by means of monkey patching.

> S-expressions are about as semantically sane as you can get

S-expressions are syntax with no intrinsic semantics.

> it's just most of us have a <5 year head start with the craziness of c-style languages.

What about Haskell? (And, in general, languages that have a denotational semantics that makes equational reasoning feasible.)

For more details, see: https://news.ycombinator.com/item?id=6954348
Language semantics differ, full stop. Say you have x = 2147483647:

x + 1 => -2147483648 (Java)
x + 1 => Undefined behaviour (C, assuming int32_t and various things about the implementation)
(1+ x) => 2147483648.0 (Emacs Lisp)
(1+ x) => 2147483648 (Common Lisp)
x + 1 => x + 1 (Prolog, using some interpretive license)
How much were they willing to pay?
1. The searcher is not the customer, the AdWords buyer is. For example, Expedia.

2. Once a company reaches monopoly status the government can regulate it for the public good.
Mark Shuttleworth interview: Taking Ubuntu beyond desktops
If you code in C, C++, C#, JS, or Java, there is a good chance your code has just as many curly brackets and parentheses as the equivalent code in lisp. The biggest differences being they are more irregular in location and there are more newlines separating your closing delimiters. Check this insightful comment out. https://news.ycombinator.com/item?id=6960546

If you code in Ruby, Python, or Coffeescript, yeah, lisp has more parens, no doubt. That is the price of its regularity. Lisp could throw all that out the window, but you'd lose the easy macros.

Edit: added the link
Turn this baby on at 9am for 8 hours: http://selfcontrolapp.com