skysight-inc/HackerNews huggingface dataset:
Our approach has turned out to work really well, and very simply.

We have N servers in round-robin DNS. When our mobile client starts up, it does a DNS lookup, fetches the entire list of servers, and then picks one to connect to. If that connection fails, it tries another one, etc. until it runs out (which has never happened).

We also ship the client with a pre-populated list of IP addresses (the current server list as of build time) and the client caches the list it gets from DNS whenever it does a lookup. This means that even in the event of a complete DNS failure, even for hours at a time, our clients are still able to connect. This was quite handy when GoDaddy's DNS was inaccessible a year or two ago due to what I recall was a DDoS attack.

A few weeks ago my ISP's DNS servers went down, and since I have the same mobile and DSL provider, I was completely unable to do anything on the internet — except play our game. It was then that I wondered 'why don't more apps do this?' It seems like a simple problem; if you can't do a DNS lookup, assume the previous IP is still valid. Assuming you're using HTTPS, there should be no more exposure from a security perspective unless someone takes control of your IP address and fakes your SSL certificate, at which point you're screwed anyway.
Did so thanks!
Monolithic Domes did such a project in India. I have no idea how successful it turned out to be in the end.
Update Apr 16, 2014 @2:34pm: I’m very pleased to announce that Facebook / Instagram did the right thing and delivered my wife’s Instagram handle back to it’s rightful place: http://instagram.com/kathleen
Cache: https://web.archive.org/web/20140415185616/http://www.dailyd...
The approach is somewhat novel and interesting, and it's the first time I've seen photos of an actual end-to-end implementation of the "3D print a house!!" trope. I do agree that it's probably impractical, but I found the approach fun to think about.

I also think this has a few advantages over tilt-up:

1) The resulting product is lighter, since the walls are mostly air rather than concrete. I suspect they could manufacture small houses at a factory and transport them by truck, without the construction overhead of other prefabricated home systems.

2) The end product probably insulates better. With the right internal design to try to limit air movement (and thus natural convective losses), these walls look like they could have a decent R-value.

3) Less space is required to print in-place or construct a manufacturing facility. Tilt-up requires enough space to pour the wall forms around the building in addition to room to utilize cranes and cherry pickers - an in-place gantry system for printing a house should only take (house+gantry) footprint rather than (house + height of house).
As someone who runs a personal OpenVPN server am I correct in assuming that I am not vulnerable to this as long as I have updated my OpenSSL library’s through the standard Linux package managers to a recent version that has fixed the Heartbleed bug?
Also, does not support Windows
I think you guys are missing the point here.

The point is: A barebone model for 50 bucks that you could transform in a high-end device expending more money on it when you can afford it.

Also... need more battery life? Why not replace that extra RAM memory module for battery one? Or even... why not to replace the 4 Gb RAM module for one with 1Gb + more battery?
That's pretty much a TL;DR of what I was saying in the post you responded to (note the last paragraph).
There seems to be nothing to prevent multiple submission. I would expect meaningless data as bootcamp founders + staff hang out on HN.
Right. The article refers to the fact that it may be of use to China's poor.
Slightly aside, but I am glad to see my monthly donation to https://openmedia.ca (like a Canadian EFF) seems to be paying off as they are getting their name and their point into big Canadian media :)
GE Capital Retail Bank?
As someone mourning the fall of the full-qwerty physical keyboard phone (yes there are the new BB phones, but by the next time I upgrade I anticipate that BB will be dead), this gives me hope. There may not be enough people who want them for manufacturers to make whole phones, but maybe there are enough to support a market in quality keyboard modules.
Hey, your site seems to have trouble rendering graphs on smaller screensizes.

http://screencast.com/t/jMZuQTz6xto
http://screencast.com/t/qSkFeFpM

I'd much prefer a fixed size table that I can pan vs an autosizing one.
Is Kickstarter kicking out pro-life projects?
Uh, because it's a new / interesting / powerful way of creating buildings that enables a vast degree of complexity and customization?
Process is not immune to entropy.

