skysight-inc/HackerNews huggingface dataset:
> What happened was the malicious failure of inadequate pressure vessels.
Technically correct, but this quite accurately describes every bomb that isn't just naked plastic explosive / C4.

I do agree it's unfortunate that these devices get called bombs, but only because that word has too strong connotations. It isn't wrong: A bottle filled with dry ice is an "explosive device". The fact that it does not rely on an exothermal chemical reaction is secondary (albeit not irrelevant!): Else what would you call atomic bombs?

Also, let's not forget that these things could have caused injuries. Nobody might have died, but I sure wouldn't want one of these going off in my stall. (Plastic shrapnel and ripped eardrums, anyone?)
A balloon needs air to float. When there's air, there's friction.
Getting Started with method security in Grails using Spring Security
He works in an industry that does not allow you to email
code home or copy it off of company computers.

If you read through some of the subpoena petitions in the docket[1] such as [2] you'll find that the defense was asking for documentation of conversations indicating that it was a normal thing for him to take work home with him, and his supervisors were aware of it. Since most of the evidence is under seal (as some of it contains trade-secret information), it's hard to say if he found the evidence that he needed. But it does look like it he's at least claiming that it wasn't unusual for him to take his work home with him.

For example:

The defense will demonstrate at trial that Aleynikov
regularly transferred files offsite and to a local
directory on hosts at Goldman’s development network so
that he would be able to continue working productively in
case of a network outage at Goldman to servers hosting
repositories with platform source code. The records
requested in Item 21 will demonstrate that shortly before
Aleynikov left Goldman, there was an outage that made
access to source code unavailable at least for several
hours that impacted developers’ productivity. This
information will aid the defense in demonstrating that
Aleynikov did not have the specific intent necessary to
commit the crimes with which he was been charged.

[1]: https://ia600209.us.archive.org/9/items/gov.uscourts.nysd.35...
[2]: https://ia600209.us.archive.org/9/items/gov.uscourts.nysd.35...
Well, gold is an element. By this standard, the only way to describe something as "growing" gold would be if it produced it by nuclear fusion.

There's an alternative perspective... the trees are growing gold in the same way that leaves, bark, hair, claws, etc. are grown. Anything a tree does could be described as "growing". The fact that they leave the gold in the same state they get it doesn't really bear on the fact that growing is what trees do.

If, hypothetically, I created a rose breed that naturally gilded its own petals, I guarantee that everyone would describe that as "growing". But they still wouldn't be synthesizing the gold, just moving it. Your intuitions have gone astray somewhere.

Now, the things I listed as examples of things that are grown are all somewhat discrete entities, which is also true of my hypothetical self-gilding roses and is not true of the gold in this article. But synthesizing gold doesn't come into it.
It's also a response to google docs. Introducing collaboration on iWork is a good first step to address to the shift towards shared docs. I imagine we'll see that expand significantly in the future.
On various open source projects I have been running, people have requested that I implement this or that feature of zero interest to me. Most are presented as suggestions but some are rude and demanding. I have never understood this mindset. The fact that I am sharing code that I wrote means that I am now obligated to offer support and implement stuff that I don't care about?

The way I see it, the "point" of open source is just that: the source code is open -- for you to see, use and modify if you like. The author is free to do what they want with their time.
You know the rule for a new language. There are few developers, but those are one of the best.
We don’t have time for code reviews
The mac mini was refreshed a year ago (in fact, to the day, Oct 23)... Bumped to IV-B CPU, Bluetooth 4, Thunderbolt1 and dual drive bay
Wow, that wobble effect looks fantastic.
"Though someone told me they took a bottle full of frozen water and got through, since it isn't a liqid by the rules.. go figure."

Maybe in the really early days of the liquids ban, but these days they're a lot more up to speed on elemental phases.
> Those of us that care about performance use the NDK anyway.

If you had said "People porting game engines implemented in C use the NDK anyway" you might be right, and they do that because re-coding the game engine is impractical, not for performance. But the implementation of large systems in Android is best done in Java, for reasons of performance, modularity, and power efficiency.

Managed language systems exist for a reason. Dalvik bytecode is much more space efficient than native code, and Google has claimed it is about 2x as space efficient as Java bytecode, and 2x faster to interpret. Those factors reduce the need for a JIT in Android, and, until Android 2.3, Android didn't have one, and there were plenty of ambitious, performance-sensitive Android apps.

The Android component architecture enables a kind of code swapping that enables large apps to fit in a single process with a limited heap size. If you are not making use of component objects, you are not being memory efficient.

Android's Zygote and the use of copy-on-write goes beyond sharing pages of "pure" code. Any page can be shared between processes this way. This keeps global memory use down and makes it efficeint to start many more processes that would otherwise be practical with a VM language.

