skysight-inc/HackerNews huggingface dataset:
> Presumably developers are the one's estimating how long things take.

This is not meant as a slight: I think you're grossly unfamiliar with software development outside of engineering-driven companies.

It's pretty much a guarantee that product managers are deciding these estimates. They might confirm with the developers, but the conversation probably went something like this:

"Does 3 weeks sound about right for this?"

"No, we'll need 6"

"Why?"

"Safety checks"

"Ok, we don't have 6 weeks. I can give you 4, but we're just gonna have to make do."

Is it scary that conversation happened about a piece of medical software? Absolutely. Would I bet $1k that it happens frequently? Absolutely.

> A reputable engineer wouldn't design and build a bridge which might collapse

Rarely does a single engineer design a bridge nowadays, so corporate liability and reputation (good luck landing more contracts if your bridge collapses) is a huge factor in much of that beyond simple ethics.

I would be shocked if anything happened to Merge as a result of this, whereas a company who designed a faulty bridge would be sued into oblivion.

Further, professional engineering in the US is a whole different game that involves licensing and regulations specifically to avoid that situation. Software "engineering" has no such equivalent currently.

Pinning the blame on the peons is a sure-fire way to make sure this situation never changes.
Pluses:

It was vastly preferable to server-side template rendering (how YouTube is traditionally built). :)

Generally well-built components with support for material design patterns.

Polymer team was responsive to issues and quick to address feedback.

Plus a bunch of non-technical reasons like developer mindshare within YouTube etc.
Users shouldn't be exposed to the OS here at all.
i disabled js for all websites because some pages eat MBytes. Its hard to switch on and off. But I planned for a long time to replace gmail and soon it wont matter.
Or maybe "Microsoft will only support the latest processors in Windows 10 and beyond"
Sorry, I forgot there was a limit.Good catch though!
Absolutely, there's quite a few gaffes in java (other languages have similar issues too):

* char being 16bit and thus can't hold a modern unicode character

* lots and lots of string and byte stream methods that have variants without explicit charset parameters, making it very easy to accidentally have a hidden dependency on the implicit default charset (aka -Dfile.encoding)

* Using strings instead of byte[] for filename values

* Having to deal with UnsupportedEncodingExceptions as checked exceptions whenever referencing the UTF8 encoding
It's a bit annoying and lame but not really a huge deal.
For example, you can just open an fstream like so:

std::ofstream file(convertUTF8ToFStreamPath(pathname).c_str());

Where convertUTF8ToFStreamPath converts from UTF-8 to the Windows wide encoding (UTF-16?)
It is the basis for the "graphics" of Dwarf Fortress. The game now uses SDL and a tileset, but still includes a text mode (but not on windows).
How much of an issue is this really though?

Isn't the worst case a 1 cycle penalty for using a 32-bit int on x86-64 in the manner described in the article?
That sounds nice...but then you will be replaced by a developer that will toe the company line. You're making 'unreasonable' demands and holding up progress. 'We can fix that with version 2.0'

If every developer on the planet suddenly had a pang of consciousness, then something like this would work.

Fortunately I have never found myself in such a position, but I have seen it many many times.
Code reviews are not about coding standards
Exactly.

If users are never meant to interact with the OS itself (airport terminals, ATMs, displays, etc.) then it makes absolutely no sense to use Windows.
Monsieur Oscar GRIFGNEE
Microsoft is the new Google when it comes to respecting any sense of privacy of anyone including their developers apparently.
Dealing with Design Criticism Like the Dalai Lama Would
Excluding the performance issue, which largely seems to be confined to instances where polyfills are required, the cons don't seem so bad. The tooling will improve as the library and community mature, and other problems are being addressed already by the looks of it.

I've got a project in the pipeline for which I was planning to use Cycle.js, but I've always had a niggling interest in Polymer.

