skysight-inc/HackerNews huggingface dataset:
Let's take it piece by piece

"
* Diamond-shaped control-flow is known to be the worst-case
scenario for most optimizations and for register alloction.
Nested diamond-shaped control-flow is even worse.
"

Without more info, i can't possibly agree or disagree with this.

Diamonds are definitely not the worst case for register allocations?

"
* The compiler doesn't have enough hints to see what the fast
paths and what the slow paths are. Even if you'd be able to tell
it, it still sees this as a single giant control-flow graph."

With profiling info, dynamic or static, this is wrong.

"
Anything in this loop could potentially influence anything else,
so almost nothing can be hoisted or eliminated. The slow paths
kill the opportunities for the fast paths and the complex
instructions kill the opportunities for the simpler instructions."

This is not accurate, First it assumes no optimizations or alias analysis is path sensitive, which is false.

Second, even in those cases where it is true, a smart compiler will simply insert runtime aliasing tests for what it can't prove. They do this already.
A JIT (again, another type of compiler, just not static) would not even need this.

Let's skip his hand coding and get to what he says the advantages are:

"* Keep a fixed register assignment for all instructions.

* Keep everything in registers for the fast paths. Spill/reload
only in the slow paths.

* Move the slow paths elsewhere, to help with I-Cache density."

All of these things are done by optimizing compilers, already, given profiling info.

If his statement about what he thinks the advantages are is accurate , and what we do, i'm 100% positive that GCC + FDO either already does, or could be tuned without a ton of work, to beat Mike Pall for this kind of loop.
Client: "Send us some screen shots of the new features."

You: "Err..."
Delivering constructive criticism in a polite and non-abrasive way is more efficient. If abruptly telling someone their wrong causes them to take offense to the help you're trying to provide, they'll likely disregard what you've just told them out of pride or spite and you'll reduce their willingness to work with you on future problems.

By being polite you're ensuring that the message you're sending gets incorporated into their strategy for tackling that problem and making them feel comfortable discussing other issues with you.

As programmers, we have to learn that 'programming' people is very different from programming computers.
That's easily the most beautiful thing I've ever heard, just barely edging out the paulstretch'd U Smile.
I'm surprised about all of the backlash on here against the article. Look at the ImageNet competition - when it first started out the algorithms being used were very different hand-designed algorithms, then all of a sudden backprop dominated.

If you're interested in this area, my company is designing hardware accelerators for these algorithms. Our versions of the algorithms have a few extra twists to them to account for the analog nature of the hardware. I'm probably a bit biased, but I think this is a really interesting place to be working right now

Below is what posted on this month's Who is Hiring:

Isocline - Austin, TX - Software Engineer for High Performance Computing and Modeling

We are looking for two people - one interested in neural networks and one interested in GPS.

We are developing microchips that yield a 10-1000x improvement in performance & energy-efficiency compared to digital ASICs, GPUs, and FPGAs. We are a bootstrapped company and are fully funded through mid 2016. Patents pending.

$70K – $120K Salary

0.5% – 1.2% Equity

Full Job Description: https://angel.co/isocline/jobs/38767-software-engineer

Company website: http://isoclineengineering.com/

Email me directly if you do not have an AngelList profile
Oh man, I wish I'd seen this earlier -- everyone's already said it, but you definitely haven't lost at life. Go get a job right away, and you'll be back in the game before you know it.

I was in the same spot at 25 -- worked at a startup for about a year, had a decent number of users but almost no revenue and nowhere near enough growth. I had almost finished a super useful lightweight offshoot product that was going to have way better reach, but suddenly realized one day there was no possible way I was going to be able to pay my rent in another month. I cried a lot; it was a horrible feeling, understanding that something I'd centered my life around -- that I felt defined my identity -- was a failure, and feeling that I was a failure, too. But I got a job, got busy, got better at my craft, and just realized I'd have to do it again when the time was right.

