skysight-inc/HackerNews huggingface dataset:
A lot of negative comments about AMD here, but I don't see a lot of reason for it.

There's been some talk of Moore's Law slowing down, because die-shrinks can't go much further on silicon. This means Intel's biggest advantage cannot continue indefinitely. The market will have to make some kind of paradigm shift to continue seeing improvements.

Heterogenous computing may end up being the way forward, and AMD is leading the way. Sadly, the software stacks aren't capable of easily making use of it. AMD needs to invest heavily in their HSA initiatives, and they are, but maybe not enough.

Apparently Java 9 is supposed to be able to make some use of HSA features, and various other apps and libraries are slowly making use of OpenCL. There could be some big wins in the server space for JVM apps on AMD hardware.

In the mobile space, their new moves to use Stacked DRAM look very interesting. And their Mantle API was the basis for the new Vulkan graphics API. And they are now selling graphics technology to other embedded chipmakers, like MediaTek. All three big gaming console makers chose AMD, because they have the best GPU tech. This can one day translate into the best GPGPU tech for servers.

Back when Cray computers were still a thing, and Richard Feynman was helping invent vector processors, people thought vector processing was the way forward. But writing parallel code is hard, as we all know.

Perhaps it is finally getting realistic enough to move beyond niche applications. Or maybe physics and the nature of silicon will simply force us to use it.
"All companies die the same way...They run out of money." - Bill Campbell
I'm working on a 2d game engine built with LÖVE (the framework, but also the emotion) called Grid. http://www.andrewmcwatters.com/grid/ It's built by me and friends at Planimeter, my super volunteer contributor team. http://www.andrewmcwatters.com/planimeter/

It's not 1.0.0, yet though. Maybe in a few months to a year or so. It's a spare time thing.

It's hosted on my site, which was featured on Bootstrap Expo yesterday, and currently sits next to New Relic.

This is a great Ask HN, and the first time I've seen this asked. I'd love to see this pop up more.
Here's a link to the coreutils source for true if anyone's interested:

http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/true...

I think the argument can be made that command lines tools shouldn't provide versioning and help text at all - leave it up to the manual pages.
>This is helpful for sure, but...

You did this on purpose, didn't you. ;)
A Docker metrics plugin for Fluentd
The extra accounting work required in order to deal with taxes actually forms a significant deterrent to doing freelance work on the side. Every time someone asks if I'd be interested in a project, I have to stop and think: is this worth dealing with Form 1099 and Schedule C and keeping track of business expenses and all that bullshit? Generally the answer is no: a job big enough that I can charge enough to justify the extra hassle is generally too big to fit in the amount of free time I'm willing to divert from travel and hobby projects.

Of course doing just one contract project in a given year means I'm screwed come next April 15th, and knowing that drops the cost of entry for other projects; but I do wonder how much extra liquidity there might be in the market for programming services if the IRS didn't demand such a hefty commitment to paperwork.
Interesting, love the idea of small track pads. One issue that I immediately thought of though with it on your thumb is damage to the nail bed. As far as I understand it, pressure on the nail and the part of the thumb behind the nail can lead to nail deformities. Might be a bad place for repetitive use.
I strongly agree. Sentence formulas are a hack. The actual advice should be, believe something positive. Specifically, believe that the person is basically smart but just didn't know X. That leads to natural utterances like:

"Sweet! Uh...that run time is pretty terrible though. Don't worry, let's see what's up with that. (Twenty seconds later:) Ohhhhhhhhh, ha, ok, check this out."

The novice coder knows they suck. They're not really worried about that because, well, they're still here. What they are worried about is that you'll write them off. So don't.
Neat. I actually prefer the "infix" style for operators (i.e. having the methods on the values instead of on the helper) and I'll see whether I can adjust AQB to support that.
An App That Hides Secret Messages in Starcraft-Style Games
Regarding the downvote: I'm not saying I don't think his attire is unprofessional. I'm simply saying it isn't the "standard" male business attire of shirt and tie with a suit. The point I'm making is that this woman's attire is no less professional than the CEO.
> They are massively curated and plot-driven games which many gamers will replay a great deal to re-experience the plot rather than the gameplay. In some cases they will replay them to re-experience the plot in spite of the gameplay.

