skysight-inc/HackerNews huggingface dataset:
I'm learning how to test right now. You can read three books about testing, but you won't really get what they're saying until you actually TDD an app. Domain concepts are really malleable (read, hard to nail down) and deadlines are really hard, it would not surprise me if only 1-3% or so of people that work with software seriously actually test their code. I count myself lucky to be able to throw enough work hours in to figure it out.

Software is full of thin ice where you can walk out on it, jump around, then, mistakenly thinking it's frozen over, drive your truck on, only to have it fall through. It looks easy. But there's a reason 90% of the Rails apps I've looked at had no tests.
I have had the case where I wrote an immutable class and then later someone modified it so that a few of the properies were no longer immutable. That developer then complained that his changes broke a bunch of unit tests and that perhaps we shouldn't write immutable classes because they are too fragile and make it difficult to reason about and use the class in code. I disagreed with his view, but his view was no less true than my own. We had completely conflicting and incompatible coding philosophies.

This made me think about something(and perhaps it is a horrible analogy), but how would you play a game of chess if every few moves you had to let someone else make your move for you? Would the strategies that worked and allowed you to win by yourself in the past start to fail with this new constraint? Would you have to abandon certain types of plays or would you spend your time cursing the Gods because the other players couldn't see your strategy nor you theirs (even if you tried to discuss it)? Or perhaps you would realize that the problem is that chess is simply not a game that is meant to be played this way.

In the end, we had more success using clearly defined boundaries and trust rather than a collaborative process based on overlapping responsibilities and communication.

I'm not making a universal claim, I'm just telling my story.
"The American Dream" is meritocracy, and meritocracy is basically a lie, any which way you slice it. Measures don't discover merit, merit doesn't correlate to rising,and rising is only available to the few.
In the context of management, "good" doesn't mean the same thing as "nice" or "friend". Management isn't a popularity contest.
One thing that people often don't realize is that firing someone is miserable for the person doing the firing. That's a powerful disincentive to follow through, even if intellectually you know that the person needs to go. This is even worse when your friendly with the employee. This means that the most humane managers, the people you want to work for, can also find it harder to do their job than the sociopaths.

I don't know how to square this circle. I'm not sure it can be done.
> At this point I'm not entirely certain what/how the Humble Store differentiates from Steam itself?

They still sell DRM free games. I buy them from HB when they are available. But lately HB became more and more like a Steam proxy, selling Steam keys, which is useless for me, since I'm not using Steam. It's a good time for GOG to start supporting all these Linux DRM free titles, then I'll probably stop using HB.
Give money.
I guess it depends on what you mean by "moderately informed." I've been on HN for a while now. The HN community obviously cares about the NSA's activities, but how many posts were there on HN about the NSA collecting all of this information before Snowden? Or are you just talking about people in the academic crypto community?
Yep, got stuck on that step :P