It happened again a little over a year ago -- the company is still there, but us founders were forced out by investor cronyism after years of building. I was more miserable than the first time, and I just drank a lot for months afterwards (in some ways getting severance out of such a deal is worse than having to go get a job right away). Again, it had been my entire life for (this time) almost three years; plus unlike the first time I'd decided it would be ok to borrow some extra money from friends and family, and now that money was gone.

But it always works out once you go get a job, find something else to do with yourself, and realize you can get back to it -- or not -- when you're ready and the time is right.
Keep in mind that this is the Toronto Star. A local paper here in Toronto for obviously a broad audience outside of tech.

For a country and city that has a heavy inferiority complex and suffers greatly from the "Brain Drain" of technical talent to the US, this is one of those articles that's meant to inspire. Not an article for Canadians/Torontonians to puff their chests.

So I wouldn't be so critical about it's so called "propaganda" aspect.
It has worked for me for the past 5 years. I no longer work for anyone, but when I did, I was able to get a lot more work done. With no commute time, I saved money on gas as well.

The downside is that I never really got to know my co-workers or manager and when I had issues with the boss, I could never see if my manager had my back because of the lack of face-to-face communication. We were also all in different states and many in different countries.

Real human contact still can't be fully replaced by Text messages or Skype. The plus was that it made it really easy for me to quit when my own business took off because I really didn't feel any emotional attachment to my job.
Profanity is (deliberately) uncomfortable to people who are not part of your in-group. Women are more likely to be/feel excluded from in-groups in technology workplaces.
Projects like this always make me think the developer's imagination is great and they must at least be intelligent enough to criticise their work (with humour).
These numbers appear to be done are without any profiling data, while the hand optimized version has in fact, had profiling data guiding it (the human profiled it).

Give me numbers with profile data, and file bugs about the differences in assembly generation, and i bet it could be pretty easily fixed.

Again, we've done this before for other interpreters.
This documentary is really something out of the ordinary. I am torn between "they can't be serious" and "you can't make that up".
On Portable Computation
The queries remind me of UnQL. It was introduced by the Couchbase and SQLite teams as a way to standardize NoSQL queries: http://unql.sqlite.org/index.html/doc/tip/doc/syntax/all.wik...
"Maybe you should have continued to the end, because as far as I can tell, you are almost completely missing the point.
"
I if i can't find the point of a presentation in 50 pages, ...
Agreed; I now always run a minifier before committing.
Simply change the alias to something else:

alias doh='$(thefuck $(fc -ln -1))'
That's a very pessimistic view. Technology improvements in general benefits everyone, eventually. The invention of the plane didn't benefit the masses until much later when scaling brought the costs down.

I for one welcome what this would do for me on high-latency high-loss connections (read: poor cell phone coverage). I just need Apple to buy into this ...
Latex has some really weird idiosyncrasies and the tooling around it is stuck in the 80s but all is forgiven when you see how pretty everything ends up looking.
Incredible. It is exciting to see which areas of life AI will optimize in the future. The medical company which is focusing on teaching AI to interpret patient charts and etc, is an excellent example. I wonder if it would be possible to build a deep AI for interpreting law, effectively replacing research work which lawyers do. It seems law has a methodical structure that AI could learn to navigate recognizing past precedents, performing wide cross referencing, exploiting existing loop holes in the system, and validating judicial decisions.
Doesn’t most performance-critical code involve some sort of similar “domain”? The examples people have been talking about in this thread, like media codecs, cryptography, matrix solvers, databases, etc. all seem to.
Bigger question is, why in the world does your router disable UDP by default!?

Things like games and video streams are almost universally UDP, because it's better to forget about the data than stop everything, and go get your lost packet.
Pull the plug out from under you? Or the rug...
New and obscure are all too frequently synonymous.