What I'd like to know is whether Polymer offers any significant pros, because after consuming some of the docs the offer seems to be a better reimagining of ASP.NET WebForms. What are the benefits?
Have taxis gotten better at mobile dispatch in Austin?
99% of Windows users
I think this is a good spot for this rant I've had brewing awhile...

<rant>

I get so tired of Microsoft's continual half assing of literally everything, but especially when it comes to things like this, where they're trying to move forward across multiple avenues to keep everyone happy. They do this constantly, it compromises their software quality, compromises driver stacks, because they are simultaneously trying to have new features AND legacy support, and they do this for EVERYTHING.

Apple does things all the time that I don't like (especially as an iOS developer) but my experience has taught me that though whatever they've done may suck in the short term, that there's a larger plan at work and it will probably benefit me in the long run. I have NO such trust in Microsoft, because every time they have a moment where they need to say "hey, this is fucked, we need to move on to something better" it's ALWAYS followed by "but don't worry we'll still be supporting all the old garbage to the detriment of our OS as a whole."

I have little love for Windows 10, I don't like the phoning home every ten minutes, I think the UI is ugly as sin, etc. but that is the future and I accept that. At some point I will need to make that leap in all likelihood, and this continued "well you really should upgrade but it's ok if you don't want to" crap just makes me terrified as to what kind of pandora's box is awaiting me when I decide to make said leap. Exactly how much stuff is going to be broken because they had to make DOS applications from 95 work on their NEW operating system?

Microsoft: Shit or leave the toilet. If you're going to bank hard on Windows 10 then make sure it's something WORTH BANKING ON.

</rant>
They don't re-evaluate on nested path changes, e.g. if (item.bar.isActive) won't trigger if isActive changes. You can work around this in practice but often it requires significant architectural changes and for your regular JS code to be Polymer-aware.

This wasn't true in Polymer 0.6 but required Object.observe which is SLOW.

React's render everything and diff approach avoids this issue.
Many of my peers ended up doing postdocs (most finished PhDs in the early 00s). Some are academics today, many work in industry. Some like me are now in completely different fields. I was mostly lucky in that I got a job at an early stage startup after my PhD. I didn't want to be an academic so the post-doc route was not as interesting.

The relevant part was that none of us thought about post-docs as another degree but the next stage of our careers.
It's not just languages. Apple named their word processor "Pages" and their spreadsheet "Numbers".

Surprisingly, these both give useful results in Google. The Pages app is at the top, and the Numbers app is only four down (after "Number" on Wikipedia and a couple of results for the Numbers/Numb3rs TV show).

I suspect some hand-tweaking on Google's part.
I've noticed that Excel seems to assert that CSVs are not in UTF8. I know the standard is actually ASCII, but nobody on the team seemed willing to understand why their smart quotes came out as "weird characters" (or even understand what smart quotes are). It came out correctly in LibreOffice.
I did a "make dist" and then tried to untar. It hung two builds ago. This build it hangs -- or worse, the files are corrupted. It's sort of ridiculous.

EDIT: Maybe it's bug #313? Anyway the Microsoft I used to know wouldn't release stuff like this. Step 1 fire all the testers. Step 2 "let the community vote." Step 3 is not profit.

https://github.com/Microsoft/BashOnWindows/issues/313
I did the same (about 60mph, clipped a tree in a curve and rolled) in a Honda Fit, and left myself upside down. None of the windows broke, the doors still opened and closed, and the car looked almost fine except for some damage on the front end. Of course it wasn't actually fine, but still, I was impressed.

I don't think this is really unique to Teslas at all.
It gets even more fun when you have no choice but to use a poorly maintained closed-source third-party library (par for the course on Windows). If the library authors didn't use this trick themselves you can get stuck in situations where you have no way to make the library open the file without resorting to the DOS 8.3 name. And if the user disabled 8.3 names system-wide... then the only consolation is that something even more important on the system will probably break first. A sad state of affairs in 2016.
If you are using the shady dom (web components lite, rather than the low perf full polyfill), the library requires you to do dom manipulation through the polymer local DOM API. [0]