It is very difficult to assure that even experts don't make mistakes: especially when they are running through the same process again and again. They will, at some point, always make a mistake. Even the worlds most competent doctor is at risk of leaving a scalpel in a patient.

It is possible to lower the risk of such an event occurring which is why we push for best known practices (like enforcing {} syntax on all conditionals (I do), regression testing, etc.) and bodies of knowledge.
Agreed. This has been one of my biggest gripes with Instagram's blur feature as well.
I think the headline should probably be changed. This isn't really an unmasking, and the original article uses a question mark, which makes its headline sound less definitive than this. As mentioned by others, Nick Szabo as Satoshi is an old theory. While this adds to the case, without conclusive evidence, it's not a big story.
Regarding the technology (achieving shallow depth of field through an algorithm), not Google's specific implementation ...

Up until now, a decently shallow depth of field was pretty much only achievable in DSLR cameras (and compacts with sufficiently large sensor sizes, which typically cost as much as a DSLR). You can simulate it in Photoshop, but generally it takes a lot of work and the results aren't great. The "shallow depth of field" effect was one of the primary reasons why I bought a DSLR. (Yeah, yeah, yeah, quality of the lens and sensor are important too.) Being able to achieve a passable blur effect, even if it's imperfect, on a cellphone camera is really pretty awesome, considering the convenience factor. And if you wanted to be able to change the focus after you take the picture, you had to get a Lytro light field camera -- again, as expensive as a DSLR, but with a more limited feature set.

Regarding Google's specific implementation ...

I've got a Samsung Galaxy S4 Zoom, which hasn't yet gotten the Android 4.4 update, so I can't use the app itself to evaluate the Lens Blur feature, but based on the examples in the blog post, it's pretty good. It's clearly not indistinguishable from optical shallow depth of field, but it's not so bad that it's glaring. That you can adjust the focus after you shoot is icing on the cake, but tremendously delicious icing. The S4 Zoom is a really terrific point-and-shoot that happens to have a phone, so I'm excited to try it out. Even if I can use it in just 50% of the cases where I now lean on my DLSR, it'll save me from having to lug a bulky camera around AND be easier to share over wifi/data.
Can you provide a source for the NSA cracking anything ?
Solve your problem by almost asking a question on StackOverflow
The "Let Them Eat Cake" antipattern, that is. Maybe no one has written it and I just made it up...
Works well and the setup was quick and easy.

1. Install Chrome extension

2. Open the "App" in Chrome and enable remote desktop on computer and set pin

3. Install Android app, open it, then choose desktop from list and connect
> then, to my surprise, I had one of their co-founders write me back saying that such a thing would never happen again and that it was more or less inappropriate abuse of power. A sufficient response. We've yet to switch to them, or try 'em out, but at least they're now in the running again.

The problem is that the equity holders that allowed this to happen in the first place now have capital to hire people who aren't shitheads, but they themselves set the culture and hired the early shitheads in the first place.

Doing business with people like that, even if their business isn't shitheads now, sends the message that "it's okay to have no moral compass whatsoever, as long as you win and raise money/become profitable, and then fix it before you are too large".

That's not acceptable.
HN, help create a pool of UI component names
When working on web projects I always have difficulties coming up with names for the various UI components that I am implementing.

To solve this problem I have put together a gist to collect some good terms. I know you guys have some great ideas. Please share them!

https://gist.github.com/iclanzan/10785774
The mod in question AgentLame moderates hundreds of subreddits and is an especially... agressive/hostile mod. I think the moderators are the weak point in Reddit because they are given too much personal discretion over their power and usually the public is more willing to give them the benefit of the doubt. It leaves a lot of room for abuse.
That's a great question.

I'm a huge fan of the Go compiler's general stubbornness. Have unused imports? Compile error. Have unreferenced vars? Compile error. Perhaps misleading indentation should be another compile error.

