skysight-inc/HackerNews huggingface dataset:
Interestingly, QWERTY's efficiency is back on the upswing. That is, the common understanding is that QWERTY was developed—at least in part—to reduce jams resulting from adjacent keys being pressed in close succession. This was relevant on typewriters, but of course is not relevant on computers, which have no inked bits to jam.

As we shift to virtual keyboards, there is again a benefit to having distance between frequently-used keys. Predictive typing guesses are better when keys like A, E, and I are not close to each other, since there are many words where only the vowel differs (bit/bet/bat, nit/net/nat, etc.).

On a somewhat related note, I've been trying Swype recently. After a couple weeks, I'm still not more efficient than regular typing, but I could see how I might get there eventually. I'd be curious to know what others have found the learning curve to be—how long it takes to "break even" and whether efficiency continues to improve for months.
Because clearly Uber would succeed over a manufacturer who actually makes self driving car. Aren't there already almost 8-10 ridesharing options available in Austin after Uber and Lyft vacated?

Uber and Lyft are the WebVan of this decade.
Can't wait for a class-action lawsuit.

This is precisely why it makes sense to keep database data encrypted even to admins and why it makes sense for ride-sharing companies to be co-operatives or non-profits.

Profit-seeking companies engage in bad behaviours all the time.
The Real Monopolies Are Google and Facebook
Ask HN: I built an app with HN users as target, how can I promote it?
I've built a web app for me (a guy who loves news from tech startups) and I think this is a big part of the HN demographic ADN, however, I've posted it twice in Show HN and the result has been abysmal. I'm happy with it and I use it daily, but there are some minor costs involved and I'd like to have more people using the app to cover the costs with ads, but primarily because I love when people find useful something I coded.

Description from the about page: "Techtronium is a news stream from hundred of startups and tech companies coming directly from their blogs. There’s no edition, no votes, no community, just news in chronological order."

1)Does it sound like something you'll use 2)If yes, do you have tips of how can I promote it.
I large agree with this, although with some provisos.

First of all, sometimes it's most useful to take a step back and think about problems in a wider context. Often the biggest impact is from the code you don't write. There's really no way those kinds of contributions come out in any kind of metrics, but the team will sure remember them.

More commonly, I prefer to commit often to aid my dev process but then rebase those commits into more cohesive units before merging. How chunky to make those final commits is somewhat a matter of taste, and probably shaped by the domain one is working in. Personally I like the finest grain possible without any build breakage, that way git-bisect still works, but hopefully there's still enough granularity to help with trickier merge/rebase scenarios around dependency upgrades and/or db migrations. But pardoning the digression, my point is the output seen by the rest of the team may not represent the original frequency of commits.
You still lose money that way. The volume gain is often not enough to offset lackluster sales.

(Chinese can outcompete you on price, always.)
Yeah I think I saw the list elsewhere the first time and my google-fu failed, I'd swap the link but I'm outside the edit window, which is irritating as always.
7 common mistakes made when user testing prototypes… and how to avoid them
I'm around the developer age you call old and I actively work with microservices. I agree with your comment but I don't think there's anything wrong with reinvention as long as the new techniques, libraries and frameworks are actually advancing the idea and not relearning by making the mistakes of the past. There's no reason why we can't make up new words for evolved or subsets of technologies if that gives the industry a common vocabulary to use.
I have switched to programmer's dvorak (dvp) for a year now. I have recorded the amount of typing vs speed. Right after the switch, the speed increase is logarithmic to amount of typing: I will need to practice twice the amount of typing to get a constant speed increase.

But now, I definitely feels much better than qwerty if typing English / code regularly. I no longer feel the strain on my fingers after long periods of typing. I also got a ~15% speed improvement, but that might just because I can touch type better. However there are several things that come up surprising me after the switch:

1. I forget all about qwerty. Every time I type on someone else's computer, I will have to look at the keyboard and picking letters one by one. It doesn't seem to get better over time.

2. Passwords are annoying to type even after I am generally comfortable with dvp after 3 months.

