skysight-inc/HackerNews huggingface dataset:
> HTTP Pedantry

I propose a new HTTP verb, MEH, to address the belief that the HTTP verb mechanism is unnecessary or over specified. The semantics of HTTP MEH are application-defined, so it can be used to fetch, update, replace, query, delete, or whatever the application defines to be necessary. Services honoring HTTP MEH implicitly signal that interoperability is not supported, but that intermediate proxies 'should do the right thing' regardless.
Thanks for taking the time to write these up! I'm tracking them here [1]. The first two should be fixed and I should have the third ready soon.

[1] https://github.com/mozilla/sweet.js/issues/18
I am in Cupertino if you wanna meet up and network.
I was just referring to the pamphlet, not taking sides :)
Chinese riots are like Chinese night clubs. Boring and dull.

Example: Anti-Japan riots. 1000s of Chinese. One Lexus. Barely any damage even using hammers. http://www.youtube.com/watch?v=pKnuILXFVZI&feature=relat...
The submission title, 'Best IOS 6 transit app is "The transit app" from creator of SVProgressHUD', is too sensational for a Hacker News title. Check out the guidelines: http://ycombinator.com/newsguidelines.html

I really like the screenshots but this app doesn't support Phoenix yet. I guess our local government doesn't provide the necessary public data feed?
That's a fascinating pricing model. It makes a great deal of sense, too, since presumably there's work to be done keeping all that data fresh and up to date. But I wonder how many other transit apps we're going to see with a subscription model, when users are so used to ridiculously cheap, one time purchases?
This is a great read. I've been a call centre worker in the past (sitting through 400 automated number dials a day, half of which are straight to voicemail and I was targetted to sell to 2 a day. Horrible job) and this just reminds me that I'm lucky that I have skills and options.
I don't agree on that one. Maybe it's in his interest or objectives, but such a writing sure won't make me invest a dime in web 2.0 companies or any companies based in a country engaged in a process of self destruction.

Why can't you consider the alternative, that he may truely very worried, and try to share his views, his warning?

Altruism is a human trait. The frequency can be debated, but when we see a problem we like to warn our fellows.
Agreed. I downloaded this and found it to be quite exceptional. Apple should hire this guy.
Maybe. But is there any economic reason for a decent liberal arts degree to cost 100k to begin with?

I think that's the real problem.
Andrew McAfee: Are droids taking our jobs?
Meet Kevin Reynolds, the guy who runs Bloomberg News's Speed Desk
When this comes online I'm definitely switching.
But throw/catch gives you the option to do it that way if you want. An if/else per statement is no different from a try/catch per statement.

The point of the post is that Go doesn't give you the option, whereas Python let's you decide when and how you'll deal with it.
Cloudant on Google's Spanner
This sort of hack is easy enough with ObjC and blocks, but is generally avoided due to introducing significant issues with clarity.
The first one does; it has nearly 200 episodes already, it seems.
When doing code reviews, I go through pull request commits in chronological order. It sometimes takes more time (eg. if the author didn't know exactly how to approach the problem from the start), but gives a much clearer picture of what was going on inside their mind when they wrote it.

That's one of the main reasons I dislike pull req squashing (or doing large compound "clean" commits in the first place). It destroys this information.
Many people assume that we can spend money we don't have today because we will just earn more tomorrow. This is especially true on capitol hill, but you can see the assumption pretty much everywhere. Thiel's is basically pointing out that this assumption may no longer be true. Without technological progress, tomorrow won't be better than today.

If a society borrows from the future in times of growth, the additional prosperity will cover the debt payments and nobody really suffers. If society borrows from the future in times of stagnation or decline, however, both the debt payments and the cost of living now come from the same fixed income, so the quality of life suffers. This not only applies to financial debt, but to infrastructure, educational, and other kinds of non-monetary debt.

In other words, Theil's piece is a warning that we need to get our act together. We re-start the technological growth engine, stop borrowing from the future, or tighten our belts and prepare for a general decline in our standard of living. We may not be at the tipping point yet, but it is coming if we don't change course.
huh. i will fix that, thanks. there should be a @checked annotation on the function that is checked in the example there.

pyptyp is pretty comprehensive. for example, Rec(a=Seq(Opt(int)),b=Alt(float,str)) is the type for something like a dict where a is a list that contains ints or None and b is either a float or a string.

BUT it's pure python so it's not at all fast. i wouldn't use type checking throughout a codebase - only for debugging, or tests.

it's perhaps more useful as a start for building other things. for example, it includes mapping from JSON to python objects - it can use type annotations to guide the construction of python objects from JSON lists and maps. but on the other hand the internals are quite complex (i have been working with it recently, after not using it for a year or so, and it's taken some effort to understand everything).
Protecting symmetric crypto against quantum computers in the future requires doubling the key length. AFAIK that's the main reason for 256 bit symmetric crypto today.

