skysight-inc/HackerNews huggingface dataset:
Value types are the main culprit behind Java's insane memory consumption. I found out through weeks of testing and benchmarking.

I mostly benchmarked a small subset of our own applications and data structures. We use a lot of strings, so I never even started to use Java's String class, only byte[].

I tried all sorts of things like representing a sorted map as two large arrays to avoid the extra Entry objects. I implemented a special purpose b-tree like data structure. I must have tried every Map implementation out there (there are many!). I stored multiple small strings in one large byte[].

The point is, in order to reduce Java's memory consumption, you must reduce the number of objects and object references. Nothing else matters much. It leads to horribly complex code and it is extremely unproductive. The most ironic thing about it is that you can't use Java's generics for any of it, because they don't work with primitives.

I also spent way too much time testing all sorts of off-heap solutions. At the end of the day, it's just not worth it. Using Go or C# (or maybe Swift if it gets a little faster) for small to medium sized heaps and C++ or Rust for the humungous sizes is a lot less work than making the JVM do something it clearly wasn't built to do.
How come Raleigh never appears in these lists? Does it just not have much of a startup scene, despite being a tech hub with software company presence?
Or navigate to http://devdocs.io/
People in 1999 weren't running huge neural nets and beating the world champion in Go.

There are millions of computers in data centers around the world. They are working on problems that someone thought it was worthwhile enough to pay for. If C compilers emit code that is slower, that means buying and maintaining a lot more computers, using more energy, producing more greenhouse gas, etc.
did you mean crontab -r ?

I remember using crontab -r assuming that -r is to open it in read only mode. like vim -R

Bad assumption!
Its already a PC with a different interface. XBox needs to be gaming first and entertainment second and compute last machine. That is why it is bought. the compute experience should not interfere with the first two functions, it could be a nice add-on for some niche, but nothing more.
We have a MeetUp group in my area: http://www.meetup.com/NeurodiversityNetwork/
the json spec is pretty easy to follow, even for a human coder. this is overkill imo
The orthodox theory says that, in a competitive marketplace, producers should not be able to "capture" gains in the wealth of consumers. If prices of a good rise, it's because consumers are purchasing more of the good, and the good has increasing marginal cost to produce. (I ignore some 2nd-order effects related to wages as a production cost).

That's the orthodox theory. You shouldn't buy it wholesale.

On the other hand, it would be a very heterodox environment indeed if producers were able to steal all the increases in wealth from consumers. That could only happen in an environment of no competition, not imperfect competition. Or an environment with 100% occupancy and no ability to build more units of housing.

Also, there would need to be no substitutes for the good. For instance, that people couldn't move between cities.

Surely the game is, to some extent, rigged. But can it be rigged so badly that it is possible to believe that transferring wealth from richer to poorer will not lead to an increase in the purchasing power of poorer people?

I don't have a decided opinion on guaranteed minimum income, but to deny that it would have a marked effect on purchasing power of the recipients of the wealth requires one to posit a truly exceptional economic theory. To attack minimum income on its efficacy of all things: that is either an ill-considered or truly radical view.

If minimum income can't help, what possibly could? The only option left would be the confiscation and redistribution of capital.
Personally, I like a console (I'm more of a nintendo user).

I don't tend to have long to play games, and I don't like having 20 configuration options to adjust hair / light / texture / resolution quality. Mainly because I don't know which of these will (a) have the best effect on performance, and (b) have the least effect on how the game's designers intended it to be experienced.

For all the weaknesses of consoles, I know that (for better or for worse), I'm getting the best tuned experience, as intended by the game's designers, as soon as I switch the game on.
YAML spec: http://yaml.org/spec/1.2/spec.html

JSON spec: http://www.ecma-international.org/publications/files/ECMA-ST...

If you haven't read the JSON spec and you use JSON I recommend doing so. It takes five minutes. My personal favorite line: "Because it is so simple, it is not expected that the JSON grammar will ever change."
Strings without quotes leads to all kinds of trouble in YAML. You end up just quoting everything anyway the first time you need to use "false" or "[some words here]" as a string.
But if the wrappers get inlined (which they should be) then SROA kicks in and promotes the tags to SSA values, where other optimizations such as SCCP can eliminate them. Optimizing compilers are awesome :)
Well, definitely this is a great project but at the moment, for what i was able to see in the demo video, the main features are very similar to code completion and API exploring as i can currently perform with my ide (i develop mainly java based app so IntellijIdea or Eclipse give me quite the same help).