That means without shimming other libraries, polymer is incompatible with any other libraries you might use to manipulate the DOM. For example, you can't easily mix angular, react, or ember templates with some polymer elements, because (e.g.,) angular's ng-if directive doesn't use polymer.dom to inject created nodes.

This is currently my biggest beef with polymer. Someday, webcomponents will be great, principally due to composability and portability. Just plug the one component you need in to your extant work. But for now, that promise is not quite realized.

[0]: https://www.polymer-project.org/1.0/docs/devguide/local-dom....
Those of us old enough to remember AT&T before the breakup probably had a similar system with our parents. Call, let it ring once and hang up. Repeat. Wait for mom to call you on the family phone.
I don't know how else to help you. You are delusional, and it is caused by your lack of a basic education in physics. Studying physics will help you realize that.
The only persons that are condescending are the ones going off in an argument without first putting in the work needed to not waste everyone's time.
Oh, I'm well aware of the difficulty of negotiating with product managers over timelines.

The difference is that they never should get the decision to cut safety checks. Cutting safety checks should be as ludicrous/impossible as writing half the code of each function to cut time.

The conversation should go like this:

PM: "Does 3 weeks sound about right for this?"

Dev: "No, we'll need 6"

PM: "Why?"

Dev: "That's how long it takes to build those 6 features."

PM: "Ok, we don't have 6 weeks. I can give you 4, but we're just gonna have to make do."

Dev: "Okay, which features would you like to cut?"

> Further, professional engineering in the US is a whole different game that involves licensing and regulations specifically to avoid that situation.

I'm aware. While I don't think the majority of software developers should be certified, we should require licensing for working on safety-critical applications.
We can end the subsidies that make McDonalds fare so much cheaper than buying healthy ingredients, for one thing.
Prometheus
InfluxDB
opentsdb
...
and on and on

It seems it's pretty crowded
Makes sense. Thanks. I suppose the article needs a bit more clarity.
The first move is actually pretty constrained - there's only four normal choices, of which only two are usual. You are trying to grab a corner, and trading off between a certainty of controlling a corner (4-3), or more influence on the rest of the board (4-4 on the corner dot).
Well, only partly true. Because all paper/iron elements are adapting seamlessly on mobile, there is no real need for a mobile framework.
I agree piling on charges just in hopes of extracting a plea deal is unethical.[1]

However you're talking about a totally different sort of unethical prosecution. When the government steamrolls a drug dealer, they have a ton of physical evidence of an illegal act. You can debate whether those acts should be illegal, or the justice of the sentences, but a jury would definitely convict on the basis of the evidence.

What you're talking about is charging people for crimes when you can't even articulate what specific acts they did were illegal or present concrete evidence of illegal acts a jury could convict on.

[1] A lot of that practice was the result of DOJ policies that required prosecutors to bring charges to maximize the sentence. Obama recently eliminated that policy allowing prosecutors to use their discretion.
Thanks for such a complete and lucid explanation!
> which can happen on a Linux system where users use different LC_CTYPE.

If only it were that simple. POSIX paths are encoding-less bags of bytes, you can literally find anything in them aside from NUL, LC_CTYPE isn't even a consideration.
That's why we should probably require engineering certifications for working on safety-critical software. Working on such software should require demonstrating a certain level of knowledge and upholding a code of ethics.

I generally oppose certification for engineers, but solving collective action dilemmas like this and saving lives in the process is exactly where it would help.
The third party library situation is indeed trickier. I've never found a library that I couldn't get to open Unicode paths eventually though. Sometimes you have to open a file handle yourself and pass it to the library.

Edit: By the way the worst handling of Unicode paths on Windows I have found is by Ruby, which is still partially broken. (last time I checked)
Performance in an absolute number vs scaling.

