skysight-inc/HackerNews huggingface dataset:
I probably wouldn't consider it. When it comes to how people react to injustice, shallowness, stupidity (such as age discrimination) there are exploders and exploiters. Exploiters figure out how to use peoples' superficiality, stupidity, and moral deficiency to their benefit. Exploders get angry and try to rally the good to the cause-- they're the whistleblowers.

I'm an exploder, not an exploiter. It's my nature. I'm way too honest and blunt to be an exploiter. (Fuck, here I am being honest about the fact that I don't think dishonestly is always bad and that for many minor forms of it, even though I could never pull them off myself, I'm ethically OK with it.)

But ask your local Googler whether I'd recommend whistleblowing as a career move.

In movies, people like exploders and whistleblowers, but in real life, people think of exploders as a pain in the ass (killing the messenger) while exploiters get ahead. I used to think that exploiters were all unethical, but I've come to realize that some people can be exploiters without being harmful or unethical.
noted :)

Ya it seem like they are adding cities as they can. In SF it works great! They really should post an eta for each city.
It's a little hard for me to feel sympathetic with the need to conceal problems with products, trash the environment, lobby the gov't to be allowed to trash the environment or whatever, set up shell companies for nefarious reasons, etc. Yet companies do all that. Lying on a resume is small potatoes in comparison, as horrible as it is.
And then that becomes its own problem, "Uh Chuck, we can't find out anything about you (ed: as if :-)) so we're not sure you are who you say you are ..."
On the topic of when to use error-returns vs. when to use panic:

I struggled with this aspect of Go coding too and what I decided was that, in order to choose your approach to errors, you should think about how important it is that your function can be composed into an expression:

x := foo(a) + bar(b)

vs.

c, err := foo(a)
if err != nil {
...
}
d, err := bar(b)
if err != nil {
...
}
x := c + d

It's a trade-off. By using "panic", you enable more concise and compositional code. By using error-returns, you are being more explicit and making it easier for the caller to handle errors at the call-site.

Usually, functions that can fail are not the kind you desperately want to use in expressions anyway. So error-returns are more common. But there are many situations where errors can happen and where composition is a big win. In those cases, you reach for "panic".

If you look at some of the built-ins that can panic--I'm thinking of array-indexing and division and regexp.MustCompile(), for example--you notice that these would become very cumbersome if they used error-returns instead.

There's also the issue of initialization. That's the justification given in the case of regexp.MustCompile(). An initializer must be a single expression.

The words "panic" and "error" probably lead people to think that you should make the decision based on severity but I don't think that's right.

(That's just my take on it. I'm no Go expert so there are likely better ways to think about it.)
Then Company C decides to do business with Company A rather than Company B because Company B isn't following the latest mumbo-jumbo, and ao on...
Pro SEO Link Building Explained
Servers and app maintenance has recurring fees. Taking public transportation itself is based on a pay-per-use model. Why assume that paying 2.99$ for an app entitles you to free lifetime updates and support? A lot of apps do it, but more and more we hear that it is not a sustainable revenue model. It would be a whole lot different if Apple allowed paid upgrades, but they don't.
We do, at least for the cities we plan on supporting very soon: http://thetransitapp.com/support
Show HN: jq, a lightweight commandline JSON processor
solution: find good angels.

Have you guys taken investment before?

Sam, with your resume you should be able to get a+ angels that could help with the business end of things. You guys have the product end covered :)
Bizarre example, as that workflow's been fine on an iPhone since before Samsung had Android phones.
Completely agree. I hope you keep this model up.
It's coming from how much minimally you are going to need to lure away a mapping expert from his stable and appreciated job at Google, which includes options, for a place that is opportunistic, unpleasant and unlikely to have much options upside.

Bonus value based on the case of a few years ago, run of the mill employees getting $500k and up signing bonuses, plus generous options, to leave Google for pre-IPO Facebook. That's run of the mill guys, not guys with the specific talent you need working for the ONLY company that has completely solved the problem. For that person you need more, not less. Salary is based on current salaries for this level of extremely specialized expertise.

There are fewer than 10 people worldwide Apple can hire with the skills they need to organize this right. All the guys they acquired from three poorly known companies that were unable to solve these problems well enough to compete with Google are irrelevant since by definition those guys don't have the skills needed. It's not a buyer's market in any way shape or form.
The next four words read "would be more reasonable."

That figure came from what the poster believes to be a more reasonable offer.
Cocos 2d for Android is alive
I've decided to resume my work on cocos2d android engine.