Decided to go with an Arch Vagrant box (Specifically Arch Linux x86_64 (2013-08) from http://www.vagrantbox.es/). Running into issues with make in Step 5:

drivers/thermal/bcm2835-thermal.c:21:23: fatal error: mach/vcio.h: No such file or directory

Has anyone here run into this issue?
Once upon a time John Dvorak's word was taken seriously.

Whatever happened to him?
I'm going to stick with learning me some pedestal.
I'm pretty sure the OP is advocating blackballing based on their actions.

As he says, their behavior is illegal, and blackballing is better than they deserve. Nobody is advocating anything except due process and free speech.

Who can possibly object to that?
You can prevent the actual bitstream from being copied with "secure" hardware, and most such hardware includes systems that verify output devices. Of course nothing stops you from taking a picture or video of the screen, but that's not making a digital copy. (Although, with a high resolution scanner, you could read every pixel and reverse the encoding and possibly end up with the same bit-by-bit value.)
Not to mention, the content is the center of all that is RapGenius. It is educational/critical analysis of lyrics, written by people.

Would we expect annotated versions of books to be free? No. Would we expect critiques of movies... with the movies themselves to be free? No. That argument just doesn't hold any water.
It's not only not widely supported, it's also totally nonstandard. It's nowhere in http://dev.w3.org/csswg/css-backgrounds/ or in http://dev.w3.org/csswg/css-backgrounds-4/
Yeah, incidentally I also have no idea how people in my field are suppose to get hands on experience at home.
Slackers, psychopaths etc are analogically parasites and predators. Billions of years of biological evolution and thousands of years of social evolution have not found a stable solution to this problem.

I think we need to chalk this up as a Red Queen problem and stop wishing for the One True Solution.
At the Meteor meetup last week, David Greenspan outlined an interesting approach to how Meteor UI separates the "template-parsing" logic from the "rendering" logic with an intermediate representation (in Javascript) of the steps you need to take to produce that HTML. Check out the video (relevant slide is at 16:47, but the entire talk is awesome):

http://www.meteor.com/blog/2013/11/06/david-greenspan-at-dev...

The cool thing is, other template languages (like Handlebars, Jade, etc.) can compile to this intermediate representation, which then gets rendered on any updates.

If the front-end community could agree on a protocol for how to represent these steps in, say, JSON, then we could be on our way to a world where you could use any rendering engine with any template library, on the client or the server.

That is, if the community could agree on a representation :)
This is the intellectually honest thing to do. Bravo to the people who stand up to illegal government operations.
You don't need finalization functionality in a GC'd language. If you imagine a language that lacks finalization functionality but has automatic memory reclamation, things turn out okay. Finalization functionality isn't something that sane programs depend on -- garbage collection of memory makes sense because if you run out of memory or allocate and remove pointers a lot of stuff, the garbage collector can naturally kick in and find you some more memory to use. If you allocate a bunch of file handles, does the garbage collector kick in when your OS tells you that you've run out of file descriptors?
Everyone should have the right to say whatever they want on the internet. That's protected by the 1st amendment.

That being said, if you're going to be a jerk and generally demonstrate that you're not the kind of person a university would like to admit to their ranks, that's your own damn fault.
FiatLeak - Bitcoin visualization
It's not structureless just because it's flat. Specifically, the article mentions "accountability is what gives democracy its bite", and Valve has definite accountability in its peer review and ranking processes, which as jstelly notes has no forced/expected distribution of results.

From the same article is a very appropriate quote: "Structurelessness is often mistakenly conflated with absence of hierarchy, when in fact, effective non-hierarchical forms of organizing actually require a great deal of structure. Anyone who has participated in an effectively facilitated general assembly or spokescouncil meeting will well understand this distinction."
of course it does, but it does it in a way that aims to provide an overall good performance for all apps. But it doesn't mean that's the best performance you can get.
I went the MSP430 route, it was essentially free (from memory about US$5 incl postage). If you are on a very tight budget, this might be better. There are a ton of free tutorials, forums, development tools available. The caveat is that setting up the dev environment in Linux is not that easy, whereas for Windows it is essentially plug-n-play.

BTW, Texas Instruments has recently upgraded the MSP430 to 128K.
ANN: wxWidgets 3.0.0 new stable major release
This is one of those cases where the title of the post really needs to be changed. As posted on HN it's totally false. (It's currently "Bank Of America Promoting Bitcoin To Its Business Customers" in case it's later changed.)

Bank of America isn't promoting anything here. This is a community site run on Bank of America's domain. See the current list of articles here:

https://smallbusinessonlinecommunity.bankofamerica.com/commu...
I'm sending money directly to my sister-in-law's family who had their roof completely blown off (they were further away and not as affected as other regions). That said, many who wish to give don't have direct connections like that. This list of resources was on the original thread about this disaster yesterday:

