skysight-inc/HackerNews huggingface dataset:
The stdlib's compress/bzip2 internally does the same sort of thing where you do a bunch of operations and then check for errors: http://golang.org/src/compress/bzip2/bit_reader.go#L12

And regexp uses panics to propagate parse errors up the stack internally, and that's even described in Effective Go: http://golang.org/doc/effective_go.html#recover

In both cases an error value is returned to the package user.

In general, I think you should feel freer do abnormal things that suit your situation within a package as opposed to across API boundaries. The standard ways of doing things should still be preferred when it's not too costly: the standards are what they are for a reason (even if the tradeoffs they represent are more appealing in some situations than others), it's easier to read code that's written in the way everyone's used to, and standards help keep you from spending time bikeshedding unimportant details. But the surface area of your package is the first thing users will have to learn, and what you have to keep in your head whenever maintaining code that uses your package--that's what it's most important to make clean and normal-looking and consistent.

I know the post talks about using an unusual error-handling pattern in an API, and you can do that sometimes, too. Just trying to make a separate point--when you're thinking about doing unusual stuff, keep in mind there's a big difference between an unusual implementation and an unusual API.
Apart from being false this doesn't make sense. Apple put thunderbolt ports on the machines they sell. You're suggesting they included ports so customers wouldn't use them?
Macs vulnerable to virtually undetectable virus that “can't be removed”
So, you earned enough to make a living by writing novels?
I found this course helpful:
http://www.thegreatcourses.com/courses/scientific-secrets-fo...
A service where I add the groceries I want and they get purchased and delivered from local grocery stores.
My understanding is: 1) More megapixels, 2) a larger sensor (more than twice as large) means more signal-to-noise at each pixel site which means less noise in low light, 3) the Mamiya has far greater dynamic range (around one stop greater, double the amount of light).
yeah, people have suggested a variety of things. i'll add those to my list of static generators to investigate, thanks :)
Spaces in filenames are terrible as well. Is it "Documents" or "Documents "?

Perhaps one could calculate some sort of visual distance between filenames and not allow any two in the same folder, if their distance were less than some constant.
It's becoming easier to customize servers and routers, http://www.opencompute.org/projects/networking/
On a scale of 1 to 10, where 1 is on-premise server and 10 is 'the cloud', I think renting dedicated server can be a 7, which is pretty 'cloudy'.
GPUs don't support precise exceptions. For example, you can't take a GPU program that contains a segfault, run it as a standard program (as in, not in a debug mode), and be presented with the exact instruction that generated the fault.
I have three kids. They are all still in the house, but my wife and I have put a lot of effort into understanding how we make "successful" children. After a lot of reading, reminiscing and thinking about it I have come to three conclusions about how to have successful kids.

1. Don't be poor. Statistically, those who are under or near the poverty line have exponentially worse outcomes than those who are even slightly above it. This will get them at least 50% of the way there.

2. Don't be abusive. Either physical, emotional or sexual abuse will destroy and poison a child. While it may seem obvious, some people don't realize that they are doing it because that is what they were brought up with. This gets them another 20% of the way.

3. Be part of the right social groups. Social mobility is huge for being in "the right place at the right time" or in other words "being lucky." This will get the kid into 80% territory.

The last 20% is a crap shoot that is largely dependent on a mix of external factors and individual actions past peak parenting age.

edit: By the way, notice how the families in the article hit all my points. No poor, abused or outcast people in that group.
This is the reply that should be at the top of this branch of the thread. You've expressed it far better than I, or the rest of the respondents.
Whether he's an idiot who acts like an idiot or a genius who acts like an idiot so people like him, he's still acting like an idiot.

Just further evidence that politicians are inherently crazy, by their nature of wanting to be politicians
I found his emphasis on history to be unusual and refreshing, but we don't certainly don't need to agree on someone else's goals for their project.

