skysight-inc/HackerNews huggingface dataset:
Some of these don't really make sense.

POST /decks/<id>/draw : returns a url to a card
POST /decks/<id>/shuffle : returns a url to the deck

Are you adding a "draw" to deck <id>?

POST /cards : returns a url to a card (post body having deck id)
POST /shuffles : returns a url to the deck (post body having deck id)

Are you creating a card or a shuffle?

Here's how things should be, in my opinion:

DELETE /deckCard/<deckId>

This removes a card from an abstract entity representing the relation between decks and cards. Thus, it draws a card and returns it, sort of like popping something off a stack.

PUT /decks/<id> with body {shuffle: true}

This edits the abstract "shuffle" attribute of deck <id>, shuffling the deck. This is indeed odd, but I'm afraid it's the best you can do for a mutating request. I would recommend a non-mutating request that makes a new deck out of an old deck, perhaps using "source" as an abstract attribute.

POST /decks with body {source: <oldId>}

It just goes to show that while REST is a good standard for CRUD operations, and is surprisingly extensible for non-CRUD operations, it can get confusing and become a real pain. Should one just deal with it or move to e.g. RPC? I haven't figured this out.
Russian WW2 parade: A tank-spotter's guide
I get it. I had an idea to make a "shuffled-copy" or a new deck with one less card, made from the original deck. Than you can theoretical rewind your shuffle process, since it's a chain of immutable decks. But I'm afraid that will really consume too much storage for a rather unimportant thing, at least in this case :) .
If you do this, you are basically doing RPC, so in reality you've given up any RESTfulness.
Heya, did my undegrads as EE, changed it halfway from a 4 year MENG course to a 3 year bachelors because I was bored of the power distribution related stuff. Went on to do a masters in Advanced Microelectronics Design. I had contact with FPGA's in both my undergrad and my masters. I selected my BENG thesis on an ARM M0 soft implementation on an FPGA that implemented an expanded instruction set with increased performance on the SHA-1 algorithm.
>That's absolutely a mischaracterisation, and a hurtful one at that because we absolutely care about our developer experience.

As long as it aligns 100% with the bizarro ideas of the core team regarding comment pragmas, code generation, vendoring, generics, etc.
I agree though I expect Fowler may argue that that is what the HTTP verb OPTIONS is for. Amundsen on the other hand likes his hypermedia more explicit and I tend to agree with him.
Fully agree. I love Go and use it for anything related to servers or the web, but doing anything with comments besides just letting them be comments, is just braindead.
It's a project were all decisions taken by the core 3-4 person team are final and absolute. Open-source != bazaar.
Show HN: Comapare tool written using node js
I tried rails once. Startup was fast, but after 3 months we got stuck and things weren't so fast anymore.

Modern Java EE let's you start about as fast as rails, especially when starting from a good Maven archetype. The code is immensely simplified. I got a backend service with JAX-RS and CDI running in literally no time!
Apple Watch hacked, a developer runs a web browser on it
50% more houses will need 50% more parking spaces and 50% more traffic on that now-one-way pedestrian/car lane. Perhaps what San Fransiscans want is actually no increase in the number of residents because of these problems they bring?
The single best piece of advice I've been given is "in conversation, always wait two seconds before responding."

It gives you time to think (and avoid saying something stupid), and also makes everything you say seem thoughtful, even when it isn't. You'll also instantly become "a great listener"
Yeah, my hard copy is probably going to show up Wednesday or Thursday. Sometimes I wish the discussion on New Yorker articles would get delayed a week.
Agree. Something like decorators could have been used instead.
We tend to remember the one wasteful case and forget the next 25 which were all reasonable - the old man with the worsening shortness of breath, the middle aged guy with gross hematuria, the drunk who crashed into a parked car riding his moped, the kid with the early onset puberty for a bone age study.

Dr. Gawande is a smart person, a contemporary of Ezra Klein and Ezekiel Emanuel, and a lifelong politically involved leftist. His essays on waste in medicine over the past 10 years have shaped progressive thinking on the subject, with citations from everyone from President Obama (during the sale of Obamacare) and many others. His political alignment is why Dr. Gawande cannot speak the obvious heresy that the United States' insane malpractice climate has anything to do with overtesting (although he has considered that in a prior book). He has made his career promoting the idea of waste and accordingly sees it behind every bush. I don't mention this to say that there is no merit to some of his observations; just to provide context of his background, alignment, and world view.
I've yet to see a case for PATCH that couldn't be solved with more clarity for everyone involved by a new resource.
I have an "HD version" from Steam that isn't available on Linux. Though I bet it's usable with Wine. Path of Exile is a tricky one though, as it is more recent - BTW, if you loved Diablo 2, but hate Diablo 3, then try Path of Exile. It's very good and free of charge too - it's a pity that it runs on Windows only, but the company producing it is small, so I don't blame them.
Fixes don't take years with Java EE!!!