3. Shortcut keys are even more resilient to change. It takes very long to get comfortable with vim again (about 6 months), but now after a year of dvp I still have trouble Ctrl+c and Ctrl+v.

4. I spent a lot of time changing keyboard settings in games.

So for most of people who don't specifically focus on typing long paragraphs of english texts but press keys mostly as short cuts, I can see there is not sufficient reason to switch, if everything is designed around qwerty.
...you're right. Fuck, I'm getting old.
Why we don’t build websites with WordPress
I'm an engineer turned designer turned product manager (and sometimes backwards). Keeping yourself open to learning new skills is a growth opportunity that's silly to shut down in general. So the real question is given your life goals, would the set of skills that generally constitute design be valuable ones learn. Specifically, here's some common goals for programmers and how design helps them in it:

- Entrepreneurship: Design is a lot of understanding human psychology. This helps you communicate in talking, documents, better pitch decks, recruiting effectively

- Senior IC/Techical Leader: You can write more clearly, make great presentations that effectively train others, get buy-in more efficiently from management, be blocked less often by designers.

- Engineering Management: So much people work here. Empathizing, creating effective feedback loops with your reports and peers (design teaches you a ton about the value of feedback loops and how to create them), presentations, effective writing.

- Individual Hyperproductive Programming: You learn to understand yourself as a user better. I found that after becoming a designer, I optimized my editor to create the best possible user experience for me, wrote better tests, etc. Most good programmers implicitly do this, but having the vocabulary for how to think of yourself as a user, collect feedback, understand the visual elements that drive your interaction with your tools is massively helpful.

- Product Management: Docs, slides and the usual. Importantly, leading teams of designers and engineers is much easier if you understand their craft well.

The code skills training as a designer made me much better at was feedback loops, understanding human psychology, visual and auditory cues to trigger certain reactions, hierarchy and organization, and many more. It's totally possible you learn these from different experiences in life, but there's lots of value in these skills for most goals programmers have.
A minority in the US could make that same exact argument...
Can jet engines clean up Delhi's foul air?
Same here. I'm running Chrome 55.0.2883.87 (64-bit) on Mac 10.10.5.
It may rather be that Gates has realized that Trump is extremely susceptible to flattery, and so is attempting to manipulate the master manipulator.
If you're thinking of switching to Dvorak, perhaps don't. I switched at the age of 20 and I don't think there was enough of a benefit to it. Too much muscle memory gets locked when you are young.
How is this different than an RSS reader?
“Structural Regular Expressions” by Rob Pike
It's not only great composers that are fond of the bottle et al. Many great modern musicians have struggled with alcohol and drug abuse.
Having tones does not make a language inherently easier to learn, nor does having ideographs. If China would truly be better off using a non-tonal language with an alphabetic script, it's only because the language of the British Empire was non-tonal with an alphabetic script.

Actually, the mess that is English orthography is hardly more "manageable" than Chinese script. There are loads of phonetic elements in Chinese characters.
As someone with a decade+ long background in digital/product design and a 1 year fresh stint in full stack development, the answer from me is a resounding yes.

I can create apps that have perfect cohesion between design and logic without specs. I can skip the PSD entirely and develop my layouts and styles iteratively as I code. Whenever there are gaps in design decisions or stylesheet errors, I can smooth them out as I'm building the feature for the first time.

Between the UX and the database models, I know how it should work and how it must work.
What I said about inline is true of C99. C++ might be different though.