The Android base classes, Java toolchain, and runtime are the most sophisticated and efficient managed language environment for mobile devices. Ignoring them and going straight to NDK code without a specific performance case based on measurements of Android Java code performance, the effects of the JIT, and code size is a waste of time and a source of bugs that will be harder to find and fix.
There are two legitimate concerns in a debug context. The first is predictability / repeatability; zeroing is substantially more helpful than randomization in this context.

The second is revealing incorrect assumptions / fuzzing / stress testing; zeroing is substantially less helpful than randomization in this context.

Ideally, both options would be available. When someone says "give me a debug build", I think it's probably correct that they are caring more about the former, but really it should be clear and controllable.
I suppose, but then you also need to remember no software is bug free (especially not new software). Maintenance is not a step of software development you can just gloss over.

So the only thing I can think if I were to decide using this software is that I will be happily coding along until something breaks. I'll look for a place to open a bug or issue, and see I can't!? At that point I would just go back to some other properly supported editor.
Court says police need a warrant to track vehicles via GPS
How the High Wizard Mordaine invented the term "Shard"
Alright, I had some real problems building this on Ubuntu.

1. I couldn't compile completion. There is no build.go in the build directory
2. I tried compiling lime anyways, by it required go-qt5 even though the repo page says that's optional.

I really wanted to check this out but I'm not really willing to spend more than the 15 minutes I already did trying to build it.
Yes, but that boundary is rather arbitrary. Humans require a pressure suit above the Armstrong Limit at around 19,000 metres, so by a more meaningful definition of space as "a place where you need a space suit", this trip qualifies.
SPLINTER.ME Salaries Survey
I live in a pretty suburban area in Florida. A trip to Target, Walmart, Sam's Club, Home Depot, Lowes, etc. costs me about half a gallon of gas ($1.60 at the moment) and an hour of my time. Then there's the risk that they either don't carry the item I'm looking for or that it is out of stock. That usually tips the scales in Amazon's favor even if they aren't the cheapest.
Simple and advanced Shell (Terminal) tutorial.
You're looking for the "flag" package, in the standard library: http://golang.org/pkg/flag/
Is that working??
> By going free, Apple has acknowledged something that’s been true in the industry for years: Software is a means to sell hardware.

What? How has this "been true in the industry for years"? Maybe its true for smart phones & tablets, that too for just the OS, but how does he go from there to all software and all hardware?
just curious, what do you develop with it? I think the new Mac Pro is pretty awesome, but i dont really need that kind of power to work.
Libuv author here. Libuv doesn't try to be all things to all people - its main users are Node.js and Rust - but if you have suggestions on how to improve the API or the implementation, please file issues[1] or join us in #libuv on irc.freenode.org. We welcome outside input.

As a bit of history, the reason why uv_loop_new() mallocs memory for the struct (and it's something of an anomaly in that respect, most other API functions don't) is that the thing that came before libuv, libev, worked like that. It's something we can change if there is demand for it.

[1] https://github.com/joyent/libuv/issues
Elon Musk thinks hydrogen cars are 'bullshit'
If servers accepted a hash of a password instead of the actual password then the hash becomes the password. Ie, possession of the hash is equivalent to possession of the password since it can be used to authenticate.

Therefore, this is no different than storing them in plaintext. Furthermore, it would mean that if the hashes got stolen because a server was compromised those could be used as passwords and that would make it pointless to hash them in the first place.

In other words, no, that wouldn't work.
Pre-render d3.js charts at server side with node.js and jsdom
> It turns out that legalized sex work increases trafficking

And sales of sugary drinks increases diabetes. Should Obama pull a Bloomberg and ban large soda sales nationwide?
That's not what he said. He was speaking in percentages relative to each install base.
Looks awesome! And it's free? I will definitely check it out at work when I have an iPad around.
Trust is not boolean. I have a reasonable amount of trust in Bruce Schneier based on the information I have available.
Because I can't find the build instructions for my OS.
The other day we were discussing interview questions at work. The idea came up to ask people to solve a simple programming task in an ugly, arcane, and generally incorrect way; something like "Implement X as a python one liner, using at least three methods from itertools". The good candidates would point out that it really should not be done that way.

But puzzle questions like that are silly anyways, so whatever.
Easy Metaprogramming For Making Your Code Habitable
There's so much potential here to introduce a product or couple this with the Xbox. I'm not as interested in the video game aspects as the general use ones -- movies, videos, etc.. I would consider buying a Blu-ray if it added specific content that increased immersion using this device.
"Building The Mac Pro"

Without thunderbolt.

Without dual ethernet.

Without ECC ram.

Without bluetooth.

Without wifi.
HN basically is the same draw as the Slashdot crowd ... with iPhone vs Android being the dominant flamewar in place of Linux vs MS. (or KDE vs Gnome).

And fewer hot grits.