Protecting commonly deployed asymmetric crypto against quantum computers [1] in the future is AFAIK impossible. Shor's algorithm and the ecc/dlp variants turn factoring, dlp, and ecc dlp, into BQP problems. Key lengths to protect against quantum attacks would render rsa, ecdsa, dh, and ecdh much too computationally expensive.

There are some alternatives like NTRU (lattice-based crypto) but none are in wide use, and patents don't help that situation.

[1] real quantum computers... there is still plenty of skepticism about the capability of d-wave's devices. http://www.scottaaronson.com/blog/?p=954
Already?! HB Firefox. And thanks for showing us that there was a better way than IE6.
No. If any affect was caused it would be made up with overtime in the next shift. If they need to they would pay bonuses. The few dollars extra verses a loss in sales due to no stock in stores...
Howard Florey
Howard Florey,Howard Florey Doodle Google,Howard Florey,Howard Florey Doodle Google
Howard Florey,Howard Florey Doodle Google,Howard Florey,Howard Florey Doodle Google
http://news.psdmate.com/howard-florey-doodle-google/
The problem I found is #1 is hard. In C# if I want to just exit/return an HTTP error I ignore the exception and it happens. In Go for the majority of cases I have to check the error and call a panic function. I wrote a helper function to do this - it takes one parameter and panics if not nil.

2 and 3 I've found to be at little less verbose as there's no try {...} catch{...} around it.

It seems a nice way of avoiding the stack sentinels or setjmp/longjmp that C++ has, which means the output is less architecture dependent.

Personally I don't think Go is quite ready for prime time, but it's definitely promising. I'm doing a couple of projects with it to see how it runs.
Pedantically:

Marx never called himself a Marxist. When he co-wrote (with Engels) the Manifesto, it was to consolidate the contemporary Communist thought into a distributable, available pamphlet.

It would help if more people read the Manifesto, as you obviously have, but other commenters avoided.
There are lot of technology issues to be solved in healthcare separate and apart from medical device technology. As one example Heritage Provider Network has been running a competition that will award $3 million dollars to anyone who can develop an algorithm to identify patients who will be admitted to hospital in the next year using historical claims data. Generally predictive analytics is a significant opportunity in healthcare. And as I noted in the OP, HHS has been opening up its huge data set to entrepreneurs and developers. Aetna also has an initiative in play to open up de-identified claims data to the developer community. A lot can be done in the area of developing tools around analytics & reporting and gaining not so obvious insights from claims data at both the individual and aggregate level. The bureaucracy is falling to the wayside but of course in order to accomplish anything developers need to have some understanding about the data they are working with. I have been itching to do something in the area myself but working on the analytics business side of the equation I need technical support.
Sorry, wasn't clear there - I have the physical snow leopard, iPhoto was the problem. I have the same screen as you but instead of the install button it says "Requires OS X v10.7".

Right now you might have access but who knows when it'll be taken away and you'll be back to torrenting the content you paid for.
Intelligence chief: EU capital is "spy capital"
Programs must be written for people to read, and only incidentally for machines to execute. (Abelson & Sussman, Structure and Interpretation of Computer Programs)
Spanner is quite impressive and I remember wondering if any of the cloud hosting companies would attempt to match it. The problem of synchronizing atomic clocks and GPS is itself not trivial (remember the faster-than-light photons at CERN?), but there are plenty of other challenges too.
What, no gimmick? PR fail.

(Not that it seems to have done much for Opera, but Mozilla is in a better position to capitalise.)
You are right that #2 is well served by exceptions when done right. It's also well served by checking locally and returning your own error status. Both ways can be done well. IME exceptions tend to pass the buck to the caller when they shouldn't, in the hands of mediocre programmers.
It's useful for a secondary or tertiary backup.
Just some more oil for the fire. Having worked primarily in Python for over 10 years (and generally been a huge enthusiast during that time), I'm pretty comfortable at this stage with the notion that exception handling languages contribute significantly in only one respect - they allow newbies to write code without ever properly understanding how errors should be managed without violating layering, where retries should be inserted, and so on.

The culture of writing code, and that code being fine once a unit test is passing seems to propagate the myth that it's fine for any code to throw any exception at any time – it doesn't matter as long as those errors expected to occur from testing are the only conditions that ever occur. As for the rest, well. Kaboom!

Starting off from C, it doesn't take you more than your first 100 lines before you discover pain due to missing a return value. In my experience, eventually 60% of your time is spent wondering how this particular return value propagates throughout the rest of the code you've written, and libraries in use.