Pain the ass? You bet; it's a feature. Ignore the whiny kids who insist their 'flow' is broken by having to insert semicolons. Most software work is maintenance, not new code.
That's a good point. I'm thinking more about 10-20 categories of language-agnostic error rather than hundreds of language-specific errors. And there may still be scope for a paper that explicitly examines the paleography lists for inspiration. Yay multidisciplinary research! :-) But it's nice to think that such a paper might have applications not just in language design but also compiler warnings, which certainly seems more practical/realistic.
Not even remotely similar. A copyright banner isn't even a mere instrumentality because copyright law already protects the ROM; the banner is redundant. (see http://www.copyright.gov/circs/circ03.pdf. Notice was required by the 1976 Copyright act but after the US adopted the Berne Convention notice became optional.)

On the other hand, mail headers and other such meta are frequently necessary to provide the service. The very act of using email requires giving one or more headers to one or more third-party email providers; the very act of making a phone call requires giving phone number information to one or more phone service providers.
yeah, I am surprised by that, too. Haven't heard about this one until now... and I have had my fair share with various VPN implementations, from OpenVPN to Strongswan.
C# supports dynamic typing BTW: http://msdn.microsoft.com/en-us/library/dd264736.aspx
In that case that would mean that Nick is single point of failure which does not help much. It's single proxy. Although we do not know whether transparent or not.
Link:

https://gist.github.com/iclanzan/10785774
I guess this gets to the crux of the problem with these sort of things where people make websites based on templates and WYSIWYG tools without much (or any) coding knowledge.

If these codeless "devs" get hired by someone to make their website and the customer wants certain things to work, the non-coding "developer" will be at the whim of the capabilities of the WYSIWYG tool they use, not their own coding capabilities.

I suppose as long as the codeless "dev" is upfront with their clients that they don't know code and are upfront that they have a limited offering, it's ethical. As long as the client knows that certain customizations may or may not be available to them and it also reflects the cost of the "development".

Don't get me wrong, I think WYSIWYG apps are great in principle, but in practice I think it's pretty limited on where they should be applied.
You’ll Change Your Marketing Strategy After Seeing This
Thank you. Fixed that issue.
>>pedagogy tries to find the optimal conditions for humans to develop their true self

>"True self" is not a real thing - it's mystical psychobabble.