The lowest hanging fruit gets picked. "Lets dump absolutely everything and NIH the whole thing for a single time 5% performance increase" doesn't sell well when that one time gain is expressed in the amount of time it takes hardware or network capacity to improve 5%, or fixing poorly scaling algos. Also insert the usual analogy of the ratio of the cost of microscopically faster hardware vs the labor cost of extremely expensive rockstar ninja programmers.

Also its assumed that change will lead to improvement because anecdote, or because change is always good. However, "the thing that won uses text, so naturally we gotta get rid of text" doesn't sound like a wise plan.
Oh, never even heard of it, and just snagged it. Thanks!
Uber, Lyft spend big, lose big in Texas vote on driver fingerprinting
Indexing to revenue is a bit of a simplification. what I really think is the revenue stream should be split between current benefits and a reserve fund, with the reserve fund drawn from to avoid decreases in cyclical downturns. The idea is that the long-term effect should be increasing benefit with productivity, while avoiding short-term benefit drops.

And the effect you describe is really one of overall domestic spending, not one program in isolation.
>the UBS guy asked Elon where their battery costs would be by the time the Model 3 launches, and Elon said he felt was proprietary.

What is "proprietary" about it? Previous plans and costing were based on the Gigafactory being able to achieve scale by 2020. That production is being bumped forward two years, so what effect will it have on costs? Why would we assume they can suddenly get the same savings in less time? It's a good question from an investor's perspective.

>Musk politely answered a whole series of questions from this and other analysts

Yeah, he loves answering Adam Jonas. Many of these guys are practically shills. Some of their questions are embarrassing.

>You're not gonna trick Elon Musk into giving you more data by asking the question a different way.

Here's the thing HN doesn't seem to get: this is a public company. People have the right to ask questions. In fact, more questions should be asked of companies like this, that are losing vast sums of money yet have sky-high valuations. That's the difference between genuinely curious people and those who are willing to take what the CEO says at his word, for everything.

Watch for an equity offering soon, something else that we were told wouldn't happen.
this article isn't really about microsoft breaking their policy of 'support everything from all time', but that policy is breaking and it's going to get worse. Drivers (especially printer drivers) are the first straw, followed by lots of old industrial control programs written for XP.

Cross your fingers that businesses who need to plan 10 years out will learn this lesson well and remember that the best way to do long support is shared source application code (even if behind an NDA) on open source platforms.
Of course not, why would they need to get better when they were betting the proposition would fail.
It's crowded because there isn't a clear leader.
Previous discussions:

https://news.ycombinator.com/item?id=11648758 (main)

https://news.ycombinator.com/item?id=11653490

https://news.ycombinator.com/item?id=11653839
I think the real network-level win comes from rigorous events, period.

Event sourcing, on the other hand, is an internal implementation detail of a particular service... Which happens to get you a good stream of events as a side-effect.
7 plus or minus 2? That would be easier to remember.
Would you care to share where you're working? I'm finishing a PhD in cognitive science (grad minor in computer science) and am interested in the EdTech space.
Yeah, this should be common knowledge.
This is useful - thanks for tracking it down.
Luck just means you don't know the cause behind an effect.

Attributing success to "luck" is therefore simply putting the conditions for success outside your locus of control.

Attributing it to "grit" or some other personal quality puts the conditions for success within your locus of control.

For many people (myself included), the latter philosophy is more helpful as it makes success seem more deliberately achievable. Combined with a strong sense of agency, this philosophy can imbue its proponents with more confidence than those waiting for "luck" to happen (or who have given up on it happening).
I wouldn't include opentsdb under "lightweight" as it requires HBase.
Windows ( at least 7 & XP) can be stripped down to something approximating a properly running system. This isn't easy.

