Show HN: Nginx Image with HTTP/3 (QUIC), TLS1.3 with 0-RTT, Brotli - <AUTHOR> https://github.com/RanadeepPolavarapu/docker-nginx-http3 <comment><USER2> I'm just curious, is there a reason not to use a multi-stage docker build here? There are a ton of build steps, and it seems pretty tedious to have to start from scratch every time while developing the image without any layer caching.

<comment><AUTHOR> Hi, my main task this weekend was to get it fully working. I will break down the steps over this week to utilize cache layers. I will try to get it done hopefully this week or by the weekend depending on work. Thanks a lot for your feedback.

<comment><USER3> Might I suggest you use Skaffold for this task, which can work with regular Docker as well.

</comment></comment></comment><comment><USER4> You may find my NGINX image[1] interesting.

There's some features you could easily add to yours in order to make it a better overall image.

[1] [https://github.com/ricardbejarano/nginx](https://github.com/ricardbejarano/nginx)

<comment><USER5> The ARG approach to everything is really good IMO, it let you customize the final image without having to change the Dockerfile. For example, in the OP Dockerfile, the GPG key at very least should go in an ARG.

</comment></comment><comment><USER6> I would suggest highlighting the experimental nature of the repo, especially if someone reaches it without going through HN. I've read the catchy "All built on the bleeding edge. Built on the edge, for the edge." but IMO it doesn't really sound like a warning that this may not be suitable for serious production use.

</comment><comment><USER7> I did exactly this 3 days ago, forked from fholzer/docker-nginx-brotli our work looks very much the same

See [https://github.com/githubcdr/docker-nginx- brotli](https://github.com/githubcdr/docker-nginx-brotli)

</comment><comment><USER8> I've played around with the nginx cloudflare patches and quiche, and it all seems to work just fine in my lab setup.

I don't like having to apply third party patches to any mission critical software such as nginx. So I'll wait until nginx releases official support for linking the quiche library, like they did with brotli.

</comment><comment><USER9> I think 0-RTT is just bad idea security wise.

<comment><USER10> Good news, any participants under your control can (and so should) refuse to do 0RTT. Clients can choose never to send early data and servers can choose to always reject it, everything still works.

At the API layer reject any libraries or tools that try to foist this on you, many today either don't do 0RTT or correctly offer it as a separate API call for those willing to pay a price in terms of Replay resistance.

<comment><USER9> That's even more concerning that there are libraries that hide such a thing. There is gonna be instances that bites someone hard where said replay is not idempotent.

</comment></comment></comment><comment><USER11> How about 0-RTT replay attack protection?

<comment><USER12> Well, "ssl_early_data" is opt-in. If you enable it on a virtualhost, then you also need to look at the "Early-Data" request header in your backend and make a decision there. e.g. process GET requests, otherwise send HTTP 425 Too Early.

It does seem a bit unsafe. An administrator might opt-in because they copy- pasted it from a tutorial, and not understand or pay attention to the second part.

<comment><USER11> I think it will be better to fully disable early data for people without full control of DC's network equipment. I don't know why Cloudflare made a decision about using headers and Too Early response. They have full control of their POPs. It will be better to measure RTT and use UDP based KV storage with tickets only for clients with high RTT. So for clients with RTT higher then access to KV storage it will be better to issue tickets, for other clients it will be better to drop early data and use full handshake. Currently, I'm working on a project with the same idea.

<comment><USER10> > It will be better to measure RTT

To measure RTT you need to perform a round trip. Hence the name. But the _whole point_ of this feature is to avoid incurring the cost of an extra round trip if possible.

<comment><USER11> There is no need to send extra data to measure RTT. On the TCP handshake SYN/ACK you already know RTT. Linux kernel provides this info in tcp_info data structure.

</comment></comment></comment></comment></comment><comment><USER13> This is great, and I'll be using it for development! However, I've been looking for something a bit more predictable, and yet still modern, for production use. I do not know why Brotli support isn't included in every nginx image at this point.

</comment><comment><USER14> From WP I get the impression that the work-in-progress now called HTTP/3 was not necessarily designed supposed to supplant HTTP/2:

> On 28 October 2018 in a mailing list discussion, Mark Nottingham, Chair of > the IETF HTTP and QUIC Working Groups, made the official request to rename > HTTP-over-QUIC as HTTP/3 to "clearly identify it as another binding of HTTP > semantics to the wire protocol ... so people understand its separation from > QUIC"

Any opinions on how things are likely to play out?

<comment><USER15> I believe this is the separation of the transport layer protocol (QUIC) from the application layer protocol (HTTP/3). QUIC can be seen as a replacement for TCP. HTTP over QUIC then becomes HTTP/3 - with improvements in latency and head-of-line blocking over HTTP/2\. So in that sense it will supplant HTTP/2 as QUIC gets adopted more widely.

</comment></comment><comment><USER16> Are there any benchmarcks of http3? I would like to see how it compare vs http2 h2 + tcp fast open

</comment><comment> w-ll OT: musl is pronounced like 'muscle' or do you spell it out 'm-u-s-l'

<comment><USER17> >It's pronounced the same as the English words "mussel" or "muscle". musl is small like one but powerful like the other.

[https://www.musl-libc.org/faq.html](https://www.musl-libc.org/faq.html)

The logo is a mussel :)

</comment></comment><comment><USER18> For non technical users why ia this interesting?

<comment><USER19> It's not. But if you work on libraries that transfer http data around, this could be used to help test http/3 support.

</comment></comment><comment><USER20> Looks I don't need Cloudflare anymore XD.

<comment><USER21> Yes, it's "almost" comical. The advantage of having a CDN with a pop in every city, vs. just having 3 or 4 well placed POP's around the world will be marginal once HTTP3 is broadly supported.

<comment><USER22> I honestly can't tell if this is a serious take or sarcasm. I hope the latter...

</comment></comment></comment><comment><USER23> I haven't been following the TLS1.3 development. What is the current state of SNI encryption? Is it possible to encrypt the name of the host you're trying to connect to?

<comment><USER22> That's eSNI and I believe it's part of 1.3: [https://tools.ietf.org/html/draft-ietf-tls- esni-04](https://tools.ietf.org/html/draft-ietf-tls-esni-04)

Not sure what's the implementation status though.

<comment><USER10> No, it isn't part of TLS 1.3

At the point where the last drafts of TLS 1.3 were shaping up, Eric (Rescorla)'s initial ideas for how to achieve eSNI had failed and the extant draft was only a problem statement. It basically said: Here is what eSNI needs to achieve in our opinion, we don't know how to do that

Between that point and when TLS 1.3 was published, several people brainstormed a proof of concept for how to actually make it work, which so far led to the draft you've linked.

The eSNI draft is defined as an extension to TLS 1.3 but - since the whole point is to deny snoopers information about who we're talking to - if we have to "fall back" to not doing eSNI because the server isn't compatible then we lost.

Cloudflare and Firefox devs cooperate to implement drafts of eSNI, so if you have a recent Firefox and a site which has opted into Cloudflare's trial of this feature, then it works for you, but the drafts definitely will change further and you should not go building anything based on this draft that you aren't able to support updating to future drafts or abandon altogether weeks or months from now.

<comment><USER24> > Cloudflare and Firefox devs cooperate to implement drafts of eSNI, so if you > have a recent Firefox and a site which has opted into Cloudflare's trial of > this feature, then it works for you, ...

Well, at least not yet with the latest release version of Firefox (v69). Tested with Cloudflare's own page for testing eSNI browser support (and TLS 1.3, DNSSEC & DoH). Firefox supports the other three but not eSNI, according to that page. Even the Dev channel (v71) has no support.

[https://www.cloudflare.com/ssl/encrypted- sni/](https://www.cloudflare.com/ssl/encrypted-sni/)

<comment><USER25> It's not enabled by default, and not exposed under browser preferences. It's available in about:config under network.security.esni.enabled.</comment></comment></comment></comment></comment>


Ethereum classic may have just suffered a 51% attack - <AUTHOR> https://www.cnbc.com/2019/01/08/coinbase-says-ethereum-classic-movements-halted-on-possible-attack.html <comment><USER2> [https://news.ycombinator.com/item?id=18849961](https://news.ycombinator.com/item?id=18849961)</comment>


Scientists extract images directly from brain (2008) - <AUTHOR> http://www.pinktentacle.com/2008/12/scientists-extract-images-directly-from-brain/

<comment> a-priori What they're doing is a high-resolution fMRI scan of V1 (primary visual cortex), a region of the brain that shows a "retinotopic map" of the visual field. It's been known for a while that it's possible to reconstruct an image from V1 activation. What this research shows is that fMRI imaging is now detailed enough to do this non-invasively.

Also, something cool about this research, and also a bit scary, is that it's also known that this region is activated by visual recall (a quick search revealed this: [http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=48...](http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=48072)). I'm not sure if anyone has ever tried to reproduce an image from V1 activation during visual recall, so I don't know if it would be a coherent image. My guess is it would though, in which case an fMRI scan could detect an image of an "N" if you asked the person to picture the letter.

Pretty cool.

<comment><USER2> I really think if a coherent image had been made from visual recall, that news would travel fast.

</comment></comment><comment><USER3> My big question would be whether the patterns that they're detecting in the brain are similar for different people? For example, if I imagine an apple, do my "brain patterns" resemble someone else's when they also think of an apple? If not, seems like training this device would be a pain in the ass, because you'd have to do it for each person. But if so...imagine a huge resource of patterns for different thoughts, feelings, mental pictures, etc. Hopefully this comment makes sense...

<comment><USER4> In general the patterns are the same and the brain areas involved are the same but there is definitely individual variability, too. There is probably much less individual variability in visual cortex than, say, language representation areas (consider English speakers vs Spanish speakers) but there is likely enough that they have to retrain their algorithms for each individual to achieve optimum discrimination.

<comment><USER5> There is indeed enough variation. I unfortunately can't find the link, but they went further and had people imagine something like the letter 'n,' and of the whopping eight people they tested, one came out completely garbled, even after training.

Also, I suspect that variation increases with abstractness, so it will almost certainly be impossible to extract high level thought without extensive cooperation.

For example, the brain state that the word 'conciousness' invokes in me is going to be entirely different from you because I have different associations, examples, knowledge, and general representation.

Now try to extract an entire sentence without training first. Have fun!

</comment></comment></comment><comment><USER6> On one hand, this is great. It will lead to new technology which will inevitably lead to better video games.

On the other hand, this provides the opportunity for total loss of privacy. Forget freedom of speech, people might start to attack the freedom to think certain thoughts. In other news, China and Iran are thrilled at this new science.

<comment><USER7> The first thing I thought when I saw this was:

"Oh shit- now nothing is private."

Don't get me wrong- it's amazing stuff, and I'm all for the advancements it can bring. But the mind really is the last bastion of privacy in our increasingly policed world.

Think about it:

1) When you make a call, it can be logged and recorded.

2) When you walk into a bank (or a million other locations), your actions are on camera.

3) When you visit a site, your IP address, as well as other information, is logged.

Almost everything is monitored.

Granted the advancement of technology has brought FAR more benefits than costs, but sometimes I wonder what it would be like to live in the 1800s, when you could do something and not have to worry about your actions being "logged" to some eternal database.

Of course, it's fairly easy to control actions. Don't send really personal stuff via email, don't scratch your crotch in front of a security camera. But when it comes to thoughts, it's a different story. Try not thinking about something, and you'll find you can't do it.

I'm sure every single person in this world has had thoughts he/she would not want to reveal.

But I'm getting ahead of myself. It will probably be a while before we have to seriously worry about the implications of this technology.

<comment><USER8> _Try not thinking about something, and you'll find you can't do it._

People say this, but I find it's not true. Just think of something _else_. Works most of the time.

<comment><USER9> It works until they can read the subconscious and can detect the thought you're trying not to think.

</comment></comment></comment></comment><comment><USER10> Not to impugn the author's trustworthiness, but this is so astounding to me that I find it somewhat incredible. Does anyone have an English-language news source for this?

The "extracted" pictures are an order of magnitude clearer than I would have thought possible.

<comment><USER11> Your skepticism is commendable, but the pictures are real. Here's the paper:

[http://www.cell.com/neuron/abstract/S0896-6273%2808%2900958-...](http://www.cell.com/neuron/abstract/S0896-6273%2808%2900958-6)

<comment><USER10> That's fantastic, and the full text is available there too. Thanks.

</comment></comment></comment><comment><USER12> Seems like it's a neural network trying to decipher the inner workings of another neural network. How amazingly cool is that ?

<comment><USER13> Recursively cool.

</comment></comment><comment><USER14> There were interesting comments about this when it was posted here before:

<http://news.ycombinator.com/item?id=394826>

</comment><comment><USER15> I think if I could see any invention in my lifetime, I'd want to see that knowledge-uploader thing from 'The Matrix'. Imagine how much you could learn! Especially before you were too old to use it...

</comment><comment> bjelkeman-again The source for this article is a 404 page. (Translated via Google) [http://translate.google.com/translate?u=http%3A%2F%2Fwww.chu...](http://translate.google.com/translate?u=http%3A%2F%2Fwww.chunichi.co.jp%2Farticle%2Fnational%2Fnews%2FCK2008121102000053.html&sl=ja&tl=en&hl=en&ie=UTF-8)

</comment><comment><USER16> Questions:

\- Will the fMRI patterns for the same image be the same for two different people?

\- When I think of images, the vision I have in my mind are not as vivid as when I see them directly. Given this, will the fMRI patterns be the same in both cases?

</comment><comment><USER17> I can see this being amazingly handy in the (far) future in terms of interface navigation and search. Just picture the icon of the program you want to launch, or the stock photo you are trying to find and boom.

<comment><USER15> That's already available, to some degree:

<http://en.wikipedia.org/wiki/Emotiv_Systems>

(There are others as well, but I understand this is one of the best commercial products as of now).

<comment><USER17> Ah, yes I am familiar with this. I've used a similar device during some biofeedback treatment. The leap with the imaging tech is that it is a 1:1 correlation. As far as I am aware the other tech still relies on mapping cues from the brain that aren't directly 1:1 For example, boosting your high beta waves moves your game character forwards, etc. With the imaging technology, you don't have to perform mental gymnastics, you just "picture" the image you are after and the like.

</comment></comment></comment><comment><USER18> This should be like front page news. This is something many would have not thought possible. It also poses many problems non-materialists that do not subscribe to a weird hand-wavy coincidentalism.

<comment><USER19> I don't see how this should pose problems to non-materialists. There's no reason the image can't be formed in the brain before or during transmission to the immaterial mind, for instance.

I'm not a dualist by any stretch but to claim this as evidence for materialism is mistaken.

<comment><USER18> No, you may not understand materialism. Sure, as I already said, if you subscribe to some weird coincidentalist view maybe not but for those not grasping at straws this removes a lot from a dualist conception and it even further shows it as an unneccessary hypothesis.

<comment><USER19> Not at all: proving that the brain forms images from sensory inputs only proves that the brain _forms images from sensory inputs_. It's a tenable dualist position that the material brain handles sense perception while the immaterial mind handles higher level consciousness and thought. In fact, the body was always classically assumed to handle most of sense perception even before this research.

I understand materialism just fine. But this doesn't prove materialism.

</comment></comment></comment></comment><comment> onreact-com Hooray! So now I can download the porn images I saw elsewhere back to my laptop directly from my brain! This way you get all the porn mags for free!</comment>


Ask PG: When is it too late to start a startup - <AUTHOR>

Just saw, Y Combinator's Graham Discusses Start-Up Industry on Bloomberg. It was great.
In the end you've said, "By the time they are ready to start the startup, Its too late."
I couldn't exactly grasp, what you've meant. Too late as in age or market?
Thanks. <comment><USER2> I think he was pointing out that if you want more minorities or women to be involved in startups, you need to get them interested in computers at an early age. If you're 25 and have very little experience with computers, it's difficult to start something even if you have a good idea.

That's my interpretation, but I could be totally wrong.

</comment><comment><USER3> Adding a link to the video for others interested: <http://www.bloomberg.com/video/83135286/></comment>


MIT shortens application essays - <AUTHOR> http://www.boston.com/news/education/higher/articles/2009/10/04/no_essay_nightmares_for_mit_applicants/

<comment><USER2> Essays were originally instituted to give admissions staffs an excuse to keep out Jews and other minorities.

[http://www.newyorker.com/archive/2005/10/10/051010crat_atlar...](http://www.newyorker.com/archive/2005/10/10/051010crat_atlarge)

"The difficult part was coming up with a way of keeping Jews out, because as a group they were academically superior to everyone else. Lowell's [Harvard prez, mid-20s] first idea - a quota limiting Jews to fifteen per cent of the student body - was roundly criticized. Lowell tried restricting the number of scholarships given to Jewish students, and made an effort to bring in students from public schools in the West, where there were fewer Jews. Neither strategy worked. Finally, Lowell-and his counterparts at Yale and Princeton-realized that if a definition of merit based on academic prowess was leading to the wrong kind of student, the solution was to change the definition of merit....

...The admissions office at Harvard became much more interested in the details of an applicant's personal life. Lowell told his admissions officers to elicit information about the "character" of candidates from "persons who know the applicants well," and so the letter of reference became mandatory. Harvard started asking applicants to provide a photograph. Candidates had to write personal essays, demonstrating their aptitude for leadership, and list their extracurricular activities. "Starting in the fall of 1922," Karabel writes, "applicants were required to answer questions on 'Race and Color,' 'Religious Preference,' 'Maiden Name of Mother,' 'Birthplace of Father,' and 'What change, if any, has been made since birth in your own name or that of your father? (Explain fully).' "

As a Princeton admission officer for 2 years, I read probably 5,000 essays. A few were memorable. Most were forgotten as soon as I finished scribbling out my summary. The point of the essay was to write something that would leave a mark on my brain so I might take an interest in your application later around the committee table during deliberations. Some kids were great at this, others not so much.

That said, I don't recall admitting a single student based on the strength of their essays. They were there to add flavor and color. If you didn't have "the credentials" you weren't going to write your way around it.

<comment><USER3> _Essays were originally instituted to give admissions staffs an excuse to keep out Jews and other minorities._

Whereas now they only use them to keep out whites and Asians?

<comment><USER2> Now, as before, they're used to inject subjectivity into a process that could just as well be based on tests and grades alone.

The problem with the purely objective approach is you'd go from having a 40% minority campus to having about 2-3%. That's a political problem.

<comment><USER4> It depends on what you mean by minority. As hughprime said, most schools restrict the number of Asians they admit. Cornell has a much higher percentage of Asian students and a much lower percentage of African American students than the other Ivies, and it's no coincidence.

</comment></comment></comment></comment><comment><USER5> My application essay was not even remotely close to the 500 word number. The MIT application had an option where you could ignore their essay questions and just choose one of your own, so I basically made my Q/A a long-form joke. That was about 12 years ago.

A friend and classmate of mine at MIT went on to work for the admissions office for a few years, during part of which time we were roommates. The two things I learned from this were that the amount of work that went into reading the applications was astonishing, and that even an incredible essay submission couldn't save you if the admissions staff were convinced that you just weren't academically strong enough to make it through the school.

This leads me to believe that the changes weren't just to "remove the larger- than-life quality" of the essay. Rather, they were probably introduced to make it easier and faster for admissions staff to get the information they need about an applicant and simultaneously (as the article implies) to probe specific parts of the applicants' backgrounds.

It seems like a very logical change to me. I've always thought that the college interview was a far better way to go than the essay---when a person is given infinite time to prepare an answer they can mask a lot of deficiencies in areas that are extremely useful, e.g., thinking on your feet, dealing with other people, et cetera.

<comment><USER2> Business idea: A service that lets you read, process, and manage applications digitally that doesn't suck.

<comment><USER6> A lot of schools use <http://www.applyyourself.com/>

</comment></comment></comment><comment><USER7> This rationalization of essays is long in coming, because in truth the mythical status they're given is because they give students (and parents, and people selling services to parents) the impression that even in late junior year something can be done to significantly increase their chances of admission into the university of their choice.

This is, largely, bunk: essays are weighted extremely modestly relative to grades, test scores, and race. For example, on the University of Michigan point system, where 100 points were needed for an admit, the difference between a 3.2 and 3.6 average was worth 8 points, the difference between a 21 and a 22 on the SAT was worth 4 points, the difference between black and white was worth 20 points, and the difference between the best essay they read every year and the worst was worth... 1 point.

<http://www.umich.edu/~mrev/archives/1999/summer/chart.htm>

University of Michigan is distinguished from more selective universities more in that they had the misfortune to standardize and actually write down their admissions criteria rather than in having vastly different mixes than, e.g., MIT.

</comment><comment><USER8> I am reminded of this oldie but goodie ...

<http://www-users.cs.york.ac.uk/susan/joke/essay.htm>

<comment><AUTHOR> Ah! Had always wondered about the origin of that. Unfortunately it would now need to be chopped in half :)

</comment></comment><comment><USER3> The more I hear about the US university admissions process, the more I'm grateful for the Australian system, where students are admitted, or not, purely on the basis of their marks from their final year at school (half by a final set of exams and half based on school marks correctly normalized by those exams).

No BS essays, no BS extracurricular activities (unless, of course, you want to do them) and no potential for racial or other bias.

<comment><USER9> I'm not familiar with the Australian school system, but I bet there is a lot more national control over curriculum and teaching standards. The convoluted admissions process is the price Americans pay for having a decentralized educational system. If universities went on the basis of marks alone, I can't imagine how many schools would spring up where every senior mysteriously graduates with a perfect 4.0.

<comment><USER3> You're right -- actually the curricula and the final exams are all done on a statewide rather than national level, but it is certainly more centralized than it is in the US.

</comment></comment></comment><comment><USER10> As an aside, these are my favorite admissions essays: [http://sepwww.stanford.edu/sep/jon/family/jos/college/index....](http://sepwww.stanford.edu/sep/jon/family/jos/college/index.html)

Jos was a friend of some of my coworkers at Tellme (ex-WebTV folks).

Also, if you faint during workouts, EVER, you should read this: [http://sepwww.stanford.edu/sep/jon/family/jos/cardiac/index....](http://sepwww.stanford.edu/sep/jon/family/jos/cardiac/index.html)

</comment><comment><USER11> I liked that MIT removed the extracurricular pressure. This I don't like so much. As a recent applicant, I hold that the two useful parts of my application were the portfolio and the essay. They're the best way to gauge somebody's genuine ability without them being able to lie much about it.

<comment><USER12> Perhaps the essay is no longer the genuine gauge of ability that it once was.

 _"The hand-wringing that went along with the long essay, which has become the icon of the college application, has spawned a cottage industry of consultants, companies that edit students' essays, and overnight camps where students can seek help."_

</comment></comment><comment><USER13> Elite universities are increasingly interested in data about students that can't easily be doctored or cooked up by consultants, for obvious reasons.

So I'm curious why they don't just ask for a one minute Posterous video, like certain other elite institutions.

</comment><comment> daniel-cussen This probably helps kids with ADD.

<comment><USER14> I don't really think so. 500 words is not a long essay, and if you have sufficient qualities to seriously consider applying to MIT, you are likely able to hyperfocus and employ it as a strategy for meeting deadlines. With ADD it's hard to get and stay engaged, but when one does find something to engage one's attention, one can churn out a higher-than-normal amount of work in 'burst mode'.

<comment> daniel-cussen I'm speaking from personal experience. I had ADD and didn't know about it when I applied to schools.</comment></comment></comment>


Intel buys Deep Learning chip maker Nervana - <AUTHOR> http://nervanasys.com/intel-nervana <comment><USER2> Having done a technical review of what Nervana has to offer... Why Intel?

My assumption, is that Intel will lease the chips + software, similar to the way HP, Dell, etc. Lease GPU machines.

</comment><comment><USER3> This is so huge. I'm a little saddened myself, Nervana had the possibility to live on its own. I understand the capital investments needed to take on the other three giants were immense, but I thought they had the backing.

Honestly though, I would still consider an internship there in a instant, were I better connected with universities. The things they do consistently blow my mind, and they are one of the few startups out there that do.

</comment><comment><USER4> Current discussion: [https://news.ycombinator.com/item?id=12257376](https://news.ycombinator.com/item?id=12257376)

</comment><comment><USER5> What regulatory approvals are required for this transaction?

<comment><USER3> They hadn't even started mass-producing chips, so, very little I presume.

</comment></comment><comment><USER6> Finally, Intel makes a move in Deep Learning.</comment>


Interpreter written in Go with support for sql, net, http, ftm, json and others - <AUTHOR> https://github.com/haifenghuang/monkey <comment><AUTHOR> It has buildin modules:

•string module

•file module

•math module

•sql(db) module(which can correctly handing null values. Need sql driver package)

•time module

•sort module

•os module

•log module

•net module

•http module

•filepath module

•flag module(for handling command line options)

•json module(for json marshaling and unmarshaling)

•fmt module

•sync module

•sort module

•array module

•hash module

It also has some features like:

•Regular expression support(partially like perls)

•channel support(like golang's channel)

•utf8 support(e.g. you could use utf8 character as variable name)

•try/catch/finally, for-in, case-in/is, c-like for loop)

•defer support

•spawn support(goroutine)

•enum support

•pipe operator support

•function with default value and variadic parameters</comment>


California Starts Sending Big Bills To Startup Investors - <AUTHOR> http://techcrunch.com/2013/01/30/california-starts-sending-big-bills-to-startup-investors-for-120-million-in-new-retroactive-taxes/

<comment><USER2> Largely the same article as this previous one: <http://news.ycombinator.com/item?id=5060690>

The top thread in the comments are somewhat of a rebuttal/debunk: <http://news.ycombinator.com/item?id=5062415></comment>


Spotted at computex: The worse fake macbook air - <AUTHOR> https://www.anandtech.com/show/14459/spotted-at-computex-the-worst-fake-macbook-air <comment><USER2> Yet it probably has a better keyboard than current MBPs....

</comment><comment><USER3> This is clickbait. Save your time: Moulding company models a dummy non-working macbook air case to showcase their technology at Computex. That's it.

<comment><USER4> The photo background looks much more like a company selling desks put a computer dummy on a desk, like many furniture places do. So even worse clickbait(?)</comment></comment>


American Media Are Getting People at Home Ready for War with North Korea - <AUTHOR> http://gizmodo.com/american-media-are-getting-people-at-home-ready-for-war-1794620783 <comment><USER2> North Korea has no nuclear program. Period end. Next issue please. Seriously. Iran's nuclear program poses a much greater threat to the United States and its interests. Trump wants North Korea because he foolishly believes he can amp up his dismal approval ratings and he believes the United States hasn't much to lose. That makes him wrong on two counts.

</comment><comment><USER3> _Iran 's nuclear program poses a much greater threat to the United States and its interests._

How is Iran's program at self-defense any threat to the USA? Is that the same way that Iraq, under Saddam, was a _clear and present danger_ to the USA?

<comment><USER2> That's actually my point. Iran's nuclear program doesn't pose a serious threat to the United States proper, though it threatens our interests in the Middle East. North Korea poses even less of a threat.</comment></comment>


My Treadwater Desk - <AUTHOR> http://doublestealth.blogspot.com/2014/07/my-treadwater-desk.html <comment><USER2> In the same vein: "More Office Workers Switching To Fetal Position Desks" [http://www.theonion.com/video/more-office-workers- switching-...](http://www.theonion.com/video/more-office-workers-switching-to- fetal-position-de,36240/)

<comment><USER3> That was hilarious! Good ol' Onion.

</comment></comment><comment><USER4> Reality Surpasses Fiction and this was close enough.

Inside the Paleo movement there is a "cold therapy" trend. Its main contributor is Ray Cronise. You can watch a TED talk [1] and visit his web site [2]. His latest contribution is a scientific paper, co-authored with David Sinclair (yes, the resveratrol guy). It is titled "Metabolic Winter Hypothesis" [3] and it is quite interesting.

In simple terms, the rationale is the same as for the food leg of the paleo movement: Food availability is hurting us badly; warm "availability" is doing the same, so we better get some time in a colder environment.

[1] [https://www.youtube.com/watch?v=UrQ_ldCwKUQ](https://www.youtube.com/watch?v=UrQ_ldCwKUQ) [2] [http://hypothermics.com/home/](http://hypothermics.com/home/) [3] [http://www.ncbi.nlm.nih.gov/pubmed/24918620](http://www.ncbi.nlm.nih.gov/pubmed/24918620)

<comment><USER5> I actually start every day with an ice cold shower and find that it helps to wake me up and put me in the right frame of mind for the day. I don't claim it's anything more than psychological, but it's been a big help for me.

<comment><USER6> I enjoy cold showers from time to time. But as someone who just moved in to a new home and forgot to schedule gas turn on in advance leaving us without hot water, a true "ice cold" shower leaves you literally breathless.

I've never felt my body react in such a way.

<comment><USER7> I can second this. I spent 2 weeks in an apartment with no hot water. The first 30 seconds or so in the shower left me struggling for air. After that, it's a lot better. Not good, but better.

</comment></comment></comment></comment><comment><USER8> Makes sense. We are 70% water like the earth's surface. So we should lead an organic lifestyle spending 70% of each day in water (17 hrs) and the rest on land sleeping in a fetal position.

You see, this is another reason why the waterfall development method failed. (No actual water used!)

<comment><USER9> "We reduced downtime by 37% by wiring our CI build status direct to the building sprinkler system above the dev team"

<comment><USER8> True waterfall mode.

</comment></comment></comment><comment><USER10> LOL, double stealth. That gets me every time. Is this blog actually written by jgc, or just inspired by his original post on here? I see he submitted this item, so presumably he wrote it.

EDIT: here's the original: [https://news.ycombinator.com/item?id=4166183](https://news.ycombinator.com/item?id=4166183)

<comment><AUTHOR> It's written by me.

I wrote if for a while and then stopped. I figured that there were plenty of things in the 'startup culture' worth lampooning so I brought him back. I can't promise to write as "Brad Bradstone" often because it requires inspiration, but I suddenly had the silly idea of a 'treadwater' desk last night and figured I'd run with it.

<comment><USER8> More please! Have you thought of going freemium?

<comment><AUTHOR> I'll write more when I have time/inspiration.

What would freemium look like?

<comment><USER8> You could start lean and then scale up. At first, do things that don't scale [1]. You could hand deliver the stories (which are handwritten) to some paid customers.

[1] [http://paulgraham.com/ds.html](http://paulgraham.com/ds.html)

</comment></comment></comment></comment></comment><comment><USER11> We have introduced our own line of these desks, branded as the Koi Desk.

Not only are you more productive because your body isn't contorted into a sitting or standing position, you get the calmness and tranquility that watching Koi fish bring to your day as they swim around your legs.

</comment><comment><USER12> Looking forward to the co-location treehouse hanging desk, because you know... we all came down from the trees (o;

Hilarious post, I wish there was more on the blog.

<comment><USER13> I assume that this treehouse will be complete with a "No gurlz allowed" sign?

<comment><USER14> I can't tell whether this is a childish joke or a scathing indictment of silicon valley "boys club" culture. (inclined to assume the latter given that it's posted on HN). :)

<comment><USER15> [http://www.gocomics.com/calvinandhobbes/2013/08/05#.U7QAoo1d...](http://www.gocomics.com/calvinandhobbes/2013/08/05#.U7QAoo1dUg4)

<comment><USER13> It's great when someone links the comic that I didn't even know I was referencing.

<comment><USER16> So, what were you referencing?

<comment><USER13> I tried to come up with the mental map of how I came up with that, but I think I was just subconsciously channeling Calvin and Hobbes. (Nothing wrong with that, I guess...)

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> I ignored the heading that points out this is parody, and while i found it bizarre, it seemed believable. I guess I've encountered enough wacky stuff that this didn't strike me as _too_ "out there."

<comment><USER18> Hah! Same - I got to the end of it and was like this has to be a joke, but honestly maybe it isn't... then scrolled back up top and saw that it was. But I definitely could have been convinced that it was serious.

</comment></comment><comment><USER19> Obligatory xkcd: [http://xkcd.com/1329/](http://xkcd.com/1329/)

</comment><comment><USER20> Not exactly as described but close :) :

[http://imgur.com/6jxS7aU](http://imgur.com/6jxS7aU)

needs a bigger monitor instead of the small display :)

Also it would be good for a "walking on the beach" simulator with Oculus Rift (filling up the water as you walk in the ocean :D )

</comment><comment><USER21> I created an artists rendition of this last year: [http://www.actsofvolition.com/archive/2013/september/swimmin...](http://www.actsofvolition.com/archive/2013/september/swimmingdesk)

</comment><comment><USER22> Don't forget to enjoy your water paleo diet while treading. Since humans evolved from the sea it's only natural for our bodies to eat a sea plants like kelp and sea weed. A strict diet of sea plants is the only natural diet.

/sarcasm

</comment><comment><USER23> I'd love to see a picture of this, or even better - a video! :-D

<comment><USER24> Here's a Treadwater Interview which might give a flavour of how those Skype sessions go:

[https://www.youtube.com/watch?v=YGDkcLT8IqM](https://www.youtube.com/watch?v=YGDkcLT8IqM)

</comment></comment><comment><USER25> > At Yellow Yellow we like to blaze our own trail and in NoSitting we're no > exception

I read this in Cave Johnson's voice.

</comment><comment><USER26> I'm actually going to switch to a Ski jumping desk.

</comment><comment><USER27> > Sure, they don't see much of me because I'm building Yellow Yellow, but I > want to be there when we can all enjoy the fruits of my labors.

Parody it may be but this is the way a lot of start up types seem to think

</comment><comment> agarcia-deniz You mean this is a parody? but I have an identical set up and my productivity some days is infinitely higher when I use it.

OK, I may only use it on Mondays, my body needs the whole week to recuperate, and I don't work on Sundays but still, can you claim infinite gains in productivity by using a different desk? thought not.

</comment><comment><USER28> > And all the evidence points to sitting being a disaster health-wise.

What's the status of this? I've seen claims that standing at a desk is worse than sitting, and vice versa, and both groups like to point to scientific consensus. At the minimum, it seems to be like there would at least be some tradeoffs.

</comment><comment><USER29> Makes me wonder what a sense deprivation tank workstation would be like. Insane productivity? Or just insanity?

</comment><comment><USER30> Coming up next on HN: Parkour desks! Work while wallrunning!

</comment><comment><USER31> Double Stealth - No one knows what we're up to and we are not to sure either.</comment>


Former NSA Chief Keith Alexander Named to Amazon Board of Directors - <AUTHOR> https://twitter.com/amazonnews/status/1303791148503191552 <comment><USER2> One of the scariest people I've seen. I was all over this site when the Snowden stuff leaked. Which was hilarious cuz the front page looked like a bug because every story was basically the same and they were -all- being up-voted.

This person finally showed me the true terror of being against someone that fully believes that they are doing the right thing. (I'm a strong advocate for privacy).

What is so scary, is when you even try to nail him to a wall about the capabilities and what they're doing:

[https://www.forbes.com/sites/andygreenberg/2012/03/20/nsa- ch...](https://www.forbes.com/sites/andygreenberg/2012/03/20/nsa-chief-denies- wireds-domestic-spying-story-fourteen-times-in-congressional- hearing/#7f1064537513)

Note how many times he says "not in the USA". What that means -> if the email gets bounced to a server in the UK, they can now read that email. And spy on that citizen.

So yes, the NSA could spy on Americans, provided they aren't in America. Or their network traffic goes outside the country.

Really scary.

<comment><USER3> The GCHQ collect cross-Atlantic traffic, and as a Five-Eyes partner they make that data available to the other members such as the NSA. So the NSA doesn't collect American's data (the British do) so what they have said is true, from a certain point of view.

</comment></comment><comment> java-man Alexa, do you work for NSA?

<comment><USER4> "Not knowingly, no."

<comment><USER5> That was James Clapper I belive you're thinking:

[https://www.youtube.com/watch?v=AGYn7ER5U_0](https://www.youtube.com/watch?v=AGYn7ER5U_0)</comment></comment></comment>


Why native apps matter - <AUTHOR> https://anarc.at/blog/2019-10-06-native-apps-matter/ <comment><USER2> Many issues with this experiment:

1\. Both VLC & Chrome are native apps. VLC defaults to SD resolution (you can check codec statistics during playback), while the YouTube web app adaptively streams the best quality your hardware and network can support.

2\. VLC & chrome likely use the same decoder source code, especially for VP9. But video playback is just one component of Chrome. It has to do so much more, like run untrusted code from the internet, and Sandbox it all. And keep the 10 extensions loaded running while your video is playing (like an adblocker that skips YouTube ads)

3\. While not the case in the instance, chrome also supports background tasks while your playback is in progress. Like downloading your favorite game while watching PewDiePie reviewing it on YouTube

4\. Not to mention all the analytics Google is likely gathering and sending on your choice of video, what parts you skipped, ....

If anything, Chrome/Browser is likely to optimize the heck out of the playback/decoding pipeline because it needs to do so much more beyond just playback that VLC does

<comment><USER3> The point of the article is that a native program that was meant to do one thing (VLC, play videos, though ok the "do one thing" is a bit stretched when it comes to a media player) needs less resources to do that thing (with thing in this case being stream a video) than a web site running inside a browser.

And the reason is basically what you wrote. However the point wasn't why it happens, but to focus on that it happens - ie. native apps matter because they are (or can be) faster.

BTW...

> While not the case in the instance, chrome also supports background tasks > while your playback is in progress. Like downloading your favorite game > while watching PewDiePie reviewing it on YouTube

...this is why we have multitasking OSes. You can download your favorite game using wget (or that GOG command-line downloader or whatever) while watching PewDiePie reviewing it via VLC.

<comment><USER4> VLC "needs less" resources, but Chrome "has more" resources.

Anyway, "number of features" has not to do with "native".

<comment><USER3> Chrome doesn't have resources, it only consumes resources. Resources here mean system resources like memory, CPU time, etc.

What sort of resources that Chrome has are you referring to?

</comment></comment></comment></comment><comment><USER5> You need to patch Chromium on Linux to get hardware accelerated video playback. In addition, you need to either have a Skylake or later CPU or tell YouTube to serve H.264 encoded video instead of VP9. This has nothing to do with web app vs. native.

<comment><USER6> > This has nothing to do with web app vs. native

Considering you don't have to do any of this on a native app (VLC) and just automatically get all the performance improvements, this has everything to do with web app vs. native

<comment><USER7> Actually it is more a consequence of Web browsers blacklisting your GPUs, even when they should be ok.

This is why WebGL hasn't really taken off for gaming.

You can have the perfect game running on 60 FPS on your system, then random dude tries to play the game, and browser decides it is blacklisted, goes back into software rendering and everything is choppy.

Meanwhile he/she doesn't have any issue playing native games and wonders why the browser game doesn't cut it.

<comment><USER8> Meh, the first thing about the browser games is the load time. It's not like downloading a native game and reliably storing it.

The second thing were the CPU/memory problems because all the code was in js.

<comment><USER9> Ok, I'm very much pro-native for intensive applications, but...

> Meh, the first thing about the browser games is the load time. It's not like > downloading a native game and reliably storing it.

What's the difference between native game on an SSD vs browser game on an SSD (web local storage)? (Ok, other than time taken compiling that js monster, unless webassembly is used.)

> The second thing were the CPU/memory problems because all the code was in > js.

First of all, you can also use webassembly. Secondly, you can program js in ways that don't cause much memory bloat. Native arrays, etc. Especially when compiled from C/C++/Rust etc.

Of course browser games have significant handicap. But I don't see any reason for them not to eventually reach at least 50% performance compared to native. Maybe even more. For a lot of applications, that's more than enough.

</comment></comment></comment></comment></comment><comment><USER10> Misleading title. Bogus experiment. Comparing VLC written in C++ with web browser written in C++. Somehow second is not native?

<comment><USER11> VLC is a media player. The web browser is an application platform.

</comment></comment><comment><USER12> Gotta love it...

      PID  COMMAND
      ---  </comment><comment>-
       2   chrome
       3   chrome
       4   chrome
      ...  ...

</comment><comment><USER13> Capitalism was suppose to deliver better products. So we got electron apps...

<comment><USER14> What is your point of reference? Since software before electron apps was result of capitalism too

<comment><USER13> I think you would be hard-pressed to argue that ALL software is the result of capitalism.

But my post is just a sign at the state of things, that's all.</comment></comment></comment>


Child's play - <AUTHOR> https://aeon.co/essays/how-the-scientific-method-came-from-watching-children-play <comment><USER2> "According to theory theorists, a child learns by constructing a theory of the world and testing it against experience. In this sense, children are little scientists – they hypothesise on the basis of observations, test their hypotheses experimentally, and then revise their views in light of the evidence they gather."

Like training neural networks: a hypothesis (initial set of parameters), an experimental test (evaluation of the loss function) and the revision of their views (gradient descent).</comment>


Why You Should Get a Job in Blockchain - <AUTHOR> http://insights.dice.com/2017/09/12/should-get-job-blockchain/ <comment><USER2> I don't understand why more of the money these ico companies have collected haven't been distributed for as tasks for contractors. The more people have your money to spend the more likely your ecosystem will grow.</comment>


Here's why Pinterest has the best sign-up process on the web - <AUTHOR> http://www.rre.com/blog/32-pinterest-has-the-best-sign-up-experience-on-the-web

<comment><USER2> I'm sorry, after having just completed the Pinterest signup process myself I can't agree. There's nothing extraordinary about their signup/login process. I was pleased to see that they didn't ask me to log back in after signing up though.

Sidenote, a waiting list (for me it was overnight) lets the website leave my brain for 24 hours, then reappear via email (likely solidifying the name in my memory at that point). But it also allows them to do email verification in a nice way, without making it feel like a chore to me.

</comment><comment><USER3> I thought it was awful. Part of the signup process apparently involves automatically making me follow boards from people I don't know, with no obvious way opt out, making it impossible for me to find the content I signed up to see (my wife's postings).

</comment><comment><USER4> The whole "exclusive" web is played out. You are not special because you have access to a website.

<comment><USER5> It totally depends on the site. For developers, engineers, and anyone familiar with the software industry, it might feel played out. But to people like my family and numerous friends who are NOT in the industry, it still feels exclusive.</comment></comment>


The best alternatives to Apple's disastrous MacBooks - <AUTHOR> https://www.cultofmac.com/664528/best-macbook-alternatives/ <comment><USER2> Is this a paid ad? Don't get me wrong, I have the late 2016 MBP with the TouchBar but " disastrous" is pretty harsh. The hardware besides the keyboard has been fine.</comment>


How They Did It: An Analysis of Emission Defeat Devices in Modern Automobiles [pdf] - <AUTHOR> http://cseweb.ucsd.edu/~klevchen/diesel-sp17.pdf <comment><USER2> Anyone even remotely interested in this has to go through Adrian Colyer's excellent review. If I am not wrong, there's even a book out there on this great emission detection workaround.

[https://blog.acolyer.org/2017/06/20/how-they-did-it-an- analy...](https://blog.acolyer.org/2017/06/20/how-they-did-it-an-analysis-of- emissions-defeat-devices-in-modern-automobiles/)</comment>


Announcing the Hacker School Maintainers Program - <AUTHOR> https://www.hackerschool.com/blog/23-announcing-the-hacker-school-maintainers-program

<comment><USER2> What a fantastic idea. The problem with bright new coders, particularly ones who come from rigorous but relatively-short learn-to-code curriculums, is that they haven't been exposed to enough best practices. It's easy to create a beautiful site that mashes two APIs in an amusing way...but creating something that can be used and modified and _relied_ upon requires a new level of skill at abstraction and (logistical) design...and what better way to drill the concepts of decoupling and orhthogonality than to practice jumping into a 10K LOC code base and identify the modules and snippets that _you_ can fix?

</comment><comment><USER3> "Hacker School would be far worse if it didn't take place in person. Friendship, comfort and trust, all of which are necessary for effective learning, are more easily built in person than online."

I'm curious if this is more a consequence of the medium (internet/phone) and its lack of tools or this specific goal (developing software). I would imagine that it is easier to build a friendship through, say, playing World of Warcraft together than pair programming. Perhaps this is because software development tends to be a more solitary activity and we're slower to accept others in it.

<comment><AUTHOR> I probably could have elaborated a bit on this point in the blog post, but I wanted to keep it short. It's a good question though, and it's worth answering.

One of the surprising things we've learned while running Hacker School is the extent to which your comfort level dictates how much you will learn. To learn effectively, you need to be able to ask questions without worrying about looking stupid, you need to be able to admit when you don't know something, and you need to be able to jump into things that are over your head and know that you'll be able to figure them out as you go. Your ability to do all of these things is related to how comfortable you are with your environment and the people in it.

When I wrote about the situations where people build friendship, comfort and trust, I wasn't thinking about pairing sessions (though it can happen there). I was thinking about all the other things you end up doing when you're in the same place with a bunch of people for an extended period of time. Comfort gets built during group lunches, on the weekends, at movies, concerts, in the park, at bars, the beach, etc. Hopefully this clears things up a bit.

EDIT: "talking" -> "thinking" in the second paragraph.

<comment><USER3> Good blog post and thanks for the response.

I just touched on the development aspect I found interesting, but I understood the underlying intent: the "other" things. I agree about group lunch being very important for developers working together as one. I've experienced both sides of the coin and there is a discernible difference in relationships/familiarity between the two. I'm curious if this group setting can ever be replicated virtually. I don't think Soylent IV & Skype will do the trick. :)

I'd love to see a postmortem blog post after the next class from both students and maintainers and what did and didn't work with the virtual program.

<comment><AUTHOR> _I 'd love to see a postmortem blog post after the next class from both students and maintainers and what did and didn't work with the virtual program._

I'd very much like to do this.</comment></comment></comment></comment>


Your protestations about "literally" are literally wrong - <AUTHOR> https://medium.com/i-m-h-o/1a82337f14a7

<comment><USER2> Oh god, this debate is getting old :-)

There are two ways to "misuse" "literally": \- You believe it means "figuratively" or "metaphorically". Like: "The hyperloop is a revolutionary technology, it is literally an iPhone". Using it in this way is plain wrong, no matter if you are descriptionist or perscriptionist. "It doesn't mean what you think it means." \- You use it as hyperbole. "I had such a hangover, my head literally exploded". Well, it certainly didn't explode for real, it's clear you're exaggerating. Everyone knows it's a metaphor, you just want to reinforce it. a la "Really guys, it was almost as bad as if it really did explode". This is not wrong, but people often don't get it (when they're smart enough to know the difference, but don't pick up the hyperbole) (- Or you could use it ironically and mix it up on purpose. However, people probably won't get that either.)

</comment><comment><USER3> Word definitions are determined by usage, sure.

Guess what, though? Usage is defined by _what people think is correct_ , including how they argue about that usage and what it "should" be.

If you embrace descriptivism, you don't get to reject prescriptive arguments as "wrong" on the basis that _ZOMG, there are no rules_. It's like saying a policy arguments is "wrong" because a poll reveals that people exist who don't agree with that argument - you're not even talking in the right context.

Or, put another way, if enough people continue to spell "past" as "passed" ("I went passed the sign..."), then eventually one of the definitions of "passed" will include "alternate spelling of 'past'". But someone _isn 't wrong_ to say, "That should be 'past', not 'passed'.", even if some people are spelling it wrong.

</comment><comment><USER4> I wish people would stop using the word "wrong" in this context. Words may have more than one meaning, and if people choose to use words that way, the meanings are not wrong even when they contradict each other.

Example -- Joe says about Larry, "He's really a baaad dude." The appropriate response is to determine the context of the remark, not assume the word is being misused.

<comment><USER5> You're making the same argument as the post, it's worth reading. He is saying that telling people they can't use "literally" as an exaggeration is wrong because words mean what you want them to.

He is also explaining that the dictionaries that have updated "literally" to show this usage are not dictating anything, they merely reflect the way the word is being commonly used.

<comment><USER4> > You're making the same argument as the post, it's worth reading.

Yes, I know, I read it. My objection was only to the article's misleading title.

</comment></comment></comment><comment><USER6> Makes me think about "Archer", they make a pretty good use of using it wrong.

</comment><comment><USER7> This is stunningly similar to the kind of scathing comebacks littering my 7th grade diary. Thankfully, when I was 11 we didn't publish our snarky takedowns online. This poor author will doubtless feel terrible when she grows up and looks back on the drivel that was published under her name.</comment>


V3VEE – Open-Source Virtual Machine Monitor Framework for Modern Architectures - <AUTHOR> http://v3vee.org/ <comment><USER2> Could someone explain what this actually is? (and yes I did read several of the web pages). Is it some sort of Xen-like hypervisor for partitioning machines?

</comment><comment><USER3> V3Vee is an umbrella project that covers a number of systems level research activities over the past decade. It started out focusing on how to design a VMM architecture that specifically targeted HPC and supercomputing environments (Palacios). Since then it has branched out into broader HPC OS and other systems research topics.

<comment><USER4> What is a VMM in this context? The documentation mostly left me more confused than enlightened.

What kinds of problems are solved by this software?

<comment><USER3> Functionally it would be very similar to KVM/Xen. The goal was to be able to run full virtualized OS environments on large scale HPC systems to allow users to deploy non-standard OS images. This was before containerization with Shifter and Singularity came along. Existing solutions at the time (KVM, Xen, etc...) were all designed around commodity datacenter/cloud environments which had different design goals, mainly high levels of consolidation. The decisions made as a result were not optimal in an HPC environment, since consolidation on those systems wasn't really in the picture at the time. The Palacios project looked at how to minimize overheads in the VMM architecture while still delivering the features that would be useful in the HPC context.

<comment><USER5> Are there examples of HPC-related VMM improvements that could be upstreamed to KVM/Xen or CPU silicon/microcode?

<comment><USER3> I'm not sure there is much that can be directly upstreamed, since the main outcomes were more high level design ideas than localized improvements.

One of the take-aways from the project was that for a subset of workloads and environments it would be very nice if the underlying system supported large coarse grained resource allocations that could be managed independently. This isn't a new observation by any means, but its benefits are clear in a virtualized environment.

For instance with memory, one of the advantages Palacios had was that it preallocated a VM's memory at initialization using a set of large contiguous physical memory regions. This allowed it to represent the majority of the underlying memory map in a static and compact form that could be queried in constant time without locking. Nested page tables were managed independently and lock free on each core using local memory which, among other things, avoided NUMA crossings during page table walks.

Large physically contiguous memory allocations in Linux have never been well supported, and Palacios relied on memory hotplug to achieve it. This is certainly not a great way to do it, but there really wasn't another way to dynamically allocate large contiguous memory regions (hundreds of megabytes) at runtime.

Carrying that through to the hardware side, it would be nice to have an alternative to nested page tables that resembled something more like segmentation.</comment></comment></comment></comment></comment>


US planted questions against Julian Assange interview? [pdf] - <AUTHOR> https://foia.state.gov/searchapp/DOCUMENTS/HRCEmail_SeptemberWeb/O-2015-08630-146/DOC_0C05777985/C05777985.pdf <comment><AUTHOR> Saw this link at [http://www.rt.com/usa/317294-assange-clinton-mail- cbs/](http://www.rt.com/usa/317294-assange-clinton-mail-cbs/) . Not sure if the email is legit.</comment>


Rails Performance – What You Need To Know - <AUTHOR> http://www.airpair.com/ruby-on-rails/performance

<comment><USER2> I keep hearing that Rails can be scaled, but how does that explain the fact that Twitter had to switch off of Rails in order to scale?

<comment><USER3> Twitter has a many-faceted, hugely complex architecture that to my knowledge still includes Rails.

<comment><USER4> Not to mention that by the time that twitter needed to scale rails the framework itself was very different and a little less powerfull. That goes to ruby as well.

</comment></comment></comment><comment><USER5> It seems like rails in 2.1 has improvements in garbage collection, definitely need to learn more to high scale rails.

<comment><USER6> Ruby 2.1 has a very important property: GC scales linearly with the amount of memory allocated.

Before 2.1 GC performance increased polynomially. So, for example, processing 10k rows from the table could take 10 seconds, and 100k would never finish.

With 2.1 everything I do actually finishes :)

<comment><USER3> Ruby 2.1 is a huge step forward. Surprised that more people aren't talking about it.

</comment></comment></comment><comment><USER4> I like the post. Is always great to learn new or different ways to solve the same challenge. Great tutorial.</comment>


Stenotype - <AUTHOR> https://en.wikipedia.org/wiki/Stenotype <comment><USER2> Stenotype's current role as eccentric curio is largely due to its unattractive onboarding time costs. Even though stenotype is objectively the speediest keyed input system afaik for English, there's a steep learning curve, the initial stages of which will find you unable to type much of anything at all for the first few months of use, vs almost instant, if plodding, output on standard QWERTY.

If you had initially learned Stenotype rather than touchtyping when young, it's likely that your WPM would be 160WPM minimum, a tad shy of a 'court- ready' stenographer. I'd guess most programmers can probably average 110WPM steady-state. Online typing tests using short paragraphs tend to overestimate your real 9-5 typing speed by nearly 30% because you push yourself into "bursts" for the 2-3 sentence test.

Barring 99% accurate NLP dictation, how much text do you think your lifetime output will be? Or even if dictation is viable, how hoarse can you stand to be from vocal overuse? Viewed this way, stenotype's typical gain of over 50% output to typing speeds is likely worth the initial time investment when leveraged across the lifetime of anyone whose primary instrument of work is a computer. But oof, the buffering period is shite.

And as a more qualitative assessment: I have heard there is a very special joy as your stenotype speeds crest 200WPM, because you begin to be able to "think onto the page" (there's probably a German word for this idea). You merely think, your hands move, and your thoughts appear onscreen.

A friend who is more laconic than I put it: "Pen and paper; dial-up. Touchtyping; cable modem. Stenotype; fiber."

(Disclaimer: I am in the midst of learning stenotype personally, and can confirm that it is kludgy and irritating but quickly yields impressive speeds. Mainly type Dvorak, burst speeds up to 165WPM, multi-hour steady-state of 125WPM. All generalized numbers above are very gooey, in the sense that they are educated spitball estimates, heavy on the spit)

<comment><USER3> > I'd guess most programmers can probably average 110WPM steady-state.

On QWERTY? I don't think I've ever met anyone who could reliably top 90 in a timed transcription test, and tbh programmers are seldom at the top of that. We spend way more time thinking than typing and when data entry speed is an issue we build faster tools. Maybe I've just not worked with any super-gurus though.

<comment><USER2> All my evidence is anecdotal (though confirmed with quantitative testing) but my sense of the "average user" is college friends of mine who do not program, and a broad selection of people seem to be able to hit 80-90WPM on the short tests.

It used to be a that a "professional typist" was requested to hit 75WPM, and search engines still return that datum despite being a laughable number in the field now.

I do not think any of my programming friends/colleagues type slower than 100WPM, and many can burst between 130-150WPM. Though based on your appellation of "super-gurus," there are definitely a few who fit that category, so selection bias could well be tugging my perceived average northwards.

<comment><USER4> I'm one of the 130-150WPM qwerty burst programmer typists, but a quick round of Typeracer at work showed that none of my programmer coworkers at the time were near to hitting 100WPM, so I expect you're overestimating the average speed.

Also, Typeracer itself claims my 133WPM average is around the 99.99th percentile speed for registered Typeracer users. That's surprisingly high too.

</comment></comment></comment></comment><comment><USER5> Here's a demo of programming Python with Plover (mentioned in thread) [https://www.youtube.com/watch?v=jRFKZGWrmrM](https://www.youtube.com/watch?v=jRFKZGWrmrM)

</comment><comment><USER6> A lot of steno's vaunted speed comes from very heavy use of macros.

The same could be done on a standard QWERTY keyboard, in any half-decent editor that supports macros.

If you can hit one single key in your editor and have it spew out 10 words of a commonly used phrase or sentence in a second, and what you're transcribing consists of a lot of such common words or phrases (like depositions in court), now you're magically typing roughly 600 words per minute.

Memorizing all the key combinations that trigger macros is one major reason why learning steno takes so long.

<comment><USER7> > A lot of steno's vaunted speed comes from very heavy use of macros.

It's more than that: classic steno's not at all about saving operator time and labour or generating a final text quickly, and in fact it sacrificed both of those goods in pursuit of its actual goal of being able to transcribe speech in real time. The operator bashes out a crabbed and idiosyncratic shorthand in real time, then he or she traditionally had to rework that into a fair copy later. Computerisation has apparently made steno with automatic, real-time reworking a reality, but if you want a system for people who do their own text input and want final results immediately (especially for text-based interaction like a command line) steno is still not the obvious place to start from. Velotype/Veyboard [https://www.velotype.com/en/](https://www.velotype.com/en/) / [http://www.veyboard.nl/en_main.html](http://www.veyboard.nl/en_main.html) [https://en.wikipedia.org/wiki/Velotype](https://en.wikipedia.org/wiki/Velotype) seems like a better starting point: another fast two-handed chording system, but probably more "honest" and more suitable for interactive input.

</comment></comment><comment><USER8> The article focuses on stenotype usage in the US. Can anyone here chime in on how the problem of quickly transcribing spoken words is handled in other countries and other languages? Or is the arrangement of keys on a steno machine not necessarily biased toward a particular language?

<comment><USER9> German stenotype works quite similarly from what I know, although with a different keyboard layout. For a long time Stenografie (shorthand writing with a pen) was important (not sure how important it was in the US), and is still used e.g. for creating parliamentary records, where other countries have switched to stenotype.

</comment></comment><comment><USER10> > there's a steep learning curve, the initial stages of which will find you > unable to type much of anything at all for the first few months of use, vs > almost instant, if plodding, output on standard QWERTY.

That's because most of us have spent a lifetime onboarding QWERTY.

</comment><comment><USER11> Yet another profession that will be more or less extinct in about a decade or two.

Nevertheless an intriguing method to have humans trained in what essentially is a mechanic task. Reminds me of Dune.

<comment><USER2> It's already an husked iteration of what the field was ten years ago. And within the last 2-3yrs, the business of transcription has headed towards SaaS- like providers with fairly dismal compensation structures.

re: "extinct in a decade or two," time horizons look more like 5-7 years maximum, though that has more to do with structural labor changes and machine- assisted processing; can't even consider an NLP breakthrough in the equation.

</comment></comment><comment><USER12> Do the WPM figures at to top account for accurate transcription, or the shorthand that stenographers use?

<comment><USER2> In modern practice, the shorthand is more or less instantly compiled. Using a desktop application like Plover, you will only ever see the actual word you meant to type.

But yes, the old analog ticker-tape output would have been the shorthand.</comment></comment>


Ask HN: good hosts for static files? - <AUTHOR>

I am looking for a host/place to host my static files, do anyone know of any low cost, high BW host/site that is good for this purpose? Or what are you using now and you find it good? is S3 good for this purpose? <comment><USER2> What's your usage model? Lots of files, long tail? Very few files but very popular? Are the files really large (videos) or medium (images) or small (text)? How much are you willing to spend? Do you care about latency or just throughput? Etc.</comment>


Nebulo: Python Library and CLI for Reflecting GraphQL APIs from PostgreSQL - <AUTHOR> https://olirice.github.io/nebulo <comment><AUTHOR> Author here!

Nebulo is very much a work-in-progress, but its reached proof-of-concept viability so I'd love to hear what the community thinks!

At the moment, the motivation for the CLI is mostly to give quick feedback to people who want to try out the project. I'm curious if anyone has a use-case the CLI running a production ready web server?

In the short-term I expect to focus query safety and the last remaining elements of the relay connection spec (reverse pagination) that aren't implemented yet. [https://relay.dev/graphql/connections.htm](https://relay.dev/graphql/connections.htm)

Please feel free to raise any killer feature ideas in the comments

Contributors wanted!

Shutout to a few related projects written in other languages that inspired development of Nebulo (via envy):

JS: [https://www.graphile.org/](https://www.graphile.org/) Haskell: [https://hasura.io/](https://hasura.io/) Clojure: [https://github.com/graphqlize/graphqlize](https://github.com/graphqlize/graphqlize) lmk if I missed one

</comment><comment><AUTHOR> If someone could send me an invite to lobste.rs so I can post there too I'd appreciate it! My email address can be found here [https://github.com/olirice/nebulo/blob/ee16a6acbf91652ae84ea...](https://github.com/olirice/nebulo/blob/ee16a6acbf91652ae84eabdf66a6567fb7e0fce0/setup.py#L8)</comment>


Should I get a technical or a business co-founder? - <AUTHOR>

I'm a CS major and I'm looking to start a company. Should I look for another techie to help with the programming, or should I find someone to take care of the business side of things? Should I look for both and have 2 co-founders? <comment><USER2> What are _your_ strengths and weaknesses?

</comment><comment><USER3> find a rich dude/dudette ;o)</comment>