Don't want to be rude but it doesn't seem like this tool may currently enhance my productivity.
I'm a big fan of Capsule, actually. My point was not that Java and the JVM ecosystem are terrible (I quite like them), but rather that there is a spectrum of size and complexity and that Go's static binaries seem to be on the simpler to build side of JARs and on the smaller side of JARs.

Also, I don't think there's much of a case to be made that bundling a JRE with your JAR is small, even though the tooling might be simple and it might resolve many deployment issues.
YAML's a weird choice for this kind of application. I once explored different markup languages for maintaining my resume, ultimately just went back to using LibreOffice.

There's a temptation to use a structured, machine-readable formatting language for anything that has structure, because you might one day want to use machines to work on it.

But for an application like this, those times are the exceptions, most of the time, it's humans that are going to read and modify the text. It makes way more sense to use a human-oriented format and simply use a convention so that it's easy to use a tool to convert it when you need to. I see no reason why Markdown can't be used.
If you image search "gold bar" you'll find a lot of images other than the stereotypical large "Good Delivery" (400 troy oz ~12.4 kilos, Wikipedia has more details on the Good Delivery specifications). Apparently 1000g bars ("Kilobars") are common for trading, but there are images of "Credit Suisse" 100g bars that turn up as well.
> Funnily enough, I've never used auto-completion. I've even gone through the trouble of deactivating it in Atom,

Super 1337 bro
Social Networks vs. User Acquisition – A Brief History
I've managed that one as well. One month into a new job and working on servers with complex applications installed that I wasn't yet familiar with. Thankfully I had `crontab -l` just beforehand, otherwise I'd have been screwed.
> force me to tell a court what you said

Incorrect.

Government can attempt to legally compel you, but they cannot actually "force" you to do something. Even torture cannot actually "force" you to do something. What can force you to "tell a court what you said" is making it impossible for you to keep a secret; like mind-reading technology.

> ...legal system is built on being able to get whatever evidence is relevant wherever it may be found...

Think about it for a minute; Government says "tell us what you whispered", you say "no", then Government says "fine. you go to jail for contempt". Has our society collapsed because people said "no" to this question?

> ...being disingenuous to pretend that the government...

I'm not sure "disingenuous" was the word you meant to use here. There is nothing I've feigned ignorance about, and I've made my points pretty clear.

EDIT:

Ah, see @JoeAltmaier's already great sibling reply.
I don't see why these figures are considered useful in this context. The total amount of tax revenue needs to be larger (and more efficiently distributed), and that increase in tax revenue needs to come about almost exclusively through increased taxation of those hoarding wealth.