We're using JBoss and there's an updated version mostly every few weeks, months at most. Absolutely not years, that's totally ridiculous and tells me you've never really used Java EE.
If grad students aren't doing 50-90% of the work related to a professor's research, then they are doing it wrong.
So I'd say just pickup OpenCL in general, and then follow altera's best practices until you feel comftable.

No link for my thesis, can send you a pdf if you want. In terms of what was needed, my kernel was the simulation inner-most loop that would take in 4 values(2 floats, a const int and a double) per neuron and use them to update the neurons state. The simulation ran at a resolution of 1ms, with values between 1k and 100k neurons.

In essense it was high repetition, low complexity, high memory calculations.

Infact, what I experienced was that a) the biggest overhead is actually setting up the kernel and b) you have to take into account the memory requirements.

Biggest upgrades in performance came from transitioning the data transfers from synchronous to asynchronous, (to alleviate memory bottlenecks as much as possible), and from increasing the number of neurons.

Most interesting bit was that due to the simulation characteristics (Izhikevich model of a SNN), the firing rate dropped aroud 20-30k neurons. With a low firing rate, I could simulate in real-time (ie 1ms of simulation in 1ms of real time) 18k neurons, and 80k neurons due to disparities in firing rates
Making Games with Python and Pygame (2012) [pdf]
> You make it sound like $10 of electronics would give great sound

No, that's not what I wanted to convey. But if you get yourself $100/€100 90s HiFi Amps on eBay, you are pretty much there, in my opinion for domestic HiFi use. You might want to blow out the dust, replace the scratchy volume knob, and bypass the rusty input-selector switches, though...

If you talk studios, of course some other factors are getting important such as the proper input connectors (most HiFi has Cinch/RCA, studios will have XLR at +4dBU levels), being able to put into a 19" rack and operate for long times at an elevated temperature, having a stepped, instead of a continuous, gain selector to have repeatability when setting up multi-amp systems..., but that's not really related to the audio quality, noise or distortion. You'll pay for all these features, and for additional build quality.

> loose n% of the signal on every iteration, and you do 100s of iterations

If you do 100s of iterations, you are doing something wrong! People do run 100s of iteratios for fiddling with parameters, but they'll NOT always re-record and play back every time. Just imagine the additional noise, not from the converters, but from the outboard gear mainly, adding up! Especially as people tend to like using outboard gear for the imperfect reproduction and coloring that analog provides.

But also for studio use, there's the crappy end (say, <€50 soundcards/audio interfaces) which will have easily noticeable hiss and spurs from badly shielded DC/DC converters you can easily see in any spectrum analyzer software. As soon as you are above $1000/€800 or so for a name-brand 8-ch in/out converter, I claim that you will not be able to measure any difference to a >€5000 2ch "32-bit, 192kHz, Mastering AD/DA with rubidium clock".
I think that's one of the only possible sources if this is actually legitimate.
World’s first 6TB SSD will be available to buy in July
Counting ants
The closest thing to an alien parasite [ES]
I remember where I was. I read a Tweet about it on my Palm Pre while lying in bed.
The fact that one has to install Classic shell even on Windows server versions speaks for itself.
The article is in spanish, but even only looking at the video is worth looking at. impressive!
Anti-Pattern (Wikipedia)
HP’s Audacious Idea for Reinventing Computers
the kind that are more than software engineers
Furniture farm grows chairs and tables
I'm sorry, if you're going to break the laws of physics, please be professional enough to know VNA stands for vector network analyzer.
Just because a thing, such as a draw or a shuffle isn't a physical thing doesn't mean it cannot exist as resource. Programming is all about creating abstractions, so why cannot I create a shuffle or a draw resource? I could even record them and share them on their own endpoints for clients to view.

Commenting directly on you suggestions:

DELETE /deckCard/<deckId>

This means each DELETE on this url would result in a different deck state which isn't idempotent as DELETE is mean to be.

PUT /decks/<id> with body {shuffle: true}

Same with this, the resource would end up in a new state each time making it unsafe to do repeatedly as the HTTP spec says.

I think the issue is REST is taught with a CRUD view point and people have difficulty thinking about it in other ways. Also the English meanings of the HTTP verbs get confused with their HTTP meanings which doesn't help.

I liked this blog post which talks about the concept of "REST without PUT".

http://www.thoughtworks.com/insights/blog/rest-api-design-re...

edit: you've edited you comment since I started my reply:

I like your idea of replacing shuffle with a new deck:

POST /decks with body {source: <oldId>}

You could then do things like lock the source deck which would make it easier to implement a multi-client system where you cannot draw from a deck until you have been informed it has been shuffled.
I think that's just the word for any company that doesn't seem to be sustainable in it's current form. (e.g. VC funding expecting an exit)
His old blog is no longer online, but someone collected it here. Very much worth reading:
http://pmarchive.com/

edit: Ah, it was published as an ebook as well this January:
http://a16z.com/2015/01/09/pmarca-blog-ebook/

His current blog:
http://blog.pmarca.com/archive/
In that context, the word "StarCraft" referred to Starcraft 2, because the author had previously been talking about the playing of Starcraft 2.
I was plo/ugh|w/ing through it until I noticed the size of the scroll-bar nubbin relative to the length of the scroll-bar itself and thought, "uh oh" to myself. Little later had to bail when there wasn't enough meat to chew on.

So no full summary here: partial summary is -- a16z and their ilk make Silicon Valley tick, Andreesen is a foul-mouthed visionary, Horowitz is less interesting, together they make a good team.

Don't mean to come across as glib. I enjoyed what I read and it's up to the New Yorker's typical standards.
kondro stood there facing towards us with his john lennon style glasses that looked like he had recently been to a high-end designer shop. the glasses had black thin rims as he surveyed his audience with friendly blah blah blah