For the purpose of developing a new game on Android, I've tried a few scene graphs & graphics libraries for a while (even tried html5) but nothing seems to be doing what I want. cocos2d remains the best solution for developing 2d games and animations and Android phones are great to run those games too!

If you are interested to help, please don't hesitate to send me a request. You can also send a donation so I can work more hours on this project or even send a mail saying 'hi'. Feel free to send me your suggestions!

Happy gaming!
From their homepage:

Access to Python libs

Mypy will support accessing Python modules from mypy programs, running in the stock CPython virtual machine for the best compatibility. You can also access your existing Python code.
What if you are a policy maker, or someone poised to influence policy makers, that could affect the prospects for Silicon Valley and "Web 2.0"?

I cannot take him and his arguments about "science" seriously because 1. he is using the concept of scientifc progress, which many of use would agree always worthy of pursuing, under the guise of "Web 2.0" which you might guess is not my idea of science and 2. his background is Stanford Law School, a Wall Street trading desk, a hedge fund and then PayPal and Palantir. He has little credibility on this topic: science.

If he were focussed on preaching the merits of philanthropic donations to scientific causes, and he has some credibility on this, I would not be criticising his writings. But as we all know there is more to his agenda and these PR pieces. They always include references to "Web 2.0" and Silicon Valley. No harm in trying to pump up the market for web startups, as long as you're within the law, but when you start sugar-coating these pitches with talk of "scientific progress", then I take issue.

It's true he may warning of a general problem with a growing disregard for science. But why does he have to connect it to "Web 2.0" and Silicon Valley? Maybe because that is the only things he knows that is remotely reminiscient of science? Or is there some other reason? Because he is a venture capitalist in that sector? What is the purpose of Section III?

How does he know that science is being ignored? Is he working in a lab somewhere and short on funding for his research? No. He's a Silicon Valley venture capitalist investing in "Web 2.0". He would know if Silicon Valley is being ignored or could use a little more attention. Of that I am certain.
Of course it will get better.

The real question is whether it will get better enough, fast enough.

There's certainly a limit to how much Apple will throw (they're not going to empty out their nest-egg to fix this), and throwing money at a problem doesn't always work so well.

In particular, public-transit and in general any "non-car" data is something their maps simply don't seem to even start addressing. This isn't entirely surprising as their data provider, tomtom, is a car-nav company, but it's a huge hole, and one Apple seems to have completely missed.

One of the reasons Google's public-transit directions took so many years to get good is because teasing the necessary data out of the many different regional agencies/companies that have it is a pain-staking and slow process.

The very poor coverage in many countries is presumably because Apple's existing data providers do not have good coverage of them, so Apple probably needs to contract with region-specific providers, integrate their data (which may not be simple) with the Apple maps infrastructure etc.

All of this is doable, but it takes time, maybe years. They really needed to do a lot of this, or at least a convincing chunk of it, before the big release, not "sometime in the future."

Certainly Apple has reasons to make their own maps, but by releasing such core functionality in a form that's very clearly not ready for prime time, they've damaged their (extremely valuable) reputation as "the company that does things right."
Thanks for the clarification. This sounds valid.

In my last question I was just wondering how or when you (or others) tend to improve their coding style. For me its mostly when reading other peoples code and noting that a) certain aspects are great or b) not so great. But maybe that just comes naturally to me because I don't have that much experience under my belt.
You have no point. The term wage slave has been around since the industrial revolution and has a very well understood meaning.
They don't charge you $1400 a month if you're earning less than that, you can defer. Your interest gets added to your principal in that circumstance. If you model a tax as an infinitely large debt, this scenario makes the loan resemble a tax more.
The following illustrates how you use Go errors as if they were exceptions:

func A() error {
err := compute.Something()
if err != nil {
return err
}
return nil
}

Throwing errors up the return chain using error values is really very little different than throwing up the return chain using exceptions, except that now there is only one way to return, and it is always clearly marked. You return where you say "return". And you return what you said you would.
Basic Photohgraphy Workshop in Bangalore
Looking For IOS & Android Developers Well Versed With The GREE Platform
Please email klownkeeper@gmail.com ASAP
I agree with this line of thinking but it's not what people are used to. As much as it sucks, anything more than free people will complain.
I remember commenting the story when the first release came out (IIRC it was just play/pause). I'm thrilled to see that this is still going, as there have been plenty of times I've ended up scrambling around for my Mac remote in the dark.
People are born in one country (Soviet Union) and die in another (Ukraine), even though they never moved from their home city (Odessa).