It is also true that Unix linkers give an error if the final set of object files to link contain more than one external definition of the same symbol. The linker can't tell if functions were marked inline in the source code or not. A definition is a definition. The Microsoft object file format might record this information. If it does, it would appear to be a misguided decision that opens the door for the kind of breakage you're complaining about.
SOAP support on Integromat
Integromat has added SOAP support, so now is possible connect and automate any SOAP based service :)
As consumers, we might want this, but it's not a smart idea for companies. Their early announcements are tests to see if there's enough excitement long before the product is ready. If very few people get excited then very few people remember you never finished the thing because no one cared. Google, especially, is looking at these types of metrics early on.
It's a new caledonian word, see https://github.com/mawww/kakoune/blob/master/doc/manpages/fa...
How do you deal with storage on bare metal?
Irishman here. I think you've heard correctly. Over here, everyone either has or knows someone who has some kind of mental health problem, in the same way that everyone either has or knows someone who has some kind of autoimmune disease. It sucks, but it's an unavoidable part of life and not usually considered grounds for putting someone in the loony bin. The society described in the article sounds like a nightmare dystopia.
What about with desktop software? Once you buy it you are able to use that version and don't have to rely on the vendor sticking around. Also, how do you go about finding such information about a company if a micro ISV doesn't publicly say they are just a solo venture?
> Every computer you were about to use would have a different layout.

Absolutely, I tried a couple of different layouts for a while ( PLUM and Dvorak ) but what brought me back to QWERTY was the ubiquity of hardware.

Every time I'd sit down at a client's computer I'd spend a minute or two apologising for typing like a clumsy fool until I'd readapted to QWERTY. My custom keyboards were back at my desk...

