skysight-inc/HackerNews huggingface dataset:
> Resident memory usage dropped from 87MB down to a mere 3MB, a 29x reduction!

This isn't so much Java vs. Go as it is JIT/interpreted vs. AOT-compiled. The numbers are entirely typical across a wide range of such comparisons.

With an interpreter or JIT, you need to load all your code at startup and process it. Generally, _all_ of your dependencies need to be loaded and parsed upfront, either converted to some internal in-memory representation or JIT'd directly to machine code. This will allocate a bunch of heap structures during the processing, and the end result is a bunch of data that needs to stay resident and can't easily be shared with other processes.

With AOT, you mmap() in a file. The OS only pages in the code you execute, and can page it back out as needed. Pages are shared between all processes running the same executable.

At sandstorm.io our rule of thumb is that an app written in Node, Ruby, Python, PHP, etc. will take 100MB of RAM while an app written in C++, Rust, or Go will take 2MB. Since Sandstorm runs per-user (and even per-document) app instances, this is a pretty big deal.

The good news is that https://github.com/google/snappy-start should fix this problem: by checkpointing the process after it finishes its parsing/JITing but before it starts handling requests, we can get an mmap-able starting state that is very much like an AOT-compiled binary. At least, in theory -- there's still a bunch of work to do for this to actually work in practice.

> The resulting docker image shrunk from 668MB to 4.3MB

While I would expect the Go image to be smaller (since Go builds static binaries, so literally all you need in the image is the binary), I suspect that the 668MB Java image was at least 90% unnecessary garbage that was not actually needed at runtime. Unfortunately the package managers we all use are not optimized for containers; instead they evolved targeting systems with dedicated disks that can easily absorb gigabytes of bloat.

In Debian, for example, every package implicitly depends on coreutils. That's perfectly reasonable when installing an OS on a machine: you almost certainly need a working shell to boot and administer your machine. But a container can get by just fine without coreutils, and a typical web server probably (hopefully) doesn't need to call out to a shell. Even if a shell is needed, busybox/toybox is probably sufficient and will take a lot less space.

Packages also often contain things like documentation, unit tests, etc. which obviously aren't needed in a container.

For Sandstorm.io we deal with this problem by running the app in a mode where we trace all the files it actually uses, and then we build a package containing only those. It mostly works and manages to keep packages reasonably-sized, but it does lead to bugs of the form: "I forgot to test this feature while tracing, so the assets it requires didn't make it into the package." We're looking for better options.
Yes, I used to love my Linux laptops, but I had coworkers also using Linux who I could bug for advice on the One True Way to do things, and would tell me when the One True Way was now Some Other Way.

Sound, oh sound. How many sound daemons did the community go through?

After getting Linux set up, I was always scared to change anything, because I might lose a whole day recovering my desktop. Back when spending a day messing with an OS was a learning experience, this wasn't a bad thing, but I learn absolutely nothing from it these days.
Here you go: https://amplitude.com/privacy

We're also in the middle of a 3rd party SOC 2 audit right now.
Thank you for sharing my post here and all the great feedback.
> There's a really big difference between controlling what is said and observing everything that is said

The U.S. simply makes a far greater effort to make the movie/TV industry appear fundamentally different to and disconnected from the NSA.
There isn't, the number is made up.

But don't worry, the response of "can't say what he / she is working on" is the only reference you'll get.

This is a ridiculous claim HN, we should be above buying into this garbage.
Why not contribute to better Wikipedia articles instead?
The articles on advanced science topics are basically like scholarpedia already: only edited by experts in the field.
The distributed generation section of the article you linked says that one school district has more than 9 megawatts of installed panels:

https://en.wikipedia.org/wiki/Solar_power_in_the_United_Stat...

It puts residential and distributed commercial (so small installations at businesses and the like) at over 4 gigawatts.

Replying to your edit: ~1 GW of rooftop solar would no longer be a percent of a percent... It is the case that utility scale installations dominate, but rooftop is not insignificant:

http://www.seia.org/research-resources/solar-industry-data

(One of the bullet points there is that more than 1 GW of rooftop was installed in 2014)
According to Anandtech, it is only a 35% increase relative to the base clocked 2600k :/. Also, DDR4 isn't yet a real improvement over DDR3.
`apt-get upgrade` is not magic. Someone had to package the app for apt. Someone had to decide when to make a new release.

The same can be done for a Go app and it'll be available via apt just as any other app.

A fair comparison would be compiling a C/C++ app from sources vs. compiling Go app from sources and Go wins that contest easily.
Saying it was fair use is begging the question. It's not obvious that showing I own a CD at one point means I get online access to files ripped off an equivalent CD forever.
Free Traffic Growth Tactics for Blogs
Ok, that was sloppy phrasing on my part, but my point still stands: The entire reason that KDFs exist is to deal with the fact that hash functions are designed to be as fast as possible. If it made sense to make hash functions slow, then KDFs would not be needed.

While KDFs do use hash functions internally, the hash function is an implementation detail.
> you are woefully out of your depth here.

I very much doubt that since I've been able to provide back up sources to evidence my points. However if I am wrong then please do educate me instead of posting uninformative troll comments like the above.
FDA Taps DNAnexus to Build Platform for Crowdsourcing Diagnostics
You keep defining "cryptographic" hashing as equivalent to password hashing, but password hashing is only one application of cryptographic hashing (a minority application). A hash function is still "cryptographic" and its applications are still "cryptographic applications" when they aren't password-related. Those applications commonly optimize for speed, rather than pessimizing for speed. In many of those contexts, the input to the hash and the hash value are presented simultaneously to the verifying party (or aren't even secret); in those contexts there is no benefit at all from making the cryptographic hash function slow to compute, and considerable benefit from making it fast to compute.
Most rooftop installations are more than a KW, just 8 midsize panels will give you 1200W.