People are even born in one city (Leningrad) in one country (Soviet Union) and die in another city (St-Petersburg) in another country (Russia), although they never moved.
> Basically, an exception will be raised and a 404 will be shown.

I understand your point in general, but have to disagree with the example you chose. A 404 implies Page Not Found.

The Python framework I use (http://bottlepy.org/docs/0.9/_modules/bottle.html) makes this a 500 Internal Server Error, with the text "Critical error while processing request: /foo-bar". IMO, this is ugly, and not super user-friendly, so I usually end up writing try catches around "one-liners" to log a better error than a stack dump, and present a friendlier message.

If he really wants this kind of framework-provided error message, then a panic would be more appropriate, because the HTTP server in Go will do the same thing as bottle. It's definitely not going to be as succinct, but it'll be more succinct.
uhh..ok. So computer means sky now. Internet means cat.

Didn't you know?
I see how this can be framed as "oppressive government can make rational decisions to preserve its status quo" while avoiding the elephant in the room. But this analysis can be applied to any oppressive government (Argentina of the 80's, Zimbabwe of the last 20 yrs, Idi Amin, etc. So, from that perspective this is true. At the same time their government is more interested in maintaining a theocracy and suppressing internal opposition than in providing a functional government for its people -all the while presenting it internally as an "us against them" issue.
Really cool app, thanks! I've been using it the whole day yesterday and performance was really good (did get few false positives though..). I was pleasantly surprised when it recognised next song gestures in really dark conditions, hand was mainly lit up just from the macbook screen itself.

It would be really cool to have a gesture for answering a Skype call (maybe even making a call, to pop up online contact list). Telephone hand gesture should do the trick.

Keep up the good work! I can see this going beyond the music control.
You're starting your history a few lawsuits too late. Apple was not among the incumbents in the smartphone industry who initiated the practice of lawsuits as royalty negotiation tools. Around the same time as press started pointing out Apple's disproportionate piece not of smartphone marketshare but of smartphone profits, Apple became a target. But, not an easy target. They had profits to fight back with. Now when the incumbents face setbacks, and people no longer see Apple as underdog, turns out those people who didn't notice how this started now blame Apple for playing the game the others started. Sorry, but that's revisionist.

Again, these are not "patent wars", these are royalty negotiations, and this was how it was done among the phone makers long before Apple had a phone. The only thing different is that you're paying attention, while Apple doesn't just cave to pay royalties it doesn't think it owes such as for FRAND patents or patents licensed through purchase of licensed chips.
We haven't. You're right that some help on the business side of things wouldn't hurt. With the iOS 6 launch though, Apple is pretty much taking care of the marketing end. Not sure what else could VCs bring us... (maybe that's just me being naive here)
48 hours of coding
What you describe is just a denormalization of my solution. You are already optimizing a proposal that was designed as a very short example of a better data structure. That's absurd. If you need to access often the current marital status you can cache it, store it on the client, use a materialized view, write it in a file along with other info, etc.

I would advice personally against the plain denormalization you propose (if I understood it well), because it means your application logic will have to handle it, and your data structure will not produce a very simple straight forward code that is the appendage of good data structure.
Google Plus and Streamified: “Why Can’t I…?”
This is the power of designing before you code. Nothing to do with data structures. Data structures are part of the design but you're focusing on the object oriented design aspect.
"Lucky" is in the eye of the beholder. Where I work, code review is a regular event, so there's always another set of eyes on your work to help you catch issues that aren't the purview of unit tests. It's also a great way to learn from more experienced developers.
I'm quite used to that "conspiracy theory" tone (that's the tone our government always uses), but honestly I wouldn't have imagined I'd read something like that on HackerNews...

I sincerely hope you don't really mean what you wrote. :(
Vector pipelining is different from instruction pipelining. And the Itanic is a very different machine than a Cray-1. But in both cases the motivation is similar: to avoid operations with a variable cycle time.

The Cray has no variable time operations at all. All operations have fixed timing. This makes the implementation of vector pipelining much easier.

The Itanic on the other hand relies on the compiler to instructions for optimal instruction pipelining. To do this the compiler needs to know the latency of the operations.

For a x86 a reciprocal instruction makes less sense (except for vectors of course) since most x86 schedule instructions dynamically by hardware. It does make sense multiply with a constant instead of dividing, etc. But a reciprocal doesnt.
But that adds an extra step for the developer, plus this could possibly be bundled in to an installation script.
The default behavior for an error in a programing language with exceptions is to crash. This gets your program back to a known state (i.e. not running). It's impossible for code to blindly continue when something bad happens.