Certainly the other layouts were more efficient and less demanding on the hands and fingers, but just weren't ubiquitous enough for someone that worked in multiple locations.
We have guidelines from long ago.. (edit: Linky here http://homepage.cs.uri.edu/~thenry/resources/unix_art/ch01s0... )

Rule of Modularity: Write simple parts connected by clean interfaces.

What's simpler than a container that has clean API in and out?

Rule of Clarity: Clarity is better than cleverness.

Container Foo does foo action. Not Bar's action.

Rule of Composition: Design programs to be connected to other programs.

If everything's an API call, calling to it is trivial.

Rule of Separation: Separate policy from mechanism; separate interfaces from engines.

The interfaces can be their own container. Now updating the Interface can't bring down the whole system. And the people in charge of the interface needen't have permission to change other containers (unless on that team).

Rule of Simplicity: Design for simplicity; add complexity only where you must.

I know that a container does its job and does it well. Any complexity is contained, and cannot pollute other systems.

Rule of Parsimony: Write a big program only when it is clear by demonstration that nothing else will do.

Or... The combined system that you run is the big program. Because a big problem is almost always lots of small problems that look big.

Rule of Transparency: Design for visibility to make inspection and debugging easier.

Hence the APIs. The only thing I can think of adding, is a debug tag that allows logging to a logging server if DEBUG = On. Then, it doesn't matter what server the data is climbing through; you can see it. I personally like Apache NiFi, for the provenance. There's nothing like it I've found.

Rule of Robustness: Robustness is the child of transparency and simplicity.

A container makes it evident if it is the result of bad programming. You'll see good data go in, and bad come out.

Rule of Representation: Fold knowledge into data so program logic can be stupid and robust.

Because you never know what the next dev will think about your code. That clever method fails if the method is deleted...

Rule of Least Surprise: In interface design, always do the least surprising thing.

That's arguable, if you're trying to scam users with dark patterns.

Rule of Silence: When a program has nothing surprising to say, it should say nothing.

Rule of Repair: When you must fail, fail noisily and as soon as possible.

Absolutely. I've dealt with way too many things that fail silently, or fail with "OK", or are chatterbots on good data.

Rule of Economy: Programmer time is expensive; conserve it in preference to machine time.

This plays right in to containerization. Compute/storage is cheap.

Rule of Generation: Avoid hand-hacking; write programs to write programs when you can.

Yeah, LISP and FP still hasn't taken off.

Rule of Optimization: Prototype before polishing. Get it working before you optimize it.

Rule of Diversity: Distrust all claims for “one true way”.

Rule of Extensibility: Design for the future, because it will be here sooner than you think.

Hence containers. It's a ball of privilege separation, data segregation, clean interfaces, and easily maintainable.
See also those tricks you can do with a file that's both a zip and a gif at the same time.
I have large hands and having both hands on home row is actually uncomfortable (more strain)
In English in The South in the USA, often "can" and "can't" are pronounced the same ("can") with a minor difference in the way the "a" and "n" are held.
I'm curious, on what modern computer would 150MB cause storage issues?
Evolution of Parenting Behaviors
The big advantage of microservices, imho, isn't that their code is small (though that can be true), it's that their domain is small. If it takes 100,000 lines to manage your user logins, then do so, but put it behind a simple API that the rest of the company can use.

Now you've freed yourself doubly- everyone else can just trust that logins work, and the team focusing on logins can focus on just that one thing.
the historical reason for staggering are the metal arms on mechanical typewriters, which obviously does not make any sense nowadays, but unfortunately the design stuck, as did the qwerty layout.

non-staggered keyboards, such as the kinesis advantage, better match the shape of the hand, sometimes even with vertical "staggering" instead of horizontal.

additionally, the thumbs are the strongest fingers but are only supposed to hit the (huge) space bar. this is the problem that alternative physical layouts like the ergodox and the kinesis advantage try to address.

also, split keyboards allow you to use wrist and arm angles that match your body instead of the keyboard.

different letter layouts like colemak (good, especially modern computers) and dvorak (also good, but designed in the pre-computer era) significantly reduce finger travel and improve on finger and hand alteration. for me personally, colemak works great to prevent strain.
Actually the business mostly runs itself and I usually spend only about 2 hours a week on it. The business has a healthy profit margin so I can afford to over hire and build in redundancies so that even if one person is out sick for a few days, the other person picks up the slack without me having to do anything. Unlike many other companies who overwork their employees, I try to make sure that every employee can easily finish everything by 5pm. Otherwise things build up, problems arise, things don't get done, and I'd have to step in, which I don't want to do.
It also has problems with using certificates when reporting etcd health:

https://github.com/kubernetes/kubernetes/issues/27343

I was writing a blog about installing it on bare metal, but this issue got me blocked.
Actually, defaulting from $VISUAL to vi and from $EDITOR to ex (or ed) is what -- strictly speaking -- makes sense.

Remember what the difference between $VISUAL and $EDITOR was intended to be. There's a whole range of places in Unix where there was, and even still is, a distinction between a line editor and a full screen editor. Consider, for just one example, the ~v and ~e commands in BSD Mail.

Now enjoy the discussion at https://news.ycombinator.com/item?id=13113556 .
I agree the consumer models tend to be underpowered. My first Mikrotik was the RB951-2n, which maxed out at 15 dBm (32 mW) and dropped to 9 dBm (8 mW) at max speed (150 Mbps). The hAP ac lite you own is thankfully around ~6 dBm more powerful, but that's still a little weak for thick walls.

I've since upgraded to the hAP ac, which ranges from 29 dBm (800 mW) down to 25 dBm (320 mW). That extra ~15 dBm does make a huge difference penetrating walls. (The RB951*-2HnD models are similarly high-powered if you only care about 2.4 GHz.)

A couple tricks I've used to increase link reliability through walls are to disable short guard interval (to protect better against reflections), and to disable higher bitrates (to avoid excessive failed retries). Those have made my WDS link through 4 walls pretty stable.
I am curious as to why you think "No nuclear war will directly kill all people" and then after that climate change would be a problem.

I agree a limited exchange might leave people in hardened bunkers alive. But a full exchange, we have sop many weapons[1] it seems entirely that only the luckiest in hardened bunkers would survive and largely they would emerge in a polluted radioactive wasteland.

There are only about 3,000 cities[2] with more than 10,000 people, and only about 19,000 cities in total. We very nearly have a warhead per city, but a city does not need a warhead to hit it to die, irradiating the farmland will kill off everyone just fine. They will have trouble growing food because of pollution levels, radioactivity.

I guess you could call a spontaneous transformation in a barren wastes "climate change" but I think that would be underselling the problem. I also think doing that does a disservice to the modern political about climate change.

[1] http://www.icanw.org/the-facts/nuclear-arsenals/
[2] https://www.quora.com/How-many-towns-counties-and-cities-are...
Why can't you split up your code into libraries? API doesn't have to mean "HTTP API", you're free to pick a different IPC layer.
That's a good point. I might try disabling FB background updates first, as the less nuclear option! :)
There are some good points in that article, but the narrative doesn't include the Chinese view of this. China doesn't necessarily have to lure non-Chinese. They can do well welcoming back the Chinese who came to America to earn a Ph.D., only to find they don't get the respect or the better life they expected.

I'm not sure why the Bloomberg article started from quoting a Chinese person about immigration and then shift into talking as if China is going to recruit non-Chinese. Maybe it was taken out of context, maybe it doesn't fit the narrative the author wants to convey.

My family came from Taiwan, and my father and my mother earned their Ph.Ds in the 90s. My father was one of the top scorers on the Taiwanese National Exams. Yet here in America, the only people who respect that are other Taiwanese (and other Chinese if both groups remembered this used to all be one culture). My grandparents are proud of my father; they were farmers. Growing up, there was always an anxiety about having to leave the US because the student visa is up. You can't work in the US with a student visa. Things only got better when US-based company owned by Taiwanese offered to hire him and pay for getting him a permanent residency. That gave him the negotiating leverage to get help with that in his postdoc position. Even so, he stayed as a post-doc for a long time (which, I get that right now, that's the way it is for a lot of academics, immigrants or otherwise), before becoming a professor for a short time. He was never on the tenure track.