That said, there might be a market for a web framework in PL/I there is a whole lot of IBM big iron out there :-P
Envision Solar Installs Solar-Powered EV Charging Stations in San Francisco
I've always seen equal temperament similarly to digitizing or any other form quantization. It's "close enough". Any type of dissonance heard in what are supposed to be perfect intervals is like grain in film.
You don't have to tie resource lifetime to object lifetime, that's the mistake the SFML folks made.
AFAIK the worst at compatibility is Word 2011 for Mac. It wasn't difficult for example to find Mac Word 5.1 documents that open perfectly fine in Word 2010 for Windows (after unblocking the file format) which would display nothing but garbage when opened in Word 2011 for Mac.
I attended djb's ETAPS talk and am still not true if he was deliberately provocative or genuine. Assuming the latter, I disagree with several of his points. Here I want to bring one to the readers' attention and it's to do with the economics of correctness proofs.

One of his key arguments was that compiler optimisations are difficult to prove correct, and that's one of the reasons why optimising compilers will be replaced by a combination of simple compilers + assembly hand-written by domain experts. It is true that such proofs are (currently) expensive, but misses the point of the economics of correctness proofs: Correctness proofs are difficult,
but proving compilers correct amortises that cost over all
subsequent uses. In contrast, program specific correctness proofs are typically of comparable difficulty, but don't amortise in this way. Therefore it seems to be cheaper in the long run, to focus on the correctness of optimising compilers. Moreover, as compilers and optimisations are quite a restricted class of algorithms, hence it is more likely that we can reuse (parts of) correctness proofs and prover technology for compilers.
Sure. And that's why the configuration was changed years ago.
Find Cheryl's Birthday
Is this specifically aimed at compute cloud users for faster deploys?

I would much rather go with dockerhub than use this. Egress pricing sucks. I'd rather have it from docker, who made the tool for my containers, than google.

What about docker 1.6, with image and container labels? Will Google keep this up to date?
Ted Cruz Senate Site SSL Cert Expired
Yes, but these domains are all very different, and would require different languages, which would defeat the point.
What exactly is worrying? Sorry, but it seems like you've written a lot but said very little.
I recently wrote a simulation that involved some heavy numerical calculations. Without optimization it was dog slow and would have taken probably years to produce the results I needed. With compiler optimization it took a few days, which was good enough for me. Perhaps I could have improved on that with manual optimizations, but the speed was good enough so instead of spending time optimizing I did other things.

The implicit assumption in the talk (based on this summary) is that we always want the most optimized code. But in fact that is never the case -- what we really want is for the code to be fast enough (or be space-optimized enough). So the relevant question is this: in what percentage of cases do compiler optimizations take us from 'not fast enough' to 'fast enough'. In all these cases the compiler is useful, because it saves us the cost of doing our own optimizations. In my experience this percentage is far from negligible, so at least for me optimizing compilers are highly valuable.
>It was purely a poorly chosen configuration setting which reflects the fact that Mongo was originally not a general purpose database.

Thats dubious. 1.) When MongoDB was released, none of the drivers used the "safer" settings. 2.) 10gen, at the time, released benchmarks with the "unsafe" settings comparing it to MySQL and boasted that MongoDB was much faster (ignoring the fact that it wasn't acknowledging your writes).
What I really want is a wrapper for sudo.
Whenever I use sudo, if type the password correctly it works instantly; if I mistype the password, it delays for 2 seconds before asking again. Often it's faster to Ctrl+C UP ENTER than to wait for that annoying 2 seconds. So it would be nice if a wrapper existed to see if sudo gives access within 0.1 seconds, and if it doesn't, assume the password was wrong, kill the sudo process and launch the command again. Automate the Ctrl+C UP ENTER.
"Perhaps the only way the second world and the third world can grow is to behave like they’re first world nations, and demand to be treated on par with every other netizen in the world."

If I had a choice between nothing and what Facebook is offering, I would choose the something. The third world needs to earn it, not demand it. Just like the rest of the world.
I used to alias `rm` to `rm -i`, until I realized that I just pressed <return><y><return> without thinking.
Very nice! Since writing a thesis is a very special task I think it'd be great to have such a app be geared towards that purpose. In addition to the features I now know I needed, I feel like I've gathered quite some experience on how to achieve control, reproducibility and flexibility using AsciiDoc but I didn't have the chance to get it out of my head and written down :-) There are a few pitfalls with the asciidoc and dblatex chain which you only learn to navigate when you're in the middle of writing the thesis (floating images, word count, bibliography, organization etc.). The framework/workflow I've set up considers most of them already and has been a huge timesaver and ease of mind for me. You can see some of the underlying ideas went into the Makefile I shared and you could recycle/use them to get a head start on your thesis/project. I'd definitely be happy to collaborate with you and share all my (MIT-licensed) experience :-) Feel free to shoot me an e-mail, I'm certain you'll find me through a quick google inquiry [1] ;-)