If you want to handle some error in a way other than crashing, handle it. Web frameworks usually catch exceptions that arise while a request is being handled, finish the request, and keep handling new requests. You handle things more specifically only as needed.

I like that behavior so much more than having a program keep running in an unknown state unless you handle errors line by line (and value it more than keeping code execution where I can see it). I don't think my programming language knows what errors are very important, either — that depends way too much on context.
I really hope this guy doesn't start a kickstarter for the hardware side of the project. I would be completely unable to restrain myself from backing it.
Unix/Linux Cheat Sheet
Book Review: This Machine Kills Secrets
Maybe I'm a little biased, but I think we're headed toward a new revolution in science. My work in molecular dynamics has convinced me that we aren't too far away from enough computing power to completely simulate many phenomena that are too complex to otherwise understand.

Biology in particular is very complex, and I'm not entirely sure researchers can come up with models that are subtle and complete enough to accurately describe significant processes without becoming too mind-boggling for a human mind to grasp.

On the other hand, if you can just simulate all these processes, drug development becomes a series of algorithms that optimize the desired effect while minimizing undesired effects.

Some types of technology will require quantum computers. To simulate a system of N qubits using a classical computer requires 2^N states which quickly overpowers even the most advanced supercomputers. But if we can make even rudimentary quantum computers our simulation efforts will be significantly advanced (hey, we can factor the number 21, so it's a start!).

To give you an idea of the current state of simulation research, we still require a lot of approximation models. What would you do if you wanted the most accurate simulation of a system you could get? Well, you would create one wavefunction of all the particles in the system and simulate its time evolution (Dirac equation).

Of course, we can barely do this for simple atoms right now, so instead combinations of experimental data and basic QM simulations are used to get information about atomic/molecular interactions. For a large molecular system, these interactions are studied to create a new approximation model (like coarse-grain simulations). The problem is that each higher abstraction loses touch with experimental reality. Current biological simulations are really only "suggestive" instead of predictive. On the other hand, argon and nitrogen simulations match up almost exactly with experimental data.

Again, as computing power develops, less abstractions will be necessary and simulations will become closer and closer to their experimental counterparts.

To give an analogy for some of you computer graphics people, consider the huge number of "tricks" used in rasterization engines for video games to make the images look photorealistic. However, even a simple global illumination algorithm (bidirectional path tracing, photon mapping, Metropolis light transport) give incredibly realistic results but require far more time. It's a tradeoff between models (hard to come up with good ones) and computational capacity (but doesn't require much thinking).
10 years ago the browser market was very different. ie dominant and many sites (banking in particular) "ie only". Mac had a version of ie and linux as a web surfing platform was wanting.

Firefox has been a good thing.

for those using firefox, the browser has more information.

go to the address
about:mozilla

Maybe "information" is a stretch, but its fun.
When dealing with C and error handling, I have rather simple rule. If in the process of writing a simple program (+1k lines), and you did not find a bug in the libc documentation, then you are not looking hard enough at return values.

I do not have the same rule for python.
A while back I asked about this for another piece of software I work on, and was told that in general, Wikipedia preferred to use the date of the 1.0 release. Though looking at some other articles, it seems this is inconsistently applied at best.
I was a big fan of Phoenix. What bothers me about modern Firefox is forced updates combined with surprise browser resets that break plug-ins and delete settings data. A few more of these and I'll finally have to switch 100% to Chromium (except for site testing.)
"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."

It is very different. With a try/catch block, you can see the normal logic flow of your code in one place, separated from the error handling logic. If you wrap each and every line that can have an exception with it's own try/catch block, then yes, that is pretty much the same as handling explicit error codes. Which is why I consider that poor style in languages that have exceptions.

Separating error handling code apart from the logic flow of normal operation is simply not possible with error codes as function return values.
This is cool. Would love to see it as a bookmarklet.
Funny. There are actually a whole bunch of libertarians of Thiel's ilk whose views have the same flaw but in reverse. They assume that if they can stop the government from "debasing" money and "devaluing" their savings, they can sit on money today safe in the knowledge that it will be worth more tomorrow. Of course, without technological innovation that won't happen either. Worse, if this were possible it'd be far more toxic to technological progress than any "welfare state" could ever be; taxes merely make it slightly less profitable, whereas this libertarian idea is pretty much guaranteed to drive returns on all but a handful of investments into the negative compared to just sitting on the money. With no financial incentive to innovate, why bother?