1 million times 1 KW is a Gigawatt, not one 1 Megawatt.
Thank you very much for the feedback.
Ok, thank you. That does make more sense now :)
Absolutely fix the pull request interface. It currently reads like a ransom note. Go over to bitbucket.org and copy theirs. It's 100x better.
I hope all of his post on this blog are like this one (https://kevin.is/committed-to-github/, Kevin is committed to GitHub)
Thanks for the suggestion! I'll work on it!
GitHub: https://github.com/daveliepmann/tufte-css
Components and Modules (Edge Conference 2015)
Look for a decrease in resubmissions, per this comment above:

https://news.ycombinator.com/item?id=10012199
Thank you for the feedback. I will keep this in mind for the next version.
Google Cached link:

http://webcache.googleusercontent.com/search?q=cache:http://...
I dislike photos - like for my life I can't figure out how to delete a photo.

Itunes is a huge mess. Creating a playlist with apple music is just difficult. I have to add it to my playlist then go to my my music and create a playlist there? weird.

Podcasts I giveup.

I understand this guys gripe. I have to say this though to me things aren't great anywhere. I've lost data on google drive, and messages on gmail. Adobe Cloud is so problematic to me I get extremely frustrated that i have to have 4 versions of illustrator installed to use the features and export to SVG like we all need. I think somewhere with everyone implementing AGILE the question of quality being important has been forgotten in the rush to push releases often.
If you've installed it a lot, you know how to make it work when it doesn't work.

Usually the first install is fine for me with Ubuntu, but then I need something, like two different programs to be able to play sound at the same time.
I'd also love for commit messages to be parsed as markdown. I can't really think of a downside to it.
For my definition of playable, for example Bioshock Infinite is perfectly playable on 2015 Macbook retina 13".

But personally it doesn't really matter. I don't have time to play anyways. Nor really so much desire either nowadays.
So is 4.4.4 going to receive security updates or am I forced to update to 5.x?
> It's a community project after all.

It is absolutely not a community project. Go governance is a 100% @ Google . There is no go committee or go working group outside Google. It's backed by one company that has full control over it. Sure it's open-source, but good luck with a fork. How can anybody be so misleading about that fact ? What did make you think Go is a "community project" ?

> but that does not mean it depends on Google.

There is a top down , vertical relationship between the Go team at Google and the rest of Go users, Go main goal is to fulfill the Go team needs, period. If you find it useful then it's a bonus. That's exactly how the Go team speaks and act, in fact the Go team makes it really hard to contribute to the core.

Please, stop saying what you say, it is completely untrue and a total mis-characterization of how the Go project work.

I still want to know what made you think Go is a "community project".
> You could say though that USAID is not Americans, per se, but the American government caring about African people,

I agree, and I thought of that before posting it, but the reality is, I assume I'm sending aid to Africa already. I imagine most American's assume that is the case as well. We may not know about USAID specifically, but we assume we are sending it. So, it's not something we need to get worked up over.

Effectively, it's taken care of.
I am not like any of the people you described but here is what is working for me:

1. Make a list of things weekly that need to get done

2. Daily pull from weekly into your list for the next day

3. Be careful how you word your task list. Focus on process over outcome. This is a little hack to avoud procrastination. Example: spend an hour refactoring (process) x vs refactor x and fix failing tests (outcome)

4. Figure out the #2-3 critical items.

5. Timebox/pomodoro

6. Sleep, wake up early & eat your frogs in the morning

When i do all of this i am able to get a whole lot more done.

Also grab the book a mind for number. There are some interesting insights in productivity.

I have tried GTD etc but have found that for me this process works.
How to Create NBA Shot Charts in Python (just Like Kirk Goldsberry)
Thank you and I am glad that you liked the post.
You know, as fun as it sounds like this was, wouldn't the natural solution to the problem be to roll back the Docker rollout?
Not only did the V-2 program divert resources from more useful efforts, but the United States got the knowledge (and some unused V-2s) to give their space and missile development a big boost. The first big rockets the US fired were unused V-2 rockets followed by US-built V-2 clones.

That program ended up benefiting the United States much more than it did Germany.

The nuclear programs of Japan and Germany, however, never got close to producing an atomic bomb, and the research done was mostly useless at the end of the war.
Nice presentation. Around slide #84 or so, for a good time don't just put in a current limiting resistor, put in a current limiting resistor and a LED. Hmm the LED lit up I guess the pin is a grounded pin?
Nigel? Is that you?
Not really. It required you to have the files to be allowed to stream them back to yourself, the most essential functionality was de-duplication + streaming of content that you already had while you were on the move.

And if you own a CD at some point nothing stops you from ripping it and selling the original (that's still illegal, but you could do it) so it's impossible to check.

I don't see why google should get a free pass on this, it seems to have to do with size rather than with the technology or the law.
I'm not clear either on whether anything substantial has changed since the April 2014 draft. Would be good to have some authoratative hash values to test libraries against.

Glad to see it sets c = 2d at least.
hola sexo porno
You're being downvoted because despite the "wealth of other content online about using cryptographic hashes for password storage", you haven't actually read enough of it to know that neither SHA3 nor BLAKE are appropriate for password storage. Neither is a key stretching function. Ignorance isn't a sin, but unwarranted overconfidence is.

SHA3 and BLAKE are cryptographic hash functions, but they are fast collision resistant hash functions, NOT key stretching functions. They're primitives used in the construction of other cryptographic tools. Some cases where you might use a fast collision-resistant hash:

* Timing-attack-resistant string comparison: if you're comparing API keys, you should hash them both first to prevent an attacker from guessing the keys a character at a time.

* HMAC (look it up).

* One can implement key stretching functions by applying fast collision-resistant hashes multiple times.

* Signing (one can hash a message and sign the hash, which provides as much security as signing the message itself).

* Fingerprinting (a fast hash of a public key can be used as shorthand to verify public key ownership without having to read off the entire key).

* Addressing (Bitcoin uses a fast hash of a public key as an address).
I didn't make that assumption. I exampled one use of cryptographic hashes as being for password hashing. An example is not the same as saying two things are the same.
looks like it:

http://news.slashdot.org/story/12/05/04/1557239/windows-8-wo...

http://windows.microsoft.com/en-us/windows/dvd-playback-help
I know everyone freaks out these days about Google data collecting, but I find Google Now to be incredibly useful.

Getting android notifications of my flights with the gate and boarding times scrapped from my email is super nice.
I think the chart in this one really explains the situation in a way no article could.

http://www.theatlantic.com/education/archive/2014/04/the-myt...
discussion: https://news.ycombinator.com/item?id=10000926
Intel Skylake Z170 Motherboards: A Quick Look at 55+ New Products
It's 2015, and this is a search engine. Why is there no autocomplete? You guys should check out https://www.constructor.io
Not really a huge surprise given that the debris was confirmed as a 777 flaperon a few days ago.
However, It does mean that the Inmarsat positional analysis about the final location of the plane is likely correct. This should give a bit of confidence to the sailors who are running the naval search operation in the indian ocean. They were never quite sure that they were looking in the right place. I suspect their lack-of-results must be quite demoralising for them.

It also discounts some of the nuttier theories such as the plane landing in Russia or Afghanistan.
9 Hot Startup Cities That Aren't San Francisco or New York
Thanks, I'll look into it!
It is, to my mind, much less likely that somebody goes through and recompiles and publishes every statically linked application in the Ubuntu repos the day that the inevitable critical bug is unearthed than somebody recompiling and publishing libimportantthing3.

It is also much more likely that a "minor version bump" that happens to contain the dependency with the bug has regressions or new, untested-in-my-environment features that I must accept as the price of a Go application's upgrade unless I want to start playing with said application's vendored dependencies. Which I don't, which is why libimportantthing3 is a vastly superior choice for software I must use but do not want to adopt and care for.
After a journey into functional programming where single letter variable is almost the norm, I came back hating this redundancy, but after a while I got to see that variables names will pop up in different places, you might as well stick a bit more information in their name just in case you're missing context deep down the stack or in a commit.
"That quote is meant to leave the reader with the concept that Japan would have done the same as the US had the situation been reversed."

Do you think they would _not_ have used atomic bombs, if they had them and believed it was militarily necessary? After all, Japan was not exactly known for merciful treatment of civilian populations or opposing enemy forces during World War II.

"Those are justification arguments that, given the enormity of the context and timing, should be strictly scrutinized."

Strictly scrutinized by whom, and to what end?

Furthermore, should an article which raises arguments against dropping the bomb be scrutinized just as strictly? If not, why not?
By median pay of other employees?

OK, so McDonalds is 10,000:25,000,000

Now what?
Microsoft splashes $10bn on Azure data centres
> Any advice on joining a startup that could make me lots of cash?

Sounds like a losing strategy. Startups don't have a lot of cash to give up. That cash is used for growing the business. If instead you want equity then start your own business and you'll have 100%. There's angel investing. There's IPOs, naturally. There's no magic spell to get you into a startup and get you equity. It all depends on how the founders feel and have implemented rules about said equity.

The best way is to know the founders or be one yourself.

Also read through this thread on making money fast:
https://news.ycombinator.com/item?id=10004912
Note: I just looked at the docs linked in creichert's sibling post, and I noticed that Debug.Trace provides traceShow as a helper.
They just added the ability to hold down on words in any android app and get information on the word. For example if you press and hold "chinese food" it will pop up with yelp reviews of nearby places. This is not available on all flavors of android IIRC.
There are more DSCM implementations based on a DAG. (for example git, mercurial, bzr, monotone, codeville, fossil)

The only one that draws serious usability complaints all the time is git.
As per https://news.ycombinator.com/item?id=10012384:

I didn't make that assumption. I exampled one use of cryptographic hashes as being for password hashing. An example is not the same as saying two things are the same.

I've possibly expressed myself rather poorly, but I think quite a few people on here have made some incorrect assumptions about the point I was raising.
The days of Moore's law are long dead. Intel's transistors haven't been getting better since 5-6 years now. I wonder what direction the semiconductor industry will go in. These are very interesting times.
I am glad to know your feedback on the post. I will consider changes in the next version and include longer period testing.
Windows 10 Keyboard Shortcuts
Thanks! View with "text-only".
Rovi - www.rovicorp.com
It's relevant in a bigger context which is the one I am raising. Feel free to isolate it to a more narrow one if you would rather debate that. Personally I find that trivial but each to their own of course.

Property rights if you really want to go there is not a natural right but something that is guaranteed by the state.
Intercepts with warrants is really, really different than giving unaccountable thought police a desk in the news room. Equating these things is silly and borderline offensive.
Microsoft Office 2016 for Mac is awesome! It is actually currently available and has also been freely downloadable in a preview edition for about the last six months or so. Note that it requires OSX 10.10 now, unlike previous versions which were more flexible.

However, I believe (would obviously need to verify the published specifications) that it's pretty much at feature parity with Ofice for Windows. I'm not sure about scripting features, and some of the more esoteric stuff, but I use Excel, Powerpoint and Word regularly, and it's great to have the same familiar look and feel across platforms. Certainly better than the previous edition for OSX and I expect that's what you were thinking of; it was Office 2011 before.
For anyone who's interested, we wrote a blog post with more background on Crocodoc Personal's history and why we're winding it down: http://blog.crocodoc.com/post/125948531715/see-you-later-all....

Note that our main products for developers, Crocodoc and Box View, are not shutting down.
I realize now that these skylakes are not really about enthusiasts.

Think about what will make your parent's computer feel more powerful. A more fluid GUI, higher resolution in windows, a higher framerate in windows and of course peripherals going faster. Skylake has much better onboard graphics (which take up half the die) and a lot more IO for USB 3.1, SSD storage and display port from integrated graphics.

If Intel wanted to, they could double the cores by taking the integrated graphics out. They could double the peak flops again by including the 512bit SIMD instructions. They've already demonstrated they can do it.

They know their real money making market and it isn't anyone here.
As a highschool dropout software-engineer (in eastern canada, but still) this just shows how... old this person is.

Tech is a huge field, it's not just web dev. If the web industry somehow collapses, I'll go do some industrial automation or just sell physical stuff my robots created.

You can say the tech bubble is lying, but I'll still be able to sell 3D printed kitch as long as there are hipsters and 3D printers.

>This is the tech bubble’s newest, most sinister message: Who needs college, really? Who needs exposure to a broad range of ideas, cultures, religions, literature, ways of being in the world exactly at the time you’re most open and impressionable to discovering them?

Spoken like someone who didn't grow up with access to the worlds largest library. I find it really hard to sympathize with someone who values "awkward teen sex" and college parties over building things.

I grew up ghetto adjacent, and although I'm sure it would have been great to go to party U calling it an essential experience comes off as incredibly privileged.

Fuck the sentiment that college own learning and even these essential experiences.
Well, Haswell does have 2x integer and 4x FPU performance. A lot of potential in AVX/AVX2 is still untapped for now. It sure doesn't help only few bother upgrading...

Then again, I'm often memory bandwidth bound even when using just SSE. If the memory can't deliver enough data to work with, there's bound to be a performance ceiling.
> extensive and consistent standard library

yes

> implicit interfaces

no

> composition over inheritance

yes

> static builds

no

> built-in concurrency

sure, with an 1:1 thread model as opposed to an M:N thread model.

M:N is not always a clear win over 1:1:

https://mail.mozilla.org/pipermail/rust-dev/2013-November/00...

http://xiao-feng.blogspot.com/2008/08/thread-mapping-11-vs-m...

Also, to be very clear, Java's threads ("green threads") were _originally_ M:N but they switched back to 1:1.