People came here because they didn't want to be back in their birth country. I can tell you, if he had been offered a position in Taiwan with a research budget, that would have very tempting.

So when the Bloomberg author was quoting the Chinese guy about being able to recruit more people, having this background, I know the Chinese guy is likely talking about being able to recruit Chinese ex-pats who earned advanced degrees in American universities, and not feeling welcomed here.
QWERTY Myth. QWERTY was not in fact designed to protect the keys from jamming. In 1956 it was shown that QWERTY was as fast if not faster then Dvorak.

> The myth goes roughly as follows. The QWERTY design (patented by Christopher Sholes in 1868 and sold to Remington in 1873) aimed to solve a mechanical problem of early typewriters. When certain combinations of keys were struck quickly, the type bars often jammed. To avoid this, the QWERTY layout put the keys most likely to be hit in rapid succession on opposite sides. This made the keyboard slow, the story goes, but that was the idea.

http://www.economist.com/node/196071

The Myth goes well with the Army report on the slowness of QWERTY.

> But then it turns out—something else the report forgot to mention—that the experiments were conducted by one Lieutenant-Commander August Dvorak, the navy's top time-and-motion man, and owner of the Dvorak layout patent.
I believe the article contains a factual error about the qwerty keyboard not existing until Remington had bought the patent.

The earliest commercial Sholes and Glidden Type-Writer (one that you could actually buy) had a qwerty keyboard [1].

It has been said that Sholes used this arrangement because one can type the word "typewriter" without leaving the top row; I.e. for salesman demonstration purposes.

[1] https://en.m.wikipedia.org/wiki/Sholes_and_Glidden_typewrite...

Edit: erm, the Wikipedia article also states that the typewriter "as presented to Remington" did have "." where "R" is in qwerty. I do believe that Sholes and Glidden were already selling typewriters with this change, however.
As someone that's periodically been interested in switching, I think you've given me the motivation to just stick with qwerty.

Not being able to type fast enough is never the bottleneck when I write code, and I think I'd like to still be able to use other people's keyboards without having to concentrate.
> Otherwise, I'll assume there are major flaws that nobody has found, just because nobody has cared enough

Unfortunately, this is the state of 99% of all software, everywhere, it would appear. And I'm dubious about that extra 1%.

[Edit] and lets not forget, you can care a lot and still have this be the case
perhaps you should give a split keyboard a try.
Why I Studied Full-Time for 8 Months for a Google Interview