I'd say a lot of it was due to trauma in the 90s and early 2000's. People really, really grew to hate Microsoft on a personal level, more intense than the relatively trendy/casual Apple hate these days.

Things like the Halloween memos. The Java debacle. The massive industry time waster known as WS-* (thanks IBM too). But also business practices like using patents to try to dissuade Linux adoption in 2004 by threatening to sue their customers if they don't pass over some payola (happened to my company at the time). I truly am not lying about that last one - I worked for a large telecom that received this threat.

That said I still have respect for MS Research and a lot of the work being done on C# and .NET. Early in my career I was a COM/COM+/.NET guy but decided it wasn't a company I wanted to do business with.
Just vote with your feet.
He probably wants an alternative like:

uv_loop_t loop;
uv_loop_init(&loop);
I found the original ANSI C to be more straightforward, and many times after I was asking myself "why was this done in this way" I only realized that I would have ended up with the same way of doing things - e.g. that the stack arrays should just skip the "pointing" memory, and things like that. What you saw in the presentation are mostly just later complications that popped up from the attempt to improve the manner of approach while keeping the entire thing speedy and backward-compatible. Do you think this is too much? Take a look at C++11 and marvel at the quantity of language hacks there!
+1 to gandi. They also have a nice DNS versioning system so you can track all your changes.
Why do browsers match CSS selectors from right to left?
He means of Sublime text from the original codebase instead of a totally new program
Thanks for sharing this.

Are there any similar posts to the original that provide simple explanations & benches of the effects of implementing different data structures/algos?
I don't know why you have C up on some pedestal. Its not really a 'hard' language to learn or grasp.

Sure some languages take less time to learn than others. But every single language makes tradeoffs. For e.g performance vs productivity/usability OR static typing vs dynamic typing is a common theme when discussing C vs {Java, Python, blah}.

Also, your comments falsely compare the difficulty of the TASK with the difficulty of the IMPLEMENTATION/LANGUAGE. They are not the same! Take any advanced applied math algorithm and implement it in Python. Its not 'easy' by any means.

The domains you mentioned have a higher barrier to entry because the tasks themselves are difficult. The languages and technology used are simply variables in a much larger optmization problem that also includes monetary/human/computing/time resources as variables.
The underlying lesson here is having a process to identify hotspots (profile), and then being able to swap one data structure for a contextually better one (polymorphic collections).

Presumably the developer of the topological sort was operating on small graphs where time complexity was not an issue. Its better to have the inefficient but numerically correct algorithm at hand than no implementation at all. So I don't think the author of the original topological sort has make a mistake.

The best method for developing high performance algorithms is write the least error prone implementation first, with no eye on efficiency. Then build a separate high performance implementation. You test the second one is working by blowing random data into both and double check the fast one computes the same thing as the simple to understand implementation. That's how I built a persistent red-black tree over a space of two weeks[1]

1: http://wiki.edinburghhacklab.com/persistentredblacktreeset
> That's like saying you didn't get what you wanted from one ebay listing so all of ebay is bad

That could be what is being said. Almost everyone I've talked to that doesn't like eBay essentially says something like this.
I wonder if you deliberately did this:

http://www.salon.com/2002/10/03/askthepilot13/

whether it would be considered terrorism.
Anyone looking into prebuilt pfSense boxes would also do well to check out Ubiquiti's EdgeRouter Lite [0]. I was initially looking at getting an ALIX kit [1] for my home router, but the ERL offered much better performance for roughly half the price. I haven't ordered one yet, but I will as soon as I have a day or two to sit down and properly configure it.

[1] http://store.netgate.com/Ubiquiti-EdgeMAX-EdgeRouter-Lite-P1...

[2] http://store.netgate.com/ALIX2D2-Kit-Black-Unassembled-P187C...
Redis doesn't use libuv, and in fact rejected a patch from MS to add libuv support. The reason is dependency management, not performance. Redis takes very very few dependencies - basically just a C compiler and POSIX. This makes it easier to deploy Redis, and Redis doesn't have to worry about failures in its non-existent dependencies.
> it's main purpose is to showcase the company's engineering chops

I agree with this, but I'd add that it's to show off their silky smooth blend of engineering and design. We all can go to NewEgg or a million other online retailers and build something which approximates the specs of this machine. Shit, almost two years ago I built a 32 core machine with 32GiB of RAM (could've added more RAM, didn't need it as problem was parallelizable and CPU-bound).