The end result is my C code tends to be much more robust in the face of braindamage (say, network errors, IO errors) than my Python, simply as a result of a cultural mindset that basically encourages ignorance of error conditions.

You can also trace one of the biggest pains from Python 2 back to this culture: deferred error handling is at the very core of the Unicode/strings mess, probably the single most motivating factor for moving to Python 3.

[Extremely tired, aware this is poorly written and sways between points, but hope it makes some sense]
This is not about an evil government in Iran desiring to suppress the internet.

There is an economic, informational, and covert war going on right now between the US hegemony (and its allies) and Iran. Overtly Iran has been surrounded on all sides by US/allied occupation.

Google is not only the best information indexing resource ever created, it is also the most important tool that the hegemony has in its cyber-intelligence and propaganda arsenals.

http://metaexistence.org/theatre.htm
Chinese factory labour is a very different demographic to what the west had. A majority of Chinese factories workers come from China's 50% rural population where the children are raised by the grandparents in exchange for ~30% of the parents salaries. As in, the first generation raises the third generation in the villages, while the second works in the cities. Chinese life is very different to what most westerns are familiar with.
It's actually worse than that. The blog has error handling code like:

if err := datastore.Get(c, key, record); err != nil {
return &appError{err, "Record not found", 404}
}

This is pretty typical Google Go error handling, where errors are only actually used as boolean flags. Errors are universally returned as type 'error' so to actually do anything with the error you have to first cast it to some specific type. But that type isn't part of the method signature so you have to dig around in the source or, if you are very lucky, it was documented someplace. You end up having actual error handling plus even more error handling for if you got the error type wrong.

For instance if datastore could return 'record not found' or 'io error' then they would usually be treated the same way by the code because to do otherwise would be even that more of a hassle.
This does really sound unusual. For me, the ratio of reading to writing is about 4:1. Are you sure you are not writing too much new code, because you didn't invest the time to properly understand the existing one?

When you mostly work with your own code, do you still have that feeling of constantly improving your coding style and code quality (like looking at code that is X months old and knowing you would write it differently today)?
The Firefox Wikipedia page states:

"Initial release November 9, 2004; 7 years ago" [1]

Maybe they're referring to the 1.0 release? I do remember using Firefox way earlier than that, it must have been 2000 or 2001. I guess those were 0.x releases. Wikipedia doesn't seem to say anything about that.

[1] http://en.wikipedia.org/wiki/Firefox
Personally I think these laws are probably fundamentally flawed for a while now.
Swiss Railway: Apple's Using Its Clock Design Without Permission
If you use a language that uses error codes, then you're forced to explicitly think about what to do in every single error case (or not, and accept the consequences). This can add a lot of mental overhead, but can result in a much more robust and well-thought-out program. But because more logic is involved period (to handle the robustness), the program is necessarily more complex.

If you use exception handling, then suddenly catching errors becomes much easier, and writing code is faster, but it's not like your program is any more robust. If you catch an error up at the top, your program or function is probably just going to quit. Of course, you can add more code to deal individually with each of the exceptions in more robust ways, even to the point of wrapping each statement in its own try/catch block, but then it's no different in practice from returning error codes.

In the end, I just don't see much of a practical difference. In both cases, if you want to be a lazy or rapid programmer, errors will lead to your software just not working. And if you want to be conscientious about your errors, then you can do that in both cases.

Exception handling lets you handle errors "at a distance". It's convenient, but harder to keep track of. Returning errors keeps your code execution where you can see it, and you always know where it is. It's simpler, but more verbose.
So .... where does he go?
that's probably a good point, in that i have been trying to get the people i work with to think more abut code re-use. i sometimes worry we have too much of a culture of "make our own version" (but see below).

but also, i think it's just the nature of the work we do - typically i am asked to implement something new for a third party (i'm more a hired gun or "consultant" than part of a development team).

so probably it was a dumb comment of mine to post without reflecting more first. sorry.

ps to answer your last question - when i work on my own projects i do a lot of rework. at work i rarely get the chance, because one contract finishes and another starts. but not sure what you were getting at there.
This kind of error handling is the best part of Go.
Hype is a bunch of people claiming something is good. If there are enough people, you should probably go find out whether it really is good. If it really is, then voila! Progress happened. If it's not, you stop. This guy is busy finding out, that's all.
They should buy up young talent
Yes, I'm pretty sure I was using Firefox 0.7 in 2003 or early 2004, so that November date must be about 1.0 release.

EDIT: It was called Firebird back then, too
Possibly relevant: http://www.tratt.net/laurie/tech_articles/articles/a_proposa...
Datestamp here: http://ftp.mozilla.org/pub/mozilla.org/phoenix/releases/0.1/
Well the circumstances have remarkable similarities. Much of China's economic growth has been attributed to underpaid agricultural labor becoming better paid factory labor. (still underpaid but less so perhaps). That raises the amount of disposable income people have which raises their standard of living.