"The top 5% paid 57% ..." makes it sound like they are doing more than their fair share, but that's a gross mistake. It doesn't matter what the raw percentage is without also looking at how much of the income the op 5% took. If they take 99% of the total income, but only pay 57% of the tax revenue, it still amounts to a deep unfairness. (I'm not saying that tax revenue paid has to be 1:1 with income, only that taking 99% income while paying for 57% of the tax revenue is deeply unfair in favor of that wealthy 5%).
> That's the state of affairs in every developed country except one

Not even close to factual.
Emoji and Image Understanding for Bots
JSON5 [0] is better as unlike Hjson, it doesn't include non-ECMASCript syntax.

[0]: http://json5.org/
Company Communication Guide – Voice and Tone for Everyone
-O4 exists for 'risky' optimizations.

-O3 is for optimizations that are mostly not risky.

-O2 is for optimizations that don't involve a speed/size tradeoff

-O1 is for optimizations that don't slow your compiler down too much

Obviously these are fuzzy categories, but -O4 is where "undefined behavior" optimizations belong. Alternately, each individual optimization has its own flag, and can be turned on individually.
Show HN: Hackathon finder
> Unfortunately at least now Rust is falling into the same category.

Rust offers one major thing that Modula-2 never did: eliminating memory management problems (also concurrency problems) with zero overhead. In the '80s and '90s it was not known just how dangerous memory management problems could be (use-after-free was thought to be a harmless annoyance). Not now in 2016, with every single browser engine falling to remote code execution via UAF in Pwn2Own.
Slave revolts suggest otherwise. The important thing to remember is even if you win, revolts are incredibly expensive.
It's quite possible that in many senses Kotlin will overtake Scala. Maybe not in terms of advanced language features, but in terms of adoption, tooling.
I, Phone [video]
KeyCDN Enables HTTP/2 HPACK Compression, Huffman Encoding
"But sadly it seems that the notion that our most basic and widely-used programming language should be one that's fit for programming in is not yet fully accepted."

Ouch. I usually hear that about C++, not C. =[
That article says //Continue filling with other sources where it should say //exit with an error.
Youre talking about a shotrage of labor.

The creates upward pressure on wages, as businesses need to attract more workers.

Dont see how this is a bad thing, given that wages have been stagnant for decades
There are multiple extensions that let you set your new tab screen to a blank page, or just a list of apps, or whatever you want.
> You don't really understand the UB problem if you model this in your head as some sort of simple set of rules that everybody really should have known all along

What does this have to do with my comment, at all?

> You can't just shrug this away with

Who is shrugging?

You don't understand a complex problem until you understand both sides. The article only presents one side. I am presenting the other. It doesn't mean I think the problem is simple or easy.
Real talk: I have a gaming PC and an Xbone, and if Microsoft was just willing to give me a One running Windows 10 I would jump so hard at that. Get rid of that garbage dash UI and just give me a start screen PLEASE. I'd even settle for Windows 8.
Not even. I work for a 30 person company and I can't even share my own personal code with third parties.
This is really cool. It reminds me of OmniSharp which provides Intellisense to any IDE. It just runs as a background process listening on HTTP so adding intelligent autocompletion to a text editor is fairly easy. I like this approach a lot.
Or Zeal (http://zealdocs.org)

Or Zest (http://zestdocs.org)

Disclaimer: I'm (co-)author of both, and to be honest, Zest sadly isn't really maintained now.
A question for the more politically inclined:

Feinstein's seat is up in 2018, and she'll probably retire. How do we ensure our next Senator has a more technically literate position on encryption? Who are the plausible candidates?

In the 2012 open primary, the next highest Democratic candidate only got 2 percent of the vote compared to Feinstein's 49.5. So who is waiting in the wings?
> did you mean crontab -r ?

Some platforms it's -r, others it's -d. I suspect it's down to which cron daemon you run but never really cared enough to investigate. In any case, both are next to the 'e' key so either are just as dangerous in terms of typos.
Electron?
> People in 1999 weren't running huge neural nets and beating the world champion in Go.

Which was mostly GPU code, so it was either CUDA or OpenCL btw. Not actually C.

People do need to realize that the fastest, massively parallel supercomputers are in fact written in CUDA / OpenCL. And the most powerful supercomputers are mostly being used to display 3d-models of a sword-wielder fighting a guy with guns.
Interesting. I guess quarterly is an internal target.
"He has dropped completed works and been unable to find them again on the greasy carpet of his studio."

That could be rather disappointing!
> Legislation can get past powerful lobbyists if there's enough public momentum. It happened with Tobacco.

Anti-tobacco legislation was passed due to powerful lobbyists.
This looks really cool. Bothers me having my code sent over, because i can't use it for a variety of use cases, but for my personal work i may give it a try. I've got two main desires though:

1. In editor pane. I use Vim in a full screen term, and really want want to deal with managing OS windows to allow a Kite window side by side with iTerm2. Perhaps an overlay would be solve this? That way it works for bash/etc?

2. Rust support. I'm learning rust lately, and this sort of tool could really benefit me with a learner-error-prone language like Rust. Based on the signup form though, Rust does not appear available.
That was around the year 2000.

People eventually stopped joking about how stupid "eyeballs" are as a metric and forgot all about the late 90s. Now they make the same mistake because, well, take your pick:

-Mobile phones aren't desktops

-Big data

-This time it's different(TM)
> If gcc -O2 without whole-program optimization was good enough to encode MP3 faster than real-time on a 366 MHz Pentium laptop in 1999, then surely it's good enough now

This is patently a ludicrous argument. How can the speed of encoding an MP3 be used as a proxy for countless other applications of computers?

Programs that are slower than they need to be waste real energy and other industrial resources.
Autonomous Weapons “Could Be Developed for Use Within Years
I agree, and a number of my grad school friends were into climbing. I would never have identified them as "the climbing man" or "the climbing woman" though, since it was just one aspect of their personality. If someone had introduced one of them to me as "the climbing man" then the climbing stereotype would have obviously had some effect on my perception.
>Socialism says two people do not have the right to come to an agreement on the exchange of property and labor. What is social about that? How is that in harmony with human nature?

No, socialism says focusing on group cooperation optimizes aggregate wealth. Socialism says that somewhere between a completely shared economy and a completely private economy is a sweet spot where you get the best of both worlds.

You're very focused on this "socialism is anti-social" stance, but not only does it not make any intuitive sense, it is not backed up by any data. Show me a modern, prosperous state that absolutely abstains from social programs or promoting collective interest.

The very idea of a state is a threat to (completely) free exchange of property and labor. Most people are willing to buy security from the state in the form of regulations and taxes. We think our food should be safe to eat, so we make rules and add a cost to ensure a baseline. We want advertisements to accurately represent products. As individuals, we have little recourse against an industry which has decided to curtail consumer health in favor of increased profits. The state is simply a mechanism to ensure our collective will is met, not as entities in a capitalist network but as the weird little thinking, walking primates that we are.
Can you elaborate? Hopefully they don't have straight UB do they?
This made me think of this quote: https://twitter.com/devops_borat/status/41587168870797312

More seriously, this isn't the first I've heard of rm -rf backfiring - one of my friends said at one place he worked at, an IT guy walked out one day & never came back after trying to fix a co-worker's computer. He found out after by investigating on his co-worker's computer that the IT guy must have ran rm -rf while root & wiped out everything.
That's awesome.

A company I left a while back recently had two servers accidentally rebooted through sort of automated task (probably puppet). The fine, I'm told, was one billion dollars.

Someway, somehow, he still works there. :)
It's required in POSIX 1003.1-2013 that rm refuse to remove the root directory[0].

[0] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/rm...
While related, I think you're overestimating the capacity of the average human being to make such calculations.

Since they are incapable of determining the maximum effect of their dollar (at least, not without intense effort), they simply make the choice that feels the best, and that will usually be determined by the proximity of the suffering.

Secondly, many people invest in cancer research because everyone might get cancer. They aren't hoping to reduce suffering generally. They are thinking "I or my friends might get cancer and collectively this research might save my (or my friends) life."

Nobody cares about the suffering of people they've ever met. I mean, intellectually we all do, but emotionally, no, you have to see the person (or at least talk/text with them) to care.

As depressing as it is, your "average" human being is not making any decisions based on a rational estimation of the best way to achieve their goals. If they have goals at all. They pretty much just try to muddle through.
I just called my local reps (John Larson, Chris Murphy and Richard Blumenthal). Each call was quick, professional and friendly.

That was my first time calling and it was surprisingly painless.

I opted to provide my name and zip code. I think that allows them verify that I am a resident and maybe makes my comment carry more weight than it would without personalizing it. They seemed willing to accept comments either with a name or without one.
how about yaml?

http://www.yaml.org/start.html
“The only guarantee, ever, is that things will go wrong.”
Also, the government tends to separate out makers (manufacturers) from sellers (vendors), though they could be the same entity. Someone may be able to sell software (say on the Google Play Store or Steam or Apple's App Store), without restrictions. But the makers of the software would be subject to this law if their applications permitted or enabled encrypted communication.
I'm a bit surprised the newspaper did not validate the source? They're basically quoting a Super User / Stack Exchange thread which was probably a troll.

If a hosting company had deleted 1535 client accounts, we would have heard other stories about it from angry clients?
Apple to donate a portion of App Sales to support the environment
C is designed to be capable of running of vastly different architectures, allowing the programmer to use that flexibility when it actually isn't needed, or is harmful.

I think the C coding mindset should be this: if an approach requires code that isn't unambiguously defined, change the approach. If this means more boring coding, to circumvent cute tricks, so be it. If you need that extra 5% speed, use assembly instead of bending C.
You like it when aliasing rules allow your compiler to copy the target of a pointer into a register, rather than read it from memory over and over in case an intervening write through another pointer could have overwritten it.
I do understand it. That doesn't mean I don't think those who hold that position are cheats and liars, and should be up against the wall.
I have this thing where I tend to match the body language, style of communication, etc, of the person I'm communicating with. I think this leads to a lot of these feelings, because as I match their body language, I start feeling the same emotions they're feeling. Catching yourself doing this and relaxing your body seems to help. Just wondering if you can relate.
Not sure how you get that. Let's assume that memory is allocated in sizes that are multiples of 4, and length-prefixed strings have a 4 byte length prefix.

str len: c-str bytes: size-prefix bytes: difference:
1 1+1 (4) 4+1 (8) 4
2 2+1 (4) 4+2 (8) 4
3 3+1 (4) 4+3 (8) 4
4 4+1 (8) 4+4 (8) 0
5 5+1 (8) 4+5 (12) 4
6 6+1 (8) 4+6 (12) 4
7 7+1 (8) 4+7 (12) 4
8 8+1 (12) 4+8 (12) 0

So, for example: "ABCDE" as a C-style string would require 5 bytes for the string plus one for the null terminator, which would be satisfied by an allocation of 8 bytes. An equivalent length-prefixed string would require 4 bytes for the prefix plus 5 for the string, which would then be rounded up to 12.

The only time the size-prefixed variant doesn't require more memory is when the string length is a multiple of 4. So the length-prefixed version requires an additional 3 bytes on average.
How Google runs production systems
I can't speak for the midwest or south, but in rural California, the problem is the same: housing prices rise because there is no zoning for new houses. There is no zoning for new houses, because people don't want their town to change and grow.

The carolinas for example: with limits on zoning permits and fees

Exactly.

If you can't buy a house for less than $100k, then you can be sure it's a problem that can be solved by building more houses (ie, allowing it to happen through zoning and permits).
with 'set -u' he could have stayed safe. Bash probably should never treat undefined variables as a valid but empty value, it's so dangerous.
How is this even remotely possible..?

- No developers have a local copy of code on their machines?

- No backups at all?

Worse case scenario, couldn't you attempt to retrieve the data from the hard-drive? Though, the database(s) would likely not be retrievable.
> Can we build a code editor fast enough that it doesn’t feel like you’re typing in a browser?

Is this a jab at Atom? I like this.
Amazing that in 2016, the best programmers in the world have not chosen to solve the "display mailing list archives on a webpage without terrible line wrapping" problem yet.
Fair enough. But some very significant fraction of the hardware and energy spent on data centers today is on CPUs.
A long two is the worst shot in basketball from an analytics perspective. I know that sounds incredibly obvious, but it's one biggest changes to game theory that the basketball analytics wave brought.
This is amazing. Documentation pages that list methods alphabetically, or by some other random order, drive me crazy! Just being able to show me function calls by frequency and relevance would make Kite worth it. And there's so much more! Very excited about this.
Will the chat bots self identify as chat bots to customers?