[1] http://lmgtfy.com/?q=lbnl+huck
React DnD Example Simplified
Profanity is a wonderful spice of life, it is deliberately uncomfortable to people who take things way too seriously.
Quick -- give an example of something else unrelated to the original article expressing your disgust with it.
The Matrix, Real Genius, Office Space
This seems like it's going after the sex workers themselves, instead of the real criminals like the pimps and johns.
I would love to see the results. I suggest contacting him either directly or through the mailing list for a representative sample of a C interpreter that can be benchmarked against luajit. http://luajit.org/contact.html
If we'd gotten 191 times better at avoiding bugs and security issues (and those problems scaled linearly with code size), this would be to the point.
To get :cd to behave more like vim, you could add https://github.com/gbarta/evil-noautochdir which in addition to behaving like :set noautochdir, also allows :cd to take an argument the vim way.
and assuming 100% utilization you can make about 172k a month billing at $1000/hr...

You can plug in whatever numbers you like into any formula you like, but it doesn't help most developers earn more.

The reality is that most devs can't charge those rates and get significant amounts of work, because they don't have the required skills / experience / reputation, etc needed to distinguish themselves from the competition and attract clients that are willing to pay those rates. Obviously in some geographies it's easier than others because of supply/demand forces, but the vast majority of developers can't do this easily.

I think the real question being asked in most cases when people ask how it's possible to earn incomes like that, is what can they do to be ABLE to earn those types of rates. More helpful answers would be advice on what niches pay well and are in high demand, how to market themselves, etc.
Can the hackers clear my debt? TIA!
It also means "Lama", the animal.
"There are plenty other examples to support DJB thesis. No amount of protesting and trying to knock his arguments on the edges will change that."

I didn't knock it around the edges, i said it's flat out wrong.
The fact that some code, and there are plenty of examples, has hot regions does not mean that overall, performance critical code for most people does.

As I said, we have thousands of performance critical apps, and the profilers keep getting flatter anyway. ffmpeg has not climbed the list over time, even if you disable the assembly versions, etc.

"You even agree with him: "But that is usually a programming language limitation, and not a "compilers don't do this" problem.".
From practical point of view this is academic distinction whether it's the language or its compiler to blame.
"
It's not academic when one solution proposed is hand-coding performance critical parts that change the semantics of the program.

If you tell the compiler it can violate the semantics of the programming language, it will happily do the same thing.
I was watching a show about Orangutans recently and one of the things I thought was interesting was that orangutans in the wild are independent in the sense that they usually eat by themselves. But when they are put in captivity and they are around other orangutans they start to learn from each other and build off of each others concepts. In the wild when alone they stick with what they know, but when around other orangutans they learn from each other.

Chimps on the other hand eat and do other stuff with each other and are usually(if not always) part of a group and so they have more complex actions in nature just from learning from one another, picking up tips and building upon what they know.
Fearing United plane was hacked, FBI pulls security expert off flight
The cases where optimizing compilers aren't good enough are where Java Hotspot Compiler and similar techniques really shines. Combined with novel superoptimization techniques, hotspot optimization could far outperform hand-optimization (although AFAIK that hasn't happened in practice yet).
Optimal thermal protection case – We are Amited
Why? Why, if I care about performance, should I write my database, my kernel scheduler, my TCP stack, my JPEG codec, my cryptographic hash function, my physics engine, and my 3d-rendering pipeline in the same language?