But in those cases, do we have a story supporting a game, or a game as the substrate/presentation medium for a story? I think we are actually talking about two vastly different things mashed under the same overall label of "game." These two things can even exist in the same piece of software we would call a "game." You can have a very plot/story/roleplaying based experience in Eve Online. You can also basically ignore all of the above and just go for a fairly sandboxy/emergent experience. (I will also note that the two player populations in Eve Online were somewhat distinct, and even when people were in both, they tended to do this by "switching modes.")

Clearly, there are many kinds of computer games where plot can be mostly, if not completely nonexistent. There is also clearly a subset of story-centric games that use the interactive medium to primarily tell a story. They are clearly not the same thing. (There's a good analogy with movies, in which some are very focused on the music/soundtrack and others are more focused on action and visual spectacle or the story/plot.)

(EDIT: To determine how "core" something is, ask yourself: Could the same "thing" exist as a movie, book, or in some other kind of medium without drastically changing? I would say that the overall experience of Mass Effect would drastically change were it to become a TV miniseries. However, you could conceivably create a TV miniseries with nearly the identical plot of Mass Effect.)
Drupal is open to beginners too. See https://www.drupal.org/core-office-hours for more info. Basically, you can join an IRC channel and let them know you're new to the project and want to help, and you'll have a ton of people ready to assist.
Academia is pretty awful, too. Scarcity makes people bad. The tech world's problem isn't real scarcity but false poverty (OP's "this is a startup" excuse) and the mentality that you get in a false poverty culture.
> What is "make do"?

It's an idiom. http://dictionary.cambridge.org/dictionary/british/make-do
I lived through a large natural disaster. (I don't want to go into specifics because I like my anonymity.)

The local FM station was the only show in town for about 2 days. The local t.v. stations were back online, but a lot more people had battery powered radios than battery powered televisions. :-)

It definitely makes sense in an emergency, especially if it can be coupled with a low-power mode similar to the one on the new Samsung S6's.
If it defaulted to yes, then running it would be,

fuck<return><return>

which is probably good enough. (Pressing the same key twice is pretty much the same as pressing one key, but pressing two different keys is harder.)
Bitcoin Marketplace Brawker Shuts Down, Open Sources the Platform
Is that even the relevant authority to be considering? Since QUIC is not formally specified yet and only exists as a de facto standard with little historical stability so far, isn't it primarily defined by the most prevalent implementations—Google's official client and servers—not the current state of the project's version control repository?

I do admit that things aren't as cut-and-dry for protocols and specifications than for actual implementations where rights and ownership are pretty clearly defined, but surely you can see that there is a distinction that can be drawn here? QUIC is expected to become an open standard (or die), but it's not there yet. Though it may be further along on the "open" than "standard" aspect.
https://news.ycombinator.com/item?id=9396004
Done: https://github.com/shaungallagher/thefudge
This is very strange...

Just tried it with Nginx 1.7.11 from release and then mainline Nginx 1.7.12 and on both I got nginx -V to output --with-http_spdy_module

But when I put in "pagespeed on (and the rest of the settings) into http { in /etc/nginx/nginx.conf

I get in /var/log/nginx/error.log:
unknown directive "pagespeed" in /etc/nginx/nginx.conf:56

How is this possible?

Edit: I finally figured it out... the Nginx configuration on https://developers.google.com/speed/pagespeed/module/configu... it out of date. It's much simpler to setup spdy now. Simply add "spdy" to the nginx server config like this: listen 127.0.0.1:8082 spdy;
StdAfx.h
LittleSis: Map the Power with Oligrapher
Yeah point taken. However, I suspect that the lab sessions are tedious enough to help put a lot of students off studying physics (worked for me) and this may be part of the reason that they are so boring...
Cool. I'm going to look into this :D

I am going to write my Master Thesis in AsciiDoc. It's about modular work-space awareness features in single page applications. The proof of concept app is a online AsciiDoc editor with live-preview and eBook/PDF generation, where I want to write my thesis in.
Ok. The --without-condom needs to be an option.
The problem is that a lot depends on what kind of problem your solving, and whether it varies a lot. I've written ~10k lines of python (single small project). But, I'm still at the point where it seems every other line requires me to google something, and i'm sure normal python people would snicker at the result. OTOH, I've probably written close to 750 (maybe a million, aren't small companies cool!) lines of C/C++ over the last 20 years and that is probably not enough either. Although I rarely even have to think about the code, rather i'm totally working at the algorithm/interaction level and the text pops out of my fingers.

I would say 10k is enough that you can put it on your resume... But, even that is probably way less than the average comp-sci graduate writes. So, I would still consider it a starting point. Especially, since reading other peoples code is just as important a skill, and that isn't something generally picked up in school, or on little weekend projects using a new language.

But again, it depends on the breadth of the problems being solved. We hired a web developer a couple years ago, who in the space of about a year wrote ~150k lines of PHP and javascript, and got a _LOT_ better at it, but he solved most of the problems the same way and there was a metric ton of duplicate code, and imprecise problem solving (AKA problems solved in the most roundabout way). Over the last 2 years I've probably only written about 50k lines of PHP/Javascript but I've added about 20x the functionality he added. So, I would say that i'm better now than he was when he left, but i'm still not really that good.
My only use for FM radio would be to listen to the TV audio at a gym.
Not so much the computing power as a few tricks:

- proper initialization of weights (should have been obvious, but no one really saw it)

- rectified linear units and dropout
I worked for about a year and a half on the ASRG project, specifically doing reliability work for the Stirling engines. They had a bit of a ways to go to prove out the system (its a tricky problem trying to "prove" that your device will last 17 years), but they had made a whole lot of progress. The biggest problem for the project though was that the ASRG wasnt being designed for any one mission, so its performance requirements were a bit of a moving target.
Sprite animation with controls – CSS only
I don't see a good online reference, maybe I read this a guitar book somewhere, but essentially the tones for A, B, C, D, E, F, G notes were picked out by the ancient Greeks (who referred to them as Alpha, Beta, Gamma ... so on) In fact Pythagoras came up with a mathematical tuning system http://en.wikipedia.org/wiki/Pythagoras#Musical_theories_and...

The 7 natural notes are based on a 7-tone equal temperament (equal tonal spacing), which gives you enough equal spacing between notes to make nice harmonies (nice complimentary resonance) so this sort of a 7-tone minimal palette, and 5 "accidentals" fill the spaces in between those 7 tones to make a fuller 12-tone equal temperament palette.
Fascinating. I wonder if this was learned through invention or through mimicking humans.

If only we could simulate evolution millions of years and see how chimps evolve.
I work on the QUIC team. If you file a bug with a network log, we'll take a look to see what is going on.
Survata (YC S12) Is Hiring Engineers to Bring Consumer Data to Every Business
too late, but if you are still watching this thread, take a look at http://littlesis.org/oligrapher
Crysis 2 takes place in downtown Manhattan? Can't enter a single building...

That's not what gets me excited about games. I want to go exploring. If I just wanted a fancy story and nice visuals, I'd watch a movie.
> Anyhow, this is just my two cents relating an experience to show how a seemingly normal and friendly human being can revert to angry "RTFM"s.

Sure. We're all human, and I know I've been there many times. Just also remember how the seemingly normal and ready to learn human will react to a lesson put that way.
Groovy is to the JVM what Bash is to Linux. It's used for writing quick and short scripts that manipulate Java classes and for building them, but you wouldn't use it to write actual systems despite the static typing features made available in Groovy 2.x. Use Java or Scala for that. But even Gradle's use of Groovy is in question -- Gradleware just employed one of the 2 Groovy developers who became unemployed after VMWare's Pivotal stopped funding Groovy last month. I suspect Gradleware will get him to replace the Groovy monstrosity with their own lightweight version of the language which does what a build DSL needs and not much more. This could be a reaction against Grails 3.0, a 130Mb download released alongside Grails 2.5 last month, bundling Gradle in an apparent attempt to take control of its distribution channel, in the same way they bundled Spring with Grails 1.0 back in 2008 then got their company bought out by Spring later that year. When a language's development is driven more by corporate maneuvering than providing functionality for a particular purpose then would you even trust it for scripting? Perhaps look at Xtend or Clojure!

You can read the other unemployed developer's take on Groovy's development history at http://blackdragsview.blogspot.com/2015/04/about-being-paid-...
As a word of encouragement, try and see it as a positive thing. After all, Paul Graham says that we can learn a lot more from failure then we ever could from success.

Second to that, you have one of the most valuable assets in the world in your favour. Time. It is the one asset that no amount of money in the world can buy back. Be glad that if you fail, you've failed at the age of 25, as opposed to when you are in your mid 30's, with children and a family to look after.

If you still can't see the positives. Lets put it this way, if you're starting at the bottom ($1), at least acknowledge that the only way is up. :)
Not everyone auto-parses. Unless you really know who you're talking to, it makes sense to add the "bread/condiments" to the sandwich.
I think you have to take each individual differently. Most folks react well to the criticism sandwich. Someone like you might prefer a more direct approach, as long as it is not phrased in a mean way.

At some point in my career, I stopped taking criticism personally. I just realized I was wrong so often that upholding the pretense that I knew it all was too hard. For that reason, I prefer direct suggestions.

If I was teaching a child or a new beginner, I would start with a lot of praise that they're even trying. I want to get them some early wins to help boost their confidence.
Mildly related: http://bropages.org/
I think it just comes down to different personalities. I'm just like you. I tend to get agitated when people try to sandwich their criticisms or compliment me for irrelevant things when I just want them to get to the point. I'd very much prefer someone just telling me "your code is shitty and here is how you'd fix it and why." Unfortunately, people that take criticisms like us seem to be in the minority.
I think the win here is for content providers more so than end users. Might not be a large overhead to the users, but I'm sure it saves Google tons of bandwidth over their hundreds of millions of users.
A Story about 'Magic'
The headphone wire isn't enough? The cheapo AM portables everybody has been plopping down next to the beer bucket since the 70s never seemed to have an antenna longer than 2.5 ft. I understand the wavelength is longer and the power is lower.
You should work out the price - asking customers what they want to pay tells you nothing valuable.
This is true, javac only replaces individual concatentations with use of a StringBuilder, so foo + bar + baz + "!" is fast, but performing a concatenation in a loop does multiple copies for each iteration. It (or the JIT) could conceivably do escape analysis to optimize simple cases like this, but it doesn't.

builder: http://hastebin.com/qadusoriqa.cs

concat: http://hastebin.com/nasukuxemi.cs
In special cases multiple string concatenations can be optimized into using a StringBuilder calls. Not in the general case.
Anything you can point me to?
Nvidia's New Hardware Is “Very Open-Source Unfriendly”
"The scramble for position" is probably pretty universal. It's certainly common in academic science, especially since instead of scrambling "to be a founder instead of an engineer," a better mapping would be "to be a founder instead of unemployed."
Time-stretching audio algorithms are really fun.

Paulstrech algo: http://www.paulnasca.com/algorithms-created-by-me#TOC-PaulSt...

Ableton live has similar algorithms built in for audio time stretching, but Paulstrech goes a step further and integrates a large spacey reverb that smooths out the abrasiveness of the low resolution playback at extreme modifications.
Understanding Conversions and Attribution Modeling
Out of the box bash trick:

export EDITOR=vim
C-p (or Up)
C-x C-e
I'm not a real fan of assigning a context-independent global value label like "good" or "bad" to code. While there probably are examples of truly "bad in all respects, in any context" code, the vast majority of code that I've seen tends to fit more into "<this attribute> of the code could/should probably be improved when using it in <this context>".

I find that viewing (and discussing) code this way has a lot of benefits:

* It is really hard for a single global negative value judgement made about code to not be taken personally by the person who wrote it (e.g., "your code sucks" == "you suck"). This is much easier to avoid when talking about attributes of a thing, since (a) it comes across as more objective than subjective, (b) gives plenty of opportunities for acknowledging aspects of the code that _don't_ suck, and (c) lends itself to much more of a "give and take" discussion.

* It gives you the opportunity to talk about "figures of merit" and trade-offs that are the reality of engineering, but rarely taught in schools (e.g., readability/development cost/flexibility vs. performance, etc.)

* It gives you a framework for explaining why things like idiomatic style, "principle of least astonishment", and general elegance actually contribute to code quality (and aren't just excuses for subjective attacks).
I believe army's point was that when using an SQL query builder API, one does not start with a string, but something which allows them to do a similar check that you showed.

I'm also not sure how your comment replies to army's point. The point, as I understood it, is that it is not accurate to characterize SQL queries as steps that tell the engine what to do. SQL is declarative, and leaves the execution plan up to the database itself. army's comments about the API and strings were trying to point out the only perceived difference, which is not relevant to the question of declarative versus imperative.
World Of Warcraft is both semi-realistic & complex at the same time.. Ever think of that?
Not to take away from the rest of your comment, but Macvim in insert mode works exactly like any other Mac text entry program. All of your regular keyboard shortcuts work as you expect them to, as does the mouse.
I know, and that's the part I feel worse about.
Single Assignment C
> Anyhow, this is just my two cents relating an experience to show how a seemingly normal and friendly human being can revert to angry "RTFM"s.

The guy is not just a human being, he's also a professional whose job it is to know what he's doing. Shouldn't there be some sense of "duty to do a job well", not just "duty to care about someone's feelings"? If he's not pulling his weight and is failing at his job, then the poor responses are his fault also.
You can get an ok single speed bike for the price of one month of parking in NYC.
Ha. You might be right.
why is everybody so obsessed with my girlfriend?
Adobe sues Forever 21 for pirating Photoshop
I get this helping and teaching. It is a great way to learn yourself. If I had any pedagogical talent and hence able to teach more than one person at a time, I'd have become a teacher a long time ago.

After this last week (I swear, beyond bad; _obfuscated_ code) I feel like answering with "Hire me!" :-) But I have forgotten bash and Makefiles now. (And it don't help that I'm Hellbanned. :-) )

Anyway, about the article, I do have quite a bit of code that I should have released if I wasn't embarrassed. And that is both stupid and sad.
There is no substantive difference between "sea lioning" and basic conflict resolution tactics, except that with the former, you assume bad faith on the part of your interlocutor.
And people say that humans are special because we can use our imagination.

We need to get over ourselves. We're not the only ones.
I wish this was given in a better format instead of just slides, hopefully the talk is actually better. Here's what I think the talk is about:

The pervasive view of software performance is that compilers are better than humans at optimizing code, but the few humans who optimize important bits of code to the maximum extent disagree
Similarly, computer programs today are increasingly diverging into a state where there is a tiny amount of extremely performance critical code, and a large amount of code where performance is so good on our hardware today that even horribly unoptimized code has no noticeable effect on performance.

Thus, optimizing compilers are useless on the first type of code (humans are better), and useless on the second (performance doesn't matter). So what good are they at all?

If optimizing compilers aren't useful, what system should we use instead for making performant code? The author and collaborators' experience suggests that the reasons a compiler can't optimize code as well as a human when it matters is that our current programming languages don't give the compiler enough information about the intent of the code to optimize it. Therefore we should design programming languages that on the surface look very unoptimized, but specify enough information that compilers can do a really good job. It sounds like no one knows what such a programming language would look like.
You can buy locking skewers and other "locking" bike hardware that will prevent people from stealing parts. Combined with a high end U lock and a cable through the wheels it's unlikely anyone would steal it during the day in a populated area.