Yep you are right, but I don't speak English natively and did not have much time :) A better phrasing probably would have been the true potential of the species, not of an individual. But true potential sounds too elitist... I'll try more verbosely: Mostly since the enlightenment (let's say the second half of the 18th century, one landmark was Emile by Rousseau), most central-european theory of pedagogy has a specific vision of an ideal of a developed human being (or species) to strive for. It's centered around development of practical, cultural and emotional skills, reasoning, the ability to assess the own actions relative to the state and necessities of society as a whole. Something like the living according to the categorical imperative of Kant while not feeling deprived of the own needs.
I really hate writing things in reverse, but a decent style in Bash is to put everything in functions, w/ a main() at the top:

#! /usr/bin/env bash
set -e -u
bar='bar'

main() {
foofunction
}

foofunction() {
echo 'foo'
echo $bar
}

main "$@"
NO, there's no plan...
This is exactly what I thought when I first saw the Apple bug, and I was surprised that the author didn't mention this at all. He's blaming the programming language here, but I have yet to see a language where a single line accidentally duplicated or transposed by a merge tool couldn't cause the same problem.
Of course. My IP attorney (Tennille Christensen) reviewed the whole situation and signed off on it. I have her written opinion in my inbox. There were particular IP issues around the name and the domain, but I avoided those by changing the branding from what I was thinking originally.

None of the core technology is related to my work at Intuit. I wouldn't steal that even if I was unethical and reckless... a lot of it predates the internet. But I know there's a business there and I know that there is lots of room to innovate.

I'm not a lawyer, but as far as I know the non-compete it's unenforceable in California, where I live. It would be unwise to recruit from Intuit in the first year though. That would be inviting a suit.
These blog posts miss the point of disruption: a disruptive bank does not look like a bank. If it looks like a bank, it's a sustaining innovation, and is subject to all the regulations, competitive pressures, incumbent advantages, etc. of the banking industry. A disruptive bank will at first appear to be an entirely different industry, and it's only when people start using it that it becomes apparent that it's really a bank in disguise.

Kickstarter is a disruptive bank. Bitcoin is a disruptive bank. Zidisha is a disruptive bank. GitHub is a disruptive bank. Most people will probably think I'm crazy for listing them, but they all serve the purpose of connecting people with productive ideas to those with capital to fund them, exactly what banking's purpose is.
if( DoSomething() )
goto fail;
else if(DoSomethingElse())
goto fail;
goto fail;
else if(DoSomethingOtherThanElse())
goto fail;

You get a syntax error at the final else-if. A better way would probably be:

int err = 0;
if(!err)
err = DoSomething();
if(!err)
err = DoSomethingElse();
if(!err)
err = DoSomethingOtherThanElse();

if(err) goto fail;

I would prefer chainable commands that abstracts out the error checking though.

err = Chain(DoSomething).Then(DoSomethingElse).Then(DoSomethingOtherThanElse);
Microsoft now lets Outlook.com users import from IMAP-enabled email providers
I'm the grad, rather than a guy working with a grad. But, just a bit of my experience:

When I first came out of Epicodus into working at my current firm Ahalogy, I obviously knew I had a lot to learn. However, the way I've hit the grindstone and just continued to expand my skillset and learn (which is a skill that Epicodus helped me develop) the developers I work with notice constant improvement and I've gone from 'definitely a junior dev' to having projects that I own and work on exclusively as well as other large ones. We also hired another bootcamp grad who is in about the same boat (he came from Dev Bootcamp). Hopefully you get some encouraging results :) I love my job and where I work more than words can describe and Epicodus opened these doors for me after I grew sick of my Physics curriculum in college.

edit for context: I was in Epicodus's last fall class. So, 6ish months of time since I finished up and began working a bit later. Took some time off to find the perfect fit for my first real programming job that wasn't freelance.
Also, M-q to stash the current command, run another command, and have the first command pasted back to the prompt, with point in the right location.
One of the greatest features is the ability to change your focus point AFTER you shoot. This is huge.
CampaignMonitor raises $250M from Insight Venture Partners
That can sometimes happen. If it is very obvious that a legal mistake was made, it is possible for a court of appeals to remand the case for further investigation. The problem in this case was not only that issues were not raised, but that Lavabit actually conceded that the government was legally entitled to the information it requested.

The opinion itself actually gets into all of this in considerable detail. I highly recommend reading pages 20-40 -- especially pages 22-23 -- if you find these issues interesting. The opinion also points out that there is a certain value in opinions' being final. If the court of appeals will just overlook the fact that parties have not raised all their arguments before the lower court, what incentive will litigants have in the future to do so? District courts are real courts! A litigant should not feel free to treat the district court proceeding lightly (as Lavabit seems to have done) in the hopes that it can prevail before the "real" court of appeals. The opinion also points out that the identification of issues of major public concern is probably not something that the court can be trusted to do objectively.
Coverity finds open source software quality better than proprietary code
> Take control of your web presence and your "interactions with the entire world."

That's all fine and good but there's no way to interoperate with the predominant (centralized) microblogging platform (Twitter) if one does this. It leaves you out of the conversation and puts you at a disadvantage - a non-starter.

Idealism like this is nice in theory, but fails hard in practice.
It's Adventure Time
CGHub closes down
The Latest - Miley Cyrus tweets from hospital

Guess where you can find that on the front page?