If we assume (obviously this isn’t quite true today) the domain specific languages existed which would let me write more readable and modifiable source, in a highly portable way, with explicit control over optimization strategies so that I could get orders of magnitude better performance than the naive C++ version, why wouldn’t I use those whenever possible?

Then all the cold “glue” code that isn’t any kind of performance bottleneck can be written in whatever language, and doesn’t need to be optimized at all.
Probably my biggest overall timesaver has been:

:w !sudo tee %

If you neglected to sudo before making your changes.
Thank you, I appreciate the info. I'm glad to see the science progress, and perhaps we'll discover better treatments in the process.
doesnt uservoice/userecho already provide decent freemium plans?
Margins are also about prices, not just expenses. Depending on the shape of the demand curve for Uber-like services vs traditional taxis, they may be able to pass along a lot of that cost to customers -- assuming similar competitors would also face the new cost structure.

Anecdotally, Lyft/Uber are so much better that they could charge me a lot more and still be preferable, though obviously they expect the margins would be smaller. I doubt it would be business-model-killing smaller though.
To be frank, if it wasn't interesting enough for him to ever file a bug against a compiler for, and he's already got something he likes, i don't see why i should take the time to produce results?
I mean, what would the point be?
He's obviously happy with what he's got (and more power to him).

Even if i did it, outside of supporting an argument on the internet, what changes?
http://rhodesmill.org/brandon/2012/one-sentence-per-line/
Reposting my opinion on this from a previous discussion:
https://news.ycombinator.com/item?id=9390480

"Harmless pranks" like this can have bad results... however they highlight how insecure flights can be in a way that will grab attention in ways that would otherwise be ignored.
There needs to be more available venues for PenTesters and white/greyhat hackers to be paid for their line of work. But security is often overlooked because the masses aren't educated on the subject.
The number of companies that have lied about "your information is totally secure" is beyond belief. This is one of the reasons why.

E:

Adding on.

>Roberts said he took to Twitter out of frustration that Airbus and Boeing (BA) - the world's two largest plane manufacturers -- aren't listening to warnings he's made for years.

No surprise here. This is why I'm not sure how I feel about stuff like this. It does raise more awareness and maybe airlines will stop dragging their feet when they start getting bad publicity for being insecure.

E:

>Mark Turnage, the firm's CEO, said they met with two FBI agents in Denver on several occasions -- and was told to never hook up his laptop to a plane again.

So people are going to have to wait until an incident results in death for them to fix this? That's what it sounds like.
It's stupid to use plain text for something that demands rich formatting and where you expect others to read, like a research paper or book, especially when there are great alternatives out there. Why not use Markdown, which can be written and read in a text editor, and compiles as a PDF or HTML and reads as easily as any Word doc. Or even learning LaTeX, which gives you even richer formatting than Word yet allows you all the benefits of writing plain text.
(Tedious disclaimer: my opinion, not my employer's. Not representing anybody else. I work at Google and have some involvement in this project.)

Others have discussed the technical aspects of what QUIC is achieving, but you can understand its purpose fairly easily by saying "QUIC" out loud ;)

If that's not clear enough, it stands for "Quick UDP Internet Connections", which I think makes it fairly clear what it achieves. You can read more about it in the FAQ: https://docs.google.com/a/chromium.org/document/d/1lmL9EF6qK...

Note that the blog post doesn't say "1% slowest sites", it says "1% slowest connections" - that's the mobile and satellite users. Think about how many seconds it takes to load google.com on your phone when your signal isn't great. How does taking a second off that sound to you?
Ruby is the wrong direction. You need to make more information to the compiler statically. Haskell is the right direction here.