Having an anything-critical Windows machine on the open Internet might not be such a wonderful idea.
The Sprawl
This was a short but interesting read, even if just to see the takeaway they had from visiting a conference of a completely different field. They had the same impression I've had from attending some hardcore-engineer conferences that haven't been exposed to much graphic design or startup culture.

I would've loved to hear more of the reverse though, if the design folks learned any insights from talking to the medical residents, or if they saw some obvious, glaring flaws in how the more design-centric folks approached things.
I was a little disappointed to see that this was just a single-machine hierarchical time index on top of a pre-sorted append log.

It's not a bad architecture, and the lockless queuing system and shared memory is cute, but:

- It only supports time indexing. Querying by other fields (e.g. if you wanted to build a time histogram of when you saw a particular event) requires reading the entire dataset.

- It doesn't address replication/distributed indexing, which seems like a must.

- The use of calendar time over micro-timestamps also needlessly complicates things, though presumably it makes their queries more efficient (assuming people query by discreet time buckets like "yesterday").
I tried to make it work on Windows.

I gave up. This article describes why.
How are conservatives on HN supposed to talk about what we perceive as psychological hangups and failings of our subculture, if you're going to simply cast them as snark/unsubstantive when you don't agree with them?

It's not like this sort of unpleasant psychological characterization is out of the norm on HN, it's just usually applied to the other side.
The old chestnut, but valid: Learn, and get comfortable in, a functional language. The typical case being Lisp (often in conjunction with a readthrough of SICP), but if you have the stomach for it, Haskell (or languages of its lineage- ML, perhaps OCaml or Scala) offers the same functional "enlightenment", and the mysteries of strong type systems besides.
Often they don't. Maybe by nominative tuition, but not by median.
Systems science
BTrDB: Time-series db in 4709 lines of Go doing 119M queries/second with 4 nodes
I did read over 2/3 and was surprised not to see the reference to that point. I also did a search but included "s which found the commenter who also expressed surprise at the "omission" so I thought I was on firm ground. My apologies.
Not so easily. If you're trying to learn really difficult things, classes are a huge help.
The biggest takeaway is the last paragraph:

> On most of the machines you're likely to use, "size_t" for loop counters is a good idea where signed values aren't required. It's unsigned and generally as wide as addresses, so there's normally no extra code for zero/sign extends, and the type is standard.

Just work with size_t and be happy!

If you need to iterate through a sequence a[0], a[1], ..., a[n-1] in backwards order, the while-condition "i >= 0" of course won't work with size_t (which is unsigned); instead, use the following idiom:

for (size_t i = n; i--;) f(a[i]);

The above code will call f(a[n-1]), f(a[n-2]), ..., f(a[0]) with no issue, thanks to the post-decrement operator.
I sure hope it's better than the delusion...er...dream... Greenspan sold us, but alas, I didn't RTF to find out.
I see the learning curve of chess to be similar to that of poker: Learning the basic moves is as easy as learning what hand beats what. You can memorize each in an afternoon. Then, you learn a few basic tactics and work on your ability to enumerate your opponents next possible moves. Similar to the basics in poker like betting strategies, calculating odds, etc. At this stage, you're still not going to go out and start winning. Finally, there's this huge learning cliff for both where, in order to even start winning even a little, you need to invest an enormous amount of time, read a lot of literature, and practice, practice, practice.

I'd like to get into chess, but the time commitment needed to get even moderately competent is daunting.
[Show] YTPP: YouTube Play/Pause without switching tabs
I could imagine that being problematic for large corporations that have long software upgrade cycles (for instance, because it takes them two years to certify that everything they need runs on the new OS and then another year and a half to develop an image to use for the new OS on all machines in the organization, and then another year to polish the upgrade process.) What are they supposed to do when old desktops break down and they need to replace the hardware?

I assume that the new hardware will still run old operating systems under virtualization?
I agree that one more commonly calls those benefits. But is there a bright line? It seems to vary a fair bit by country and situation.

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

Regardless, I'd still guess the $25k number includes both.