That said, I personally don't see a lot of value in being too critical of projects with different goals. (That feels a little bit like back-seat driving where you have a different destination in mind than the person behind the wheel.) If someone has the motivation and creativity to embark on a project, good for them.

If you or someone else wants to port TeX with different goals, that's also fine.

In any case, until Glenn's source code is available, neither one of us can say very much about the code he has written.
The article contains the best parenting advice ever: "Your job is to see who your kid is. And help your kid be whoever that is." Lest any of the childless here become too smug, this is much, much harder than it sounds -- especially because kids are often different from their parents in ways that may seem genetically impossible. My advice to parents is: as an adult, you are inherently more flexible than your child, and it is easier for you to change yourself to help them become who they are than it is for them to change themselves to become someone that they aren't. Again, if this sounds easy, it isn't...
With a cloud provider I at least have some confidence what I'm running on vs. some rando who's trying to skim personal info from one of your magical distributed nodes.
I asked Mike about this a while ago. Here's what he said about the challenges of it (this was a year ago, so I don't know if this represents his current thinking or not):

"Using 64 bit integers all-over will definitely hurt tight
loops on 32 bit machines -- narrowing number ranges is very tricky
for the compiler. Also, the fact that int64_t is neither a subset
nor a superset of a double is worrying. This kills various
optimizations and may give surprising results even in simple
mixed-type expressions."
Be Afraid: This Digital Skeleton Key Can Give Hackers Keys to Corporate Kingdoms
Are there any good resources for learning more about wireless communication? Its something I have been wanting to learn for a while but compared to resources for programming, resources for learning about wireless communication are scarce. I am especially referring to embedded wireless, I would love to know how the nRF24 works.
Researchers Who Id'd Gluten Sensitivity Now Shown That It Doesn't Exist
The expected value estimate isn't sufficient. One should also estimate the risk of ruin more than "probably". If someone got to that point on friends and family money, and/or like Cisco using credit cards for financing, then another way to view this is 0% of bankruptcy vs. non-trivial chance of bankruptcy (including medical bankruptcy) and limited access to new seed money.

Of course, if your 90% case is to have a job paying 125K/year then the risk is very low. My point wasn't about you personally but the analysis that should go into this sort of calculation.
They give you $150 credit each month for 3 years upon signing up with bizspark with nothing to pay up front. Surely that justifies taking the time to check it out if you're already curious.
that's comparing an orange with the produce section of a supermarket; AWS is much more than virtual machines; for just a box with a set cpu, memory, disk and bandwidth you're right that it's cheaper to rent a dedicated server and even cheaper to co-locate.

Plus even for a single server with a cloud provider you still get advantages like one-click snapshot, monitoring dashboard etc etc.

For production/serious servers looking at price alone is not the best idea; what about other features like reliability (uptime), support etc.
> While overall charters and public schools compare relatively closely, both the 2009 and 2013 study found that charters did better for students in poverty. In addition, performance gap is growing over time:

It's not that hard to explain reversion to the mean. The schools in the lowest socioeconomic areas are generally, a priori, the worst of the bunch.

Consequently, just about anything will perform better. This is especially true if there is any ability to self-select (lottery is insufficient evidence as expelling "bad" students back to the public school is the same as self-selection).

When charter schools are compared in the suburbs, they generally perform worse than a public school.
Maybe and Either constantly show up when people discuss patterns to make error handling less clumsy in languages without exceptions baked in (and in asynchronous contexts in some languages with exceptions) - I just wish posts like this named what they're talking about better - Rob Pike is undoubtedly aware of the names.
Adobe products have had issues with HFS+ Case Sensitive FS for YEARS. It's part of why I moved away from them (along with not releasing patches for software 1-2 versions old on versions of OS X 1-2 versions newer).

Here's a sample:

http://tzvetkoff.net/posts/2013/05/20/adobe-cs6-on-case-sens...

http://superuser.com/questions/247920/install-adobe-cs5-on-m...