Too much detail. The New Yorker should produce a tl;dr version like The Economist does (http://www.economist.com/blogs/newsbook/2014/11/economist-es...)
> will need 50% more parking spaces

And that is the problem that is choking US cities. All of the pictures in the article show cities built around the concept of walking, cycling, and bus/train-ing to where people need and want to go. Private car ownership is lower and is far less useful.

It does not (and, IMO, should not) follow that building more residences requires more legally-mandated turning over of public right-of-way to store private automobiles. Even forcing parking minimums on private lots drives the cost of housing ever skyward because those spaces take up space that could be used for housing or are located underground and, thus, even more expensive to build.
It's got 5 points - maybe nobody's commenting on it because very few are succeeding in loading it.

Thanks for the cache link.

Edit: it seems to be back.
Precisely what it says: young people.

Source: I'm majoring in CS in university right now, and most of my colleagues hold startups/Facebook/Google in high prestige, while older companies such as Amazon and Microsoft are often seen as second tier.
You can put communal garages every so often if you really need the car parking.
Try your site whilst using an ad-blocker.

Try your site throttled to 56KBit/s or at least 1MBit/s.

Have a 2$ server with a static HTML page around as emergency alternative if your main server melts.
Android has precise GC so it will free the unused memory even if there are loops within it.

What it won't help with are cases like:
public class MainStuff {
private byte[] myBuffer;

public void doStuff() {
myBuffer = new byte[20 * 1024 * 1024];
doStuffWithBuffer(myBuffer);
}

private void doStuffWithBuffer(byte[] buffer) {
/* omitted */
}

}

Here, we program keeps myBuffer around as long as MainStuff lives which can be very long if it is, say, a main class of your program.

It's just that the cases where the memory is kept around are not as easy for the programmer to spot as this example for reference-hierarchies are deeper.
The word "optimisation" should not be confused with considering computational complexity, and I believe we are in dire need for a catchy word for the latter.

One of the most important steps in programming is:

How many elements could this code actually have to process, and if there could be many: is this datastructure/algorithm suitable for that?

This is almost never premature.
This should NOT be called optimisation.

I would like an own word for that. Suggestions?
It takes about 3-6 months to level up to top level in WoW playing occasionally. I am very skeptical he "played for a year nonstop and then I hit the maximum level in WoW."

He goes on to say that "I was maniacal in chasing this goal and literally the next day I started a company, Glassdoor."

This are ridiculous statements for any WoW player. Leveling up is considered almost a "tutorial" to the "real" game that starts at top level, which is where everyone is at.

I can't see someone that was serious abot WoW making this statement, and it seems that he's either badly misquoted or he is not sincere.
But you're arguing from a position of ignorance. We don't know how important the information is.

Err.. My post asked "Just how sensitive was the information she shared?"

I was hoping someone would have some details of what the information was. I'd note that there are no claims it was classified let alone top secret, just that some fields weren't publicly available. There appears to be no claim she shared those non-public fields.

The details of funding sounds precicly the kind of information that should be public - and probably is - somewhere.
For those not in the know George Church and his team have been at the forefront of biochemical research and development of novel techniques for well over a decade.

This concept, like so many other techniques developed by that lab, is very impressive. The last major contribution I was on the cutting edge of (back in 2008) was the ability to predict and design proteins with totally different amino acid sequences that performed the same function biologically, which was revolutionary as it showed not only that you can replace almost every amino acid in a protein with a different residue and be biologically equivalent. It also proved that it was not the actual amino acid sequence that performed the function but the type of residue (hydrophobic, hydrophillic, acidic, basic, large or small). Of course, you can't overcome a well placed disulphide bond but the ability to do this basically nullified any possibility that a company or organisation could patent a particular protein, as you could simply replace almost the entire sequence of that protein and still have the same functionality.

I'm sure I have missed numerous other advances over the past 7 years as well.

Some cool stuff coming out of that lab.

Edit: it looks like this was from 2009 so not as cutting edge as I thought
Are You a Data Hoarder? Learn How to Manage the Clutter
I agree with your comments and take them as evidence that REST is exceedingly difficult and complex for these use cases.

You can create new resources, just as I have, it just doesn't make sense to "POST /cards" when you're not making a new card at all.
Am I the only one that's reading "2Bi" and thinking "but that's barely the size of a big company these days"?

At least it's keeping the numbers sustainable, I guess
Enjoyed this list. Over the years I've become better and better at spotting these issues, but even still sometimes it's hard to see them creeping up on you.

The worst for me these days is analysis paralysis. I'm currently working on my own so I don't have anyone around to bounce ideas off. For smaller tasks it's not a problem, but there are bigger design decisions that have ended up taking longer than probably should. When you're left to figure them out on your own it takes a lot longer to convince yourself of the "better" way of doing something.
> StarCraft's older, sister game, World of Warcraft

That's not the way I remember it (unless you make that StarCraft II).

Small errors like this always make me wonder how thorough the writer was with the rest of the article.
I know it's glib, but young people. People that got into technology from mid 2000s and beyond just see Microsoft as a big fumbling giant.

I think the Zune and the botched attempt into the smartphone market are what come to mind when they think of things Microsoft Works on. Either that, or it's the image of the giant enterprise company that only innovates in the way it bundles licenses to the markets it has monopolies on.

I know it's unfair and judgemental, but it's even the way I unintentionally react when I hear about friends working there. I just envision mass paralysis around innovating on the products that make money, and no real weight given to new projects because the cash cows need to be tended to.
Thanks for summary, I dint read the article.

Looks like they say there was no firefight, but I remember there was a guy from Bay area, Pakistani techie in Abottabad that night and he live tweeted the gun fight and explosions before any news came out. Wonder how that would fit this new narrative?
> There are also Clozure CL IDE, the LispWorks IDE or the Allegro CL IDE. All three are written in Common Lisp.

So what's stopped these from getting to Emacs' level of popularity?
I think you're missing the point entirely.
His one year experience of playing WoW was a learning experience that ended up shifting his worldview enough that he was able to start Glassdoor. Whether or not he was a hardcore player is an entirely different matter, and frankly, quite irrelevant.
Although I don't use go (yet), I can see the benefit of this mechanism as I use a similar one for my own c/c++ code. There I use specially tagged comments to embed python in the c/c++ sources, and then run all the code through a python interpret stage to expand/execute the python code before compiling it. Actually it supports C macro style for the embedded code, which is a bit more sensible than misusing code comments.

For example for generating a c/c++ enum:

enum example_t
{
#py \
for line in open('values.txt'): \
print('EXAMPLE_' + line.strip() + ',')
EXAMPLE_Max,
EXAMPLE_Unknown
};

Or alternatively to stuff it in a comment:

enum example_t
{
/* py
for line in open('values.txt'):
print('EXAMPLE_' + line.strip() + ',')
*/
EXAMPLE_Max,
EXAMPLE_Unknown
};

If anyones interested, heres the python script I use to preprocess the c/c++ files https://github.com/hartcw/cppy
Traditional Windows version updates, as in, from 95 to 98, from 98 to XP, etc — yes. But that's exactly what they're trying to eliminate, and use a modern update mechanism that is supposed to be easier than applying patches.
It looks like a perfect match for an ansible-managed fleet, though.
Heh... Exactly. Too much "atmosphere". Too much repetition of that "one page on a specific person's story and one page on the systematic social trend this person's story illustrates" is now gone beyond slightly annoying to the point of tediousness. Newyorker is pretty much cartoons and the small one page or less articles for me now. I'll make exceptions for Anthony Lane's movie reviews and occasional longer form articles. And anything with Malcom Gladwell's name just makes me angry at this point.
Amazon was founded in 1994, Google in 1998. Do those four years really make the difference? I believe the reason for Google being hold in high prestige must lie somewhere else than being a 'young' company.
US leads 20 groups on cyber security mission