The next chapter in this book are unions (well that was the chapter that followed urban migration in many other countries) where the workers, demanding a fair wage for their work strike and stop production. This chapter can't start until there aren't enough underpaid agri-workers to fill the positions, but once there are, look out.

How all of that plays out in a totalitarian regime is not well understood at all. In the US and elsewhere the folks to took union organizers out behind a shed and shot them were eventually brought to justice and punished, enough so that the practice became too risky for the factories. It has been suggested that in highly corrupt or complicit governments that correcting force (justice for organizers against being shot) may prevent the formation of effective unions. And how that plays out on the world scene is even less well known since Europe and the US went through the union chapter when there wasn't instantaneous communication around the world.

Interesting times indeed.
The Chinese have a mob mentality. They themselves don't even know what they are rioting about, most the time. The internet is learning that it is about an accident in between a guard and a worker at 10pm. Trust me, the internet is learning this fact before a majority of the rioters are. If you can really call them rioters, as it is more like a 2000 man parade with about 5 people actually rioting (see the video). No one is in uniform so it is safe to assume these are off shift workers.

The last riot at Foxconn started with a dispute in between a worker and a local restaurant owner. Ended with a 1000 man riot. Nothing to do with Foxconn worker rights.

Such riots can't be equivocated with workers flighting for greater rights. They aren't. They want more money. Most the disputes are about broken promises of overtime work, as the workers make their best money from overtime. The workers don't live anywhere near the factories. They just work there for a few years to take money back to the villages where their families and friends live. They want money to improve families living conditions, not the factory that they don't give a damn about. They would trade factory conditions for more money almost any time, as the factory conditions are just temporary for them. They want to reach their goal of saving $X, go home, and enjoy their lives with their family and friends.

What I am saying is not universal in China. The Chinese government controls migration and in some locations factories can only employ local people. In such factories labour costs are much higher and workers do receive much better working conditions. This story is not about such a factory.
Cross your fingers and hope your new employer doesn't do the most basic of basic background checks.
This app has some interesting ideas, but fails at the core task of navigating to a destination when it tries to be too clever about the address.

Say I'm in SW Connecticut, trying to go to our datacenter in NYC, at 111 8th Ave.

For all variations on 111 8th Ave, New York, NY, 111 Eighth Ave, Manhattan, NY (and all combinations thereof), this app suggests bizarre alternatives in Brooklyn, San Francisco, or what look like misspellings from Foursquare like "8th Ave Parkimg Garage" (sic).

Unless one can enter an address and go to it, no other feature or UI element matters.
I've been reading that there's recently been a huge increase in phone-snatching on the NYC subway, much of it quite brazen (grab phone while person is using it, jump out door, run).

Maybe your driver was just paranoid, but on the other hand, maybe she's seen the stats...
Hmm, I see some countries on here that weren't on the Sporcle map.
"$300k and a $1m signing bonus" - Where is that figure coming from?
Indeed, we're getting ridiculous amounts of bad reviews re: our pricing model. People were used to getting transit direction for free in iOS 5, so there's a lot of angry people out there. Some people suggest we should get VC money and make the app free, but what we (@gcamp and I) really want is to make the best transit app out there and not have to care about an exit strategy or pleasing greedy angels.
I'm starting to wonder if these Internet Fortifications are dual-purpose - keep FB and twitter out, but also keep out stuxnet and flame etc. Iran's been under an intelligence barrage for at least a decade.
Unfortunately, the courts in many countries don't accept this as evidence of discrimination.
Everything about this App looks great except for the pricing model. Why can't I just buy it? I have to pay for a subscription if I want to use all of the features?
this sounds pretty bad - however i find it hard to have sympathy given past experiences.

the real problem here is that people feel they are entitled to things and don't have to earn them. if you lack the ability to get out of these kinds of situations (which is difficult a lot of the time) then you just have to suck it up and survive - and be grateful you are being paid money for a job instead of having to survive at even lower levels.

on the other hand, bravo for doing your bit to raise awareness of the poor quality of life that many people must endure to survive. a nice reminder that we are in the top 1% of the top 1%...

just my opinions as a former starving african child who once had to steal and find food to survive... actual survival where if you don't do it you die - and where things like law and society mean nothing because they are mere fabrications and reality is king.
I agree this needs to be improved. The problem is with Apple's geocoder, which seems to be really dumb at finding addresses. We would like to use Google Geocoding Service instead, but they don't allow it if we don't display the results on a Google Map (and starting with iOS 6, the map tiles are now provided by Apple).