http://thinkingdigitally.com/archive/adobe-photoshop-cs3-osx...
3 Reasons to Have a Balcony Glass Balustrade
Decentralization of Nxt vs. BitShares
Unfortunately, its impossible to implement Maybe / Result / Either in Go. Doing that requires generics.
Indeed "uppercase/lowercase" is a pretty anglocentric way phrase things. Who know what sort of cases somebody might come up with in their next language. "Normalization" is properly a more general term, but who says a normalization always exists?
I don't agree that this is reversion to the mean. If we saw it be the case that school districts with particularly good outcomes one quarter were more likely to have a decline in performance the next quarter independent of all observables, THAT would be reversion to the mean.

If there is a statistically significant difference in outcomes between charter schools and non-charter then I don't think we can dismiss it on the grounds you state.

But you did bring up an excellent point in the self-selection bias. We are potentially comparing apples and oranges if the charter schools get a different sort of student to teach.
OK let me sell my shitty zone 6 flat and buy one in Mayfair instead. The problem with London is that it's no longer a city for the middle class or even upper middle class. Instead properties in London have become commodities like gold, oil and diamond for world's millionaires. You lot work in IT, sell up, get a remote work and work from sandy beaches of wherever suits. Still a better solution than saving up to buy a flat, coz you fucking can't anymore.
I know a guy who got into trouble write a <insert favorite programming language> module and putting it in a public repository. The module solved the current task. It was easy to install and had documentation. All good? No. The company claimed he spent extra (meaning unnecessary time) cleaning up the code and making is usable for other companies. Also I think he didn't attribute the company. They claimed full copyright to the module, co-maintainer status and reimbursement (money back from the outsourcing company, not sure if they could have deducted part of the salary).
To be save I would even suggest to invest in a second laptop so the company can't claim you used company resources at home after work.
alibaba has a group of people user erlang.
In other words, did the researchers completely forget about the single most obvious confounding variable? The answer is no.
> I really prefer the Java "force you to catch exception" model much more to this.

https://github.com/kisielk/errcheck/ will tell you if you silently discard the `err` value (though you can still explicitly assign it to _ to ignore). Seems worth using for a lot of projects.
Ask HN: What are the best resources for learning Operating Systems with xv6?
I have found xv6 resources here http://pdos.csail.mit.edu/6.828/2014/xv6.html
but I cannot find any operating systems lectures anywhere online that teach xv6. I have found Berkeley lectures, but they use NACHOS.
I'm told it's called sea-lioning. http://wondermark.com/1k62/
Hysterectomy Robot Surgery Injury
Is it cultural? I feel like rust is a fairly universal signal for decay.
I was thinking more of classic buildings, nice brick or stone buildings with character. And somewhere bikeable to the city center, not out in the suburbs. Those are pretty easy to rent in Copenhagen on a proper contract, for pretty reasonable prices.

But if you're really willing to go 20 minutes out on S-train, Copenhagen becomes dirt cheap. 20 minutes takes you all the way out to places like Rødovre, Brøndby, Taastrup, Ishøj, or Tårnby, which are very cheap, 1-bd for more like 4k DKK (5k SEK), possibly less if you look around. Overall I just don't see Copenhagen as an expensive city for housing. Some things are expensive, but housing isn't particularly so.
You could tokenise them, and then compare the resulting list of tokens.
Apple prohibits most employees from working on their shuttles, interestingly enough -- too much risk that a fellow employee would see something they're not cleared for.
Good job ;-) just for fun, I've build my own - based on Elasticsearch http://hnpaper.forge.partlab.io
In my flirtation with being a musician I've learned a fair bit about how to record in a home studio. I think he has simplified a lot of this but considering the audience of this article I get it. The one point I do agree with is that technology isn't the problem.