RYOT is exactly what an ideal news site should be.Hope it succeeds.
This is fundamentally what I call the Tower Defense[1] model, borrowed from my old manager here at LinkedIn, Rino Jose[2].

The Tower Defense model is an approach to software reliability that focuses on catching bugs at the lowest level, to avoid the inevitable combinatorial explosion in test coverage surface area. In other words, deal with problems like these at the language level, so there is NO NEED to deal with them at a higher process-level.

No one is disputing that processes, QA or Devops couldn't/shouldn't hypothetically catch these bugs before entering production. The problem of course is that they usually don't, because the lower level defenses are allowing too many bugs through, that they really shouldn't and the higher level processes become overwhelmed, fail, and allow bugs to cross the critical production threshold.

This means always giving higher priority to lower-level methods of reliability. For example,

* Language rules are more important than

* Unit tests are more important than

* Integration tests are more important than

* Code reviews are more important than

* QA is more important than

* Monitoring is more important than

* Bug reports

[1] http://en.wikipedia.org/wiki/Tower_defense

[2] https://www.linkedin.com/in/rinoj
I just spent several minutes trying to come up with an accurate title, then found that users had overwhelmingly flagged this article anyway.

The title on this post is outright false. The HN guidelines call for making titles less misleading, not more.
It's funny. This post, and the post it references[1], gloat about technology but they don't speak much at all about the value provided to bank customers, which, by the way, are a very diverse group. It's very "if you spend countless of millions of dollars to build it, they will deposit."

I don't think anyone would argue that technology doesn't have the potential to be used as a competitive differentiator in the consumer banking sector, but as somebody commented on the referenced post, "Disruption is much more fundamental. It is about rethinking the needs and desires."

Interestingly, if you focus on the needs and desires of customers, you might come to the conclusion that building a bank is the worst way to pursue the opportunities technology has created in financial services. USV's Andy Weissman had a great post that talks about this[2].

[1] http://jackgavigan.com/2014/04/14/disruptive-bank/

[2] http://blog.aweissman.com/2013/01/banking-and-unbundling.htm...
> ... recognized the program was useless and boiled it down to a 3 instruction loop

The loop itself is quite useless, why wasn't it also removed ? (Just kidding)

I don't have anything agains Lua or hash tables in principle. And of course tables are used in practice in CL code, but they aren't the primary data-structure.

> __index can be another table to searched if the lookup on the child fails (which in turn can have its own parent and so on)

> the first time a function like "GL.CreateShader" is called, the lookup fails, and the __index metamethod mangles the index name a bit and in turn calls (on Windows) the C function wglGetProcAddress to look up its address, which it then stores in the original table. Using this library, you can write code that uses GL functions willy-nilly, and their addresses will automatically be looked up at runtime the first time they are used.

So, it is an association list implemented using tables, where links are given by the __index property, using a metatable.

So maybe it is convenient after all to have a very simple data-structure like cons in a language and let more complex data be implemented with it, instead of the opposite.
Agda has a compiler that can extract Haskell or JavaScript, yes. But Agda doesn't seem to be very heavily used for this purposes - Coq on the other hand seems to have very mature extraction capabilities for Haskell/OCaml/Scheme and has been used quite a bit for this purpose.

You could also of course use Idris, which directly compiles to executables.
This is very promising and on its way to commercial availability http://www.ruralstudio.org/initiatives/20k-house
Tiger beetle's chase highlights mechanical law
> I do wonder how this competes with straw bale / rammed earth, shipping containers, and other recycled, rapid prefab building manufacturing.

On labor? Much cheaper. And labor is typically the greatest cost.
Adding a compiler flag after the fact does nothing to change the volumes of code that either were written before it existed or without regard for it. Also, especially in the case of C++, have fun using that feature while including any third party headers that don't adhere to that convention.

From a language design perspective, part of the reason this is such a good example is precisely because there is so little to be gained by allowing the braces to be optional.