PeopleLocator (https://pl.nlm.nih.gov/)

Google PersonFinder (http://google.org/personfinder/2013-yolanda/query?role=seek)

alternate source for Google PersonFinder (http://google.org/personfinder/global/home.html)

Red Cross request for help restoring contact (http://familylinks.icrc.org/en/pages/home.aspx)
and

If you would like to donate, here are some organizations that could use your help:

Red Cross Philippines (http://www.redcross.org.ph/donate) via Paypal

Ayala Foundation's 'Laging Handa Fund' (Always Ready), overseas donors can use this online portal(http://feedthehungryphil.org/ayala-foundation-inc/) for donations

GlobalGiving.com(http://www.globalgiving.org/projects/philippines-disaster-re...). Credit and debit card donations accepted.

Save the Children (http://www.savethechildren.org/site/c.8rKLIXMGIpI4E/b.885610...). Save the Children has a team on the ground in Tacloban working to respond to this emergency.
Sorry for the late reply; I did notice a Github issue for it so I commented there. Thanks!
Very cool! These demos remind me of the early days of Flash when everyone was experimenting with the potential of animation on the web.
Your remarks assume that software developers aren't subverting stack ranking. Anecdotally, they are, either individually or in cooperation with their managers.
And measuring salespeople on sales has demonstrable negative effects as well, such as the popular "salesman will promise the world in order to make a commission, leaving the developers to hold the bag" trope.
I'm currently using Duplicity and a raspberry pi to push my encrypted files off of a NAS to a VPS on a daily basis. Works out to be $1.38/month for 50gb storage.
"Ostracizing" is orthogonal from "using force."

And AFAIK nobody is subjected to force for talking about Bradley Manning on either side of the debate, so I don't understand your example.

> Blackballing people based on ideology is a McCarthyite idea, not a progressive one

Being "progressive" is not an argument _for_ something. Progressivism (that's properly a capital P) is a subset of left-wing ideology. Probably less than 20% of HN participants are Progressives.

Also, there is absolutely nothing wrong with blackballing people on the basis of ideology. In fact, you have to do that. Would you sympathize with a Nazi?

The idea that moral judgement is immoral is, again, a Progressive idea (and is also self-contradicting).

When you label something "McCarthyite," you are falsely lumping together moral judgement (which is needed) with irrational exuberance. It's a deceptive way to use language. Let's not do that.
> You don't need finalization functionality in a GC'd language. If you imagine a language that lacks finalization functionality but has automatic memory reclamation, things turn out okay.

Not in fault-tolerant message passing systems, to name just one obvious example. Suppose that you put a bunch of file objects into a buffered channel, and then the goroutine that was supposed to receive those objects panics. Your program wants to recover from panics with recover(). Who closes the file descriptors in those channels? Nobody owns them yet: they were in a channel and the goroutine that was supposed to receive them died.

You might be able to solve this by handing out references to the channel to another goroutine that is supposed to clean up the file descriptors, but this gets really complicated. This sort of thing is why Go is GC'd in the first place. It's much easier to just have the GC clean up the file descriptors in channels in which one endpoint has gone dead, and that's the sort of thing finalizers are for and I assume it's the reason that finalizers were built into Go.
Bram Cohen's fix for git force-push
select ... where "pizza" in person -> favFoods
Improving Clojure Feedback: Stack Traces
Valve does this in its ranking process, specifically the ranking process is about determining a composite value relative to his/her peers that each individual has on the company that allows for varied impacts to be comparable. For example in a system like this, someone who is an amazing programmer who spends more time making everyone around him smart than writing features doesn't have to rank lower than someone who quietly sits by himself writing a ton of feature code. That, plus no expectation/forcing of a certain distribution (e.g. the 10% lowest scoring people aren't necessarily shit, they could all be adequate in terms of value and deserving of a solid bonus, it's just that they're not as high as the folks above them) are what makes the process truly work and keeps confidence/trust in the system high (as well as the fact that all employees participate in the process.)
Incidentally, a Gist for installing Pyret using Marelle:

https://gist.github.com/larsyencken/7424864
Yes. The US is, actually, on a path towards authoritarianism.

We have the same variables as Hitler (or Stalin), just assigned with different values.
That's already well established for barter transactions. Yes, sales tax must be collected and remitted. The amount is calculated on the fair market value in USD of the goods received. Tax must be remitted in USD. This is one of the reasons that national currencies are referred to as "fiat currencies," because the government dictates their use for paying taxes.
Here are more: http://pcgamingwiki.com/wiki/Humble_Store
There must be a balance, since both are in fact true.

The same can be said of politics, but extreme ideologies exist still.
I'm not sure I see what this adds to the Go standard library and things like Pat.
You can't filter by DRM free though.
Since most of our GPS and cellular devices have been developed and deployed during a period of unusually weak solar electromagnetic activity, I've been wondering and worrying about how big of a disaster is waiting to happen when the sun returns to "normal."
Software isn't easy mode, it's a different level.
To be fair, I work in SQL constantly, but someone saying "7 table joins ugh" all I can think is really?

Maybe I have spent too much time in the TSQL world, but I regularly see things with 20+ joins without blinking.
I didn't see whether this library handles a middleware layer, but that is the reason I use Slim for my web applications despite PHP having first class support for that sort of stuff already.
As a newish Gopher, I really appreciate resources like this. It's especially welcome after grokking The Way To Go (which is a great resource as well). Great work!
> Ostracizing complicit people is the key to reducing bad behavior

Exactly. If you are a member of the communist party you have no business working in the entertainment industry.
Is this the one that was inspired by web.py? When I started playing with Go, I played with one called Web.Go, which was inspired by web.py.
I used to be an aerospace engineer as well, so I couldn't resist writing up some thoughts:
https://medium.com/geek-empire-1/b6be6db5f3c3
Bitcoin: Goodbye Silk Road, Hello Baidu
Re: the 5% happy - the internet has trolls and other folks who just like being contrary for the sake of it.
It's also worth checking out the gorilla library:
http://www.gorillatoolkit.org/

One thing I really like about gorilla is that it's broken up into pretty sensible packages so you can pick and choose what you'd like.
I love Go, but it seems like just about every HTTP request router is designed around abuse of global state.
That's not what "fiat" means. That's what "currency" means. (That is, if you can't pay taxes to defer the threat of state sponsored violence against your person then it's not valuable currency.)
Taobao online promotion nets $5.8bn in a single day
Will be interesting to see the difference in how Go and Nodejs grow considering the module system and time of reaching popularity will be similar
To be fair, it's the Bike Snob. Hysterical Overreaction is his writing style and has been for years.
This doesn't look like it expands much on what the Go web server does and it also looks like it's been abandoned. Last commit was ~5 months ago from today, with most of the rest being 7-8 months ago and 40-something issues piled up. For some better web experiences in Go I'd check out revel[1] or gorilla[2]

1. http://robfig.github.io/revel/

2. http://www.gorillatoolkit.org/
What if we reduced account creation to just an email address?
What "way" would that be? Golang's approach to data layout is very similar to C's.
Is there any good reason to buy Bitcoins?
Stars of Tech World Lend Their Force to George Lucas
I thought HN rules required the link title to match the article title with no editorializing? In that case, the title of this post most definitely needs to be changed.
Cisco-threatening open switch coming from Facebook, Intel, and Broadcom
> But if someone has commit privileges to a repo, they have the ability to mess it up, I don't see any real way around that.

Force push capabilities make it even easier to mess up than just plain commit priviliges.
In case anyone's interested, there's also a Real World Haskell book freely available to read online:
http://book.realworldhaskell.org/read/

I'd be interested to see how they compare.
That would seem to fly in the face of what the article said, specifically the 2003 solar storm and this:

"Several solar scientists speculated that the sun may be returning to a more relaxed state after an era of unusually high activity that started in the 1940s."

Would you mind elaborating on the weak period of solar activity?
I was about to go all in with mongodb (w/ node) on my next project, including for the user table. But after this, I'm going have to re-evaluate it.

"Once we figured out that we had accidentally chosen a cache for our database, what did we do about it?"

"The only thing it’s good at is storing arbitrary pieces of JSON. “Arbitrary,” in this context, means that you don’t care at all what’s inside that JSON. You don’t even look. There is no schema, not even an implicit schema"

"I’ve heard many people talk about dropping MongoDB in to their web application as a replacement for MySQL or PostgreSQL. There are no circumstances under which that is a good idea."

"I suggest taking a look at PostgreSQL’s hstore"
I don't know anything internal about Valve, and I'm sure their system isn't working perfectly, but I'd imagine that the people generating 10-100x salary are getting bonuses that they're happy with, at least in most cases.

That would be the more rare case of an employee getting screwed (delivering massive value, underpaid). Much more common is an employee who's screwed by being given inappropriate work, few or no opportunities to advance, but then compensated accurately (this might mean getting laid off) for the value delivered (with no allowance made for the error being in that person's work allocation).

No evaluation process is perfect, but a system where being unlucky means you live on your salary for a year is better than one where being unlucky fucks up your career, possibly beyond that job if you get fired abruptly with no severance. Microsoft-style stack-ranking is the latter.
I do assume using goroutines is slower than multiplexing though, but still plenty fast.

Surely, the goroutine model is just an abstraction built on multiplexing? As in, it uses the exact same syscalls that a multiplexing server written in C would use, except instead of storing state explicitly in a connection structure, it's stored implicitly in the goroutine's stack. The main (only?) real difference is code structure and thus the dispatch mechanism to where in the connection handling code processing should resume: In the goroutine, you're literally storing the instruction pointer and jumping straight to it. In the hand-written case, you'll probably go through some buffering code and an explicit state machine.

Basically, Go and its goroutines save you reinventing the connection state capture and resuming code for every single protocol you implement - it comes for free as part of the language. (you can make C do similar things with makecontext/swapcontext plus some extra plumbing code of course) Performance wise it should be a pretty close call: resuming a goroutine will presumably cause a branch prediction miss (due to the change in function return pointer), whereas the multiplexed code will need to wind its way through the state machine logic - almost certainly also a branch prediction miss. CPU cache behaviour should likewise be similar (you're storing the same state either way).
Design products for everyone, not just for young people
Game, the Art of Archery, and the Business of Selling
"In the search for ultimate rather than proximate solutions to problems like this, it’s important to remember that the software is not immovable."

Not immovable is a great point. Git is ripe for major improvement.
i use the combination of assert-driven development + UI/UX testing. (manual, but that could be a valid candidate for automation in my projects)

so I'm not saying there are no scenarios, but they all end up being the customer facing scenarios, and verifying those meet expectations. Also just developers making sure the functionality "works" naturally catches the technical bugs (because asserts in production code would cause the app to crash)
This is awesome. Putting some perspective into this conversation with experience! Definitely learned plenty.
Not strictly accurate, in the "Why would you want to do this" regard.

Ages ago I was hacking linux onto an ARM soc that claimed to have memory it didn't (it wasn't aware of the display's DMA segment). It was near the top of the address space, so generally speaking it didn't cause too many problems, but until I could debug it I needed to keep memory usage low, wchih meant disabling the disk cache. What a shitshow that was :/
You thought you wanted to use a document store until you realized that redis+postgres was actually what you needed :P
i would counter this by saying that a small error in code SHOULD bring down the entire application.... during development. otherwise the error is not visible to developers when they can best/easiest fix it.

of course, asserts should not crash the app once it's in production. instead they should be channeled to a log that gets sent back to the production support team for analysis.

but during development, I'd say crashing during small errors is a great thing.