I use Logic, Sonar, Reason and FL Studio quite extensively depending on the project and really have very little problem sounding like it was recorded in the 1960s or 70s. Technology is good enough that all but the most trained ear won't notice whether you used a real Fairchild compressor or the UAD dsp version.(or substitute your favorite vintage compressor/effect/synthesizer/amp vs software)
However most people don't want the whole record to sound that way. It's great for setting a mood, but the average pop listener wants loud repetitive and catchy hooks. Experimenting is for the established "wealthy" and "bored" artists that need to find long term relevance.

In general the labels don't subsidize the breadth of records that they used to. One of the best ways to make the point that the industry is the problem is to thumb through my dads collection of vinyl. Some notable records he owns that would never be produced today are "Big Sounds of the drags"
http://m.youtube.com/watch?v=pEdfuX1ni9E
The Zodiac:cosmic sounds
http://en.m.wikipedia.org/wiki/The_Zodiac:_Cosmic_Sounds
I have a ton of old vinyl from people who are not attractive enough to make a record today. Like it or not the recording industry is about image, marketing and recipes more than music.
I don't think this is a revelation to anyone and it may not even be wrong. I think what many musicians get wrong is that they think they can try to latch on to the old business model and "make it"- becoming rich in a few years. These days that is .01% of artists.
However if you think of a record as marketing and look for other ways to monetize your band and its brand you can get by in the middle class. Even in the hey day it wasn't a golden ticket for most artists.
Really there has always been a problem with the record industry in some form or fashion, but since power is shifting towards artists and home studios labels are much more risk averse. No matter how good you are, it's a risky profession.
How about just using beloved tables instead? Maybe even with function literal to prepare some stuff, if you need to.

for _, s := []string {
p0[a:b],
p0[c:d],
// ...
} {
_, err = fd.Write(s)
if err != nil {
return err
}
}

As others already implied it could have been cleaner with exceptions, but I don't think this is that one case where exceptions are particularly important. There is no recursion yet or anything like that.
Skeptic’s Guide to Debunking Claims about Telomeres
Quaternions are pretty common in 3D graphics.
One thing I love about the repetitive err pattern is that I find my self wrapping/appending errors with useful context more frequently (rather than say catching an exception five frames further down and just appending "mylib: oops").

I realise the later was just laziness on my part, but the constant err checking really does force good habits on me, which of course yields higher quality code that's easier to reason about when something goes wrong.
Funny this topic came up.

A few months back, it suddenly dawn to me that throughout my childhood, my parents NEVER ever praised me directly. As in, when I got straight As they never called me smart. Or when I won a sports competition, they never said I'm good. It was frustrating as a child at times (they reward me in other ways) but now in my adulthood, I realised they did praise me albeit it in a different way.

They praised my effort, and not the results.

So, when I got straight As, instead of saying I am smart, they said I got it because I studied hard and they praise me for spending my nights studying. Or when I won that competition, instead of saying good job on being first, they praise me for the extra effort i put in to train on the weekends.

I never thought much about it but after going through life, I noticed now that a lot of people mostly tend to just focus on the rewards but never consider the hard work that needs to be put in. Due to my parents quirkiness in my upbringing, I value the work I put in more than the reward itself when achieving for something which makes it so fulfilling.

Just my anecdotal 2 cents.
> If you're worried about performance, why are you advocating asm.js? That's always going to be less performant than direct browser support for a language.

TL;DR: You won't get Lua support in your favorite browser if you don't build web projects with Lua today, and you can only use Lua via asm.js today.

non-TL;DR: because of 3 reasons:

1) JS is not going away, and you are not going to convince the main browser vendors to use Lua, this makes Lua via asm.js the only realistic way to use Lua in any browser today.

2) VMs like OdinMonkey use a different strategy when they detect the "use asm" pragma, and this allows Lua via asm.js to run faster than JavaScript, but this only applies to Firefox.

3a) In order to convince browser vendors to take Lua seriously, Lua has to be massively adopted in the web.