As for the sales successes, I really want one of these, and I'm sure I'm not alone. I'm betting most individuals who buy these will be the types who also spend money on art. What I mean is, I could scrape enough loose change together to get one, but I have no use for it. My desire for one is purely emotional. It's beautiful. Just a hunch, but I think Apple's margin on this product fits more closely with the fine art consumer market than the mass consumer market.
You could also try emacs. I've used vim for years and switched to emacs recently (well, with the fantastic emacs evil plugin, that emulates all vim keybindings), but coming from Sublime emacs may be easier to get into as it is not modal. Also, it still has a ton of fantastic plugins.
If you are just looking for numbers, you can spec a pc for a much lower price to match those numbers. Just use a consumer CPU, non-ECC Ram and a Radeon GPU and you will probably match the processing power for half the price. Imo that comparison doesnt make alot of sense though, its apples vs oranges.
6 ways to kill your server [2010]
I'm not sure "provide only one way of doing things" is a core principle of C. It at least seems to have fallen to "type less" in several cases:

i = i + 1;
i += 1;
i++;
++i;

a[i]
*(a + i)

a->foo
(*a).foo
There's a lot that doesn't make sense, but there is a lot that is useful too. I've noticed Chinese women taking ginger on their periods, for example, then looked up ginger and surprise, it actually has been scientifically proven as a nausea killer. Similarly, foot pain relievers often have camphor or menthol in them. These are both proven anesthetics.
> Previously the domain of thousand-dollar tools

Or Inkscape
The most important part of this article is paragraph two, for without the exclusivity present in the government procurement process, it's unlikely we'd have a lack of innovation in regard to development practice.

I've led or worked on tech contracts and grants for ED, HHS, NSF, CDC, and others. Several people have pointed out some important points that are not getting enough attention in my opinion:

by @mcone: "The procurement rules were designed for that, yes. But in real world scenarios, those rules effectively do exactly the opposite. Since there are so many hoops for potential vendors to jump through, only the most established players get to bid on most contracts. And in my experience corruption and cronyism is still alive and well in federal IT contracting."

It's true, incest between government and industry is rampant and has led to wide spread cronyism despite the system's best efforts to limit the effects. People that once worked for company X, now serve on the proposal review panels when company X competes for work. No, they don't receive direct compensation and thus there is no immediate conflict of interest, but the reality is humans are drawn to (or don't want to disappoint) the people they know (former colleagues) and thus pick their old companies. In addition, they know there is a chance they may once again return to said company (so there is long term conflict of interest potential).

Another point that hasn't been discussed is how the government's procurement process provides next to no incentive for companies to efficiently produce good products. If our industry loves the DRY concept, everything about the gov procurement process points to a !DRY (or do repeat yourself). We built and rebuilt the same database for offices of the government that shared a building with one another. But because everyone is in a silo, they don't collaborate well and don't realize that they could pool their needs to develop more universal products. (And on the industry side, as long as gov continues to work this way, they don't even have an incentive to re-use their work or propose innovative, generalizable solutions.)

And for those of you that might say, 'but can't you win a gov contract by bidding lower by working off of existing work?' The truth is price has very little to do with who gets selected for a gov contract.
There are a few different reasons someone might want a software patent at a startup stage. Investors view Patents as an Asset, which can increase your value in their eyes. Legally, they can be leveraged (once granted) to protect a particularly novel idea and minimize competition. They can also be used defensively, protecting you from being sued. They can also be licensed, which means you could potentially generate income.

How much value they have, or if the system works properly is a different conversation entirely. My own personal stance, I'm interested in patents for defensive measures only. Meaning, if someone else tries to sue me over something I created (saying they created it), I have something on my side to protect me.
Interesting how the editor wars seem to have ceased due to the prevalence of other editors. It used to be emacs vs. vim, now it seems to be emacs and vim vs. everyone else. (I completely agree, from the vim side).
This looks excellent - as a designer my brain has always worked better with infinite canvases like Illustrator/Sketch.app; I feel really constrained by Photoshop etc. Great stuff.
"I am an Indian with poor computer skills"-Funny[video]
From the go-qt5 page:

> This is a fork of visualfc's qt4 bindings, and several critical bugs are inherited along the way. Until these bugs are fixed, this package is not recommended for any real use. I don't have any time to actively work on this project, but I'll keep reviewing and merging pull requests.

I guess GUI programming in Go isn't really up to anyplace you can consider 'stable'
This, probably by accident, makes sense. The liquids they are trying to prevent (acetone among them I think) can't be carried around frozen.
The free version could also break at any time of course. What you'd be paying for the privilege of having a client that works again the day after tomorrow.

Also, the ability to run chat bots on the Skype network is something that can be quite valuable for certain companies.
It's free to download and use, though to unlock all the tools (about 50% come standard) there's a one time IAP for $5
In the search of ideal line-height
Programming: Thinking or Typing, Thinking & Typing
Gc, the reference implementation, only does the mentioned OSes. Gccgo should work where gcc is available, and is known to work on Solaris. See - http://blog.golang.org/gccgo-in-gcc-471
Yet, you cannot take a small bottle of water

That's true, of course. You can nevertheless avoid paying 8 bucks for a small bottle of water after security:

Take empty bottles and fill them up in the loo after the security check.