3b) In order to help Lua to become massively adopted in the web, it needs to run fast everywhere, not just in Mozilla's browsers.

3c) In order to help Lua to run fast everywhere, the teams behind other JavaScript VMs (V8, JSCore, Chakra, etc.) need to be convinced that the web needs asm.js.

3d) In order to convince the people of other JS VMs, we need to build more projects which use asm.js.

--

> > We should be working hard to kill Flash and Java completely from the web, substituting them with modern and standard web technologies.

> The JVM (on which Java is only the most prominent of many languages) is standard and modern. So was Dart. So is Lua.

The JVM, nor Dart, nor Lua are web standards, also, I expect from you to not be nitpicking my comment, I was referring to the frontend (ie. applets / flash player).
Errors are absolutely values and that's a great perspective for any language to take. Essentially, you can see an errorful computation as "returning" either a valid return value as expected or an error. In Go the quotes are eliminated: that is exactly what happens

ret, err = fd.Write(...)

Above we have two (initial) possibilities

1. The return was error-free, err = nil, and
ret is an interesting return value.
2. The return was errorful, err != nil, err
instead details the reason for error as
an integer, and ret is nonsense.

This is a little challenging because we must be sure to check err in the second case since otherwise ret is silently meaningless. This is a source of bugs called "Boolean Blindness".

In a language with Sum types we'd represent this by saying that errorful computations adjoin an error type to the return type.

Int ----> Either Error Int

What's nice is that this automatically ensures the above invariant of err/ret is held: a value of type Either Error Int is either "Right i" for some valid Int i or "Left e" for some error value e. The first thing we check is the handedness of the result and thus know the result of the computation.

Sum types like Either solve Boolean Blindness because we literally cannot get access to our return type Int unless it is valid: if we find that the result is "Left e" then all we have is an Error value.

(Ultimately what this boils down to is that product types like (ret, err) behave very differently from sum types and cannot replace them.)

If Go had generics we would also notice that the error-passing behavior of Either is naturally ignorant of the particular choice of types Error and ain't. We could manipulate it meaningfully (and indeed write the functionality used in this article) for any and all values e and r as the type Either e r. Then upon use Either e r would specialize to Either Error Int.

It's easy to argue that this is silly: we only need one error type and it is not difficult to replicate this code. I'll argue for now that only having one error type is at best confusing and at worst a lie. Different processes and functions have different exceptional states. Coercing all of this variation in error meaning into the same error type ensures that misunderstandings and accidental unifications will occur.

Honestly, I really love Go for making sure that errors were values: it is an incredible step forward for making exceptional cases more reasonable. Unfortunately, Go does not seem expressive enough to build the machinery which makes this style of error handling all of reasonable, non-repetitive, and non-confusing.
good points, but "don't be abusive" doesn't quite cover it for me. while that for sure should be there, maybe there is a 2 subsection a), which is be your childs mentor. in that you need to give them the push sometimes or be a motivator to hit those stretch goals (heck, to teach them what a stretch goal is). Not doing these things is borderline abuse (the word doesnt sound right, but hopefully you get my meaning), and might lead a kid to mediocracy -- not success.
Quality mentorship
That's faking the effect of a tilt-shift lens [0] -- which gives you the same effect, but there are often details that are wrong because most people apply it in seconds in PS without thinking how far each thing should be, they just do a gradient.

[0] http://en.wikipedia.org/wiki/Tilt–shift_photography
100 Hours of Meditation in 10 Days
In fact, the ATK [1] source tarball does have two files differing only in the first letter. One starts with lower case and the other with upper. I came across this while extracting the tarball on Windows - 7zip asked me mid-extract to confirm overwriting an existing file.

Thankfully the files are just (auto-generated) documentation files, so the loss of one file doesn't break the build or anything.

[1] https://developer.gnome.org/atk/
They couldn't find more tasteless examples for their demos, couldn't they? I'd be highly annoyed by any website that did it like that.