skysight-inc/HackerNews huggingface dataset:
It's not a lock-free bug, but it is a lock, free bug.

My favorite lock-free bug involved a concurrent ring buffer. At one point the code had to figure out how much data to read, which was either the size of the buffer passed in, or the amount of data available in the ring buffer, whichever was smaller. So the code did something like:

toRead = min(requestSize, availableData)

But, surprise! The min macro was a custom job using the typical bad implementation of:

#define min(a, b) ((a) < (b) ? (a) : (b))

But this is no problem as long as the two expressions have no side effects, right? Wrong! Every so often, another thread would write to the ring buffer between evaluating a<b and evaluating a or b the second time. And every so often, this would happen when availableData was smaller than the request size, but then became larger after writing the additional data. In those rare circumstances, the read function would use that too-large availableData as the amount of data to copy, and write past the end of the passed-in buffer. Hilarity then ensued.

I deleted the custom min macro and used the (properly implemented) system-provided one, and all was well.
Of course. But considering things I do not consider essential is like saying "yes" to "you save $1 when buying 5 apples, we charge for 4" when you only wanted one in the first place. The OP wrote about the specific "sw dev" group, not the average user. (e.g.: If I could downgrade the resolution of the displays for a significant discount, apple hw would be much more tempting to me - after all, 99% of the time I spend on computers I look at monospace fonts in emacs...)
Something crashing, so an error can be reported and a watchdog can restart it (etc.) is far better than just forging on with corrupt memory and wrong answers.

People do not use the sanitisers nearly as much as they should, and nor are they designed to be used in production. There's has been CVEs issued for them caused by the testing mindset in which they are written.

In any case, how much a programming language helps the programmer get a correct program (I.e. the most general form of safety) is a thing of degree, not all or nothing. Rust does a lot more than C, pushing many many errors to compile time, meaning they're fixed before the code even runs. Sanitisers only catch these when they actually happen, and will presumably result in the runtime crash you're so concerned about, if used in production. The fact that Rust isn't dependently typed and so can't catch OOB at compile time is unfortunate in this respect, but don't throw the baby out with the bath water.
Is that true? It seems I can just fill out a form and pay these people $63 and my dog would then be a "service dog".

https://www.servicedogcertifications.org/service-dog-id/
That's my perception of startups too. Some of them pretty much require you to believe the company is the best, and if you express moderation, it is a sign that you are not going to give your all to make the company succeed.

You know, the faulty "If you don't think you're the best, then you never will be" advice everyone seems to believe (not just in startups).
Twice as much code to write. Ok, maybe not twice as much, but it does seem like a lot more stuff needs done in the front end compared to just writing a fairly standard app in Django.
You're right, they don't :-(

Like IBM and Oracle, MS is in the position of "Management says we've already won, so suck it, users!"
> French workers (at mid-management level and above - not hourly workers) work long hours.

Why?
How much more experience would you be expecting?
See my edit, with some super-simplified numbers.
> Every Indian co-operated with the move.

This is a no-true-scotsman argument. I am Indian. I was forced to co-operate with the move because of being an ordinary citizen. I had no choice but to go along.
> Bear in mind, I haven't used HERE since the Nexus 4 came out.

Why aren't you using it today?
Doesn't this story just beg for companies to advertise their "culture"? This may be just exactly the targeted advertising they need, right?
Actually, now that you mention it I think that's what we did in the end: I wound up building a "private cloud" (really more of a pileus than a full cloud) just for this one thing, whereas the Pi let me put it all in one self-contained box that I haven't had to touch since.
omg! thanks for the refference to kartlytics. I had no idea this existed!
Jsonbin – A JSON store as a RESTful service
What are you more interested in learning, front end or back end development? Only asking since you mentioned Python and Bootstrap can be used/learned with server side rendered pages.

My extremely general advice would be to avoid frameworks until you have a solid understanding of the fundamentals of both JS and HTML for front end stuff. This way you can understand what is happening behind the scenes with these tools.

For back end Python is a great place to start. I would suggest learning some data structures (queue, stack, graph, binary search tree) and implementing them yourself along with some sorting algorithms (insertion, merge, quick, radix). That will give you a pretty decent exposure to the language. Try using Flask for a web framework as it's very simple on it's own and doesn't have as much magic as something like Django.
for sure, You Don't Know JS by Kyle. Here's the link
https://github.com/getify/You-Dont-Know-JS
the costs outweigh the benefits

Well, if you put a low enough price on people's happiness, health, and quality of work, then yes I guess.

Anyway: I hope the people involved in the pilot and happily doing 6 hours shifts now, won't take it too hard if the pilot should be stopped and they're back to 8 hour shifts.
During my thesis, I wrote an algorithm (at a organization very with close ties to Here) that takes OSM and transforms it so a very basic 3D map, using lots of assumptions. That derived, baseline map can then get enhanced by sensory data that is being collected over time.
interesting article but the title is misleading
Facebook People Based Marketing Connecting the Dots Across Devices
I don't demonize them, I use them too. But if you rely on them too much then eventually it causes problems. Especially on a large project that grows over time in CSS and HTML.

Attribute selectors are indeed handy and are on par with class names in my suggestion.
> Lastly, you're citing an article from December 2nd to prove that a lot of money that was outstanding on Nov 8th hasn't been collected. I linked one from January 4th. Which do you think has more up-to-date data?

Your Jan 4th article has no data on the amount of money deposited. My advise to you is to go back and re-read that article. RBI has still not released the latest data. The last release was on December 13th. Articles written after that are just here-say and speculation.

> I hate to break this to you, but most people don't actually have bank accounts, and if they do, they don't know how to use them. Most of those bank accounts that were opened in the Jan Dhan Yojana scheme have ₹1 ($0.015) or less in them [1].

That is not the Government's problem. The Government had already instructed owners of private and public companies to open Jan Dhan accounts for their laborers. The owners either failed to do it or purposefully chose not to open accounts to evade tax. Now they have no choice but to open for them.

> These laborers mentioned in the article I linked did not have accounts which they could use. That's why they threatened to strike if they weren't paid in cash.

In my comment in the previous reply I already mentioned that they did not have because the companies failed to open accounts for them. Don't skip reading my comments please. I can't answer the same point again and again.

> You live in a bubble if you think lower income groups are rapidly adopting digital payments. Sure, the help at your place did, but I've met many people living in the heart of Bangalore who can't afford a smartphone. These same people also don't have a bank account. Or who knows, maybe they have a 0 balance account in their name somewhere.

That is no excuse for not moving to digital payments. The same excuse was cited in the 1990's when the computer and telecom revolution was taking place in India. People were comfortable with typewriters and found computers intimidating. Today you find most of the workforce quite comfortable with computers. Even with telecom revolution the biggest beneficiaries were the lower income groups. They completely skipped fixed line telephony and moved straight to mobile phones. I agree with you that many find digital payments intimidating and many don't have smartphones but they have no choice but to adopt it now because of disruption in informal economy. You are on Hacker News. You should know better what is the outcome of disruption. There will always be a short-term negative impact followed by a long-term positive impact.
Seeing how they emphasize using XFS for the backing disks [1], I'm pretty sure that the objects/blobs end up as actual files on the disk (same as with OpenStack Swift).

So in the end, an "object/blob" is the same as a "file". The different term emphasizes that the user does not know (or care) which disk actually holds the file, or how many replicas exist. That's abstracted away by the cluster.

[1] http://leo-project.net/leofs/docs/installation/install_2.htm...
15+ Fresh WordPress Themes as of January 2017
From their "information" page: Service Dog Certifications does not certify or authorize anyone to use a Service Animal — nor is certification required by law. The privilege to use a Service or Assistance Animal is granted, under the law, by the Americans with Disabilities Act (ADA) and local governments.

They give you a piece of paper that says "service dog", that doesn't make it a service dog in the legal sense.
The company I work for runs a week long "hackathon" each quarter during business hours. Generally, you aren't allowed to work on anything but your hack week project.
In Clojure it's #(+ 2 %), pretty compact if cryptic. Actually no reason you couldn't make a reader macro in CL to look similar.
I find this model to make more sense: https://www.youtube.com/watch?v=Lg2GndSat1E
I don't trust user input and I don't trust hashing output, I definitely don't trust mixing the two!

Serious answer though in that instance it comes down to already having a naming system in place that uses hashids to generate the filename. I could re-write the whole thing but it's not really a project that grasps my attention for long bursts. As it stands I've just moved the whole lot to s3 for now, even with it's larger footprint it's not much more in terms of cost - Mainly I use the image storage project as a way to test new object storage.

As an example off the top of my head I'm thinking block level de-duplication would be good for storing backup tars from multiple machines. In my previous post I was more hinting at file-level dedupe but that probably wouldn't do as much.
How do business analysts use prototypes? BAs reveal their top wireframing tips
It's amazing the contrast in usefulness between samhamilton's comment and jakozaur's Fermi estimate elsewhere in this thread:

https://news.ycombinator.com/item?id=13317649

It's just a completely different method of going about arguments.
The last time I tried to build k2pdfopt, the source zip was missing a bunch of files. You had to download another zip, which wasn't complete either, and combine the results. And then the build failed because cmake was having a bad hair day. I wanted to like it since the windows exe did seem very handy, but had to give up at that point. (Oh, wait, there was a bit more. I did get it building, but the source assumed fprintf(NULL, "log msg") was a perfectly fine thing to do. That's when I gave up.)
If you're interested in doing this for sheet music (sort of a similar-ish problem), check out my product soundslice.com. Auto-reflowed sheet music depending on your device width.
That link you posted is dated 540 days ago. The situation now is that Xaviju met Inkscape devs at the last Libre Graphics Meeting and the forming of the design team was decided.
I cycle here everyday and don't find it very dangerous if you're careful. The city has done a lot for cyclists in the last years (highways are only one example) and the fatality rate is relatively stable for several years now, even though cycling numbers increase by ~20% each year.

Most lorry drivers are very aware of cyclists now, so if you don't try to pass them on the left (where they can't see you even if they wanted to), they'll be careful to stay away.

I also don't know where you get the argument with the courts from. Any evidence for that? I've never seen police pulling over a cyclists, but I've seen several occasions of police pulling over cars that stood in cyclist areas (the ones in front of traffic lights).
My suggestion is to consider a more detailed author description because one of the reasons people buy books is based on expertise and the current author profile does not convey much.

That doesn't mean that the tone of the book can't be informal or enthusiastic or peer to peer. Consider the author profile and the book content to be separate content written for two different purposes and by 'different' authors.

Good luck.
OTOH - "I can put whatever I want on my phone, so suck it, Microsoft!"

Payback ... and all :-)
Leaving at 5pm is the norm in Germany only in very particular circumstances. Most people I know are stuck until 18:30 or so.
MongoDB -- New York, NY (ONSITE - relocation package available) | Software Engineer, Cloud (mid to sr. level) | Full-Time | Base + Pre-IPO stock Options

We are looking for server-side engineers that will work on core functionality and infrastructure for our cloud products, writing code that will help store petabytes of data in MongoDB all over the world, touching millions of users. On a typical day, our Cloud Services processes over a billion metrics and replicates tens of billions of database operations.

You must have experience working on distributed systems, multithreading, concurrency, and preferably building applications on top of, or running applications on cloud hosting platforms (AWS, Azure, Google, etc..).

Any interest? Please reach out to me at Matt.Leva@MongoDB.com or apply here http://grnh.se/5afgvk
Cynical answer: because the people who benefit most from the status quo tend to be the people who either own media or can get their ideas out into the media most easily...
Thank you for sharing! I thought the Moo Moo Farm run was incredible on its own, THEN I saw the write-up. Blown away.
Until one uses it, it might be hard to realize how incredibly useful it is. From both CSS and JS perspectives. I rarely use it simply because of older IE lacking support.
I hear this a lot including from people I respect. However, I don't need LIDAR maps to drive, so why should a self-driving car need one? I get that having knowledge of the road available to the car could make computation easier, but it can't be relied upon as the environment might have changed between capture and driving.
Analyzing honeypot interactions
I can attest that there was a disturbed individual who lived not nearly far enough away for my comfort who came to the conclusion that I was evil and should die based on online interactions (MUDs) in ~1991.

As concerning as that was, it in no way compares to what women in particular face today online.
"You gotta be careful of the Laffer Curve[0] though. Tap into the rich too much and they'll leave."

We should tap into it on a global scale. We'll have Moon colonies in no time!
It's one thing to have bias, which is unavoidable and important to keep in mind when both writing and reading. To declare it all propaganda or "telling them what to think" are extreme claims that require very solid evidence. To throw such accusations around lightly undermines trust and the possibility of discourse, or the idea that people can be acting in good faith even while acknowledging their bias. Why should I take anything you have to say seriously, or vice versa?
Then I'm thankful that you did not riot. Irrespective of your political inclinations.

On a lighter note, the "large-scale riot" theory was not propagated by the Government but by the opposition. Read up articles by P Chidambaram and you'll know what I mean. So don't hold us guilty for using that term :)
I've always suspected that the fastest way to learn vim is to install the default and not copy someone else's ~/.vimrc at first. Edit it whenever you need some specific functionality, and edit often. Also read the :help docs a lot.

But I admit it would be nice if the vim project shipped a sane default setup that was aimed at the average programmer.
Thanks, will fix it.
> 963 people have been shot and killed by police in 2016

And please outline every one of those situations. Because those are just numbers, nothing else.

- How many of those were suspects who threatened a cop with a gun or some other weapon?

- How many of those were a suspect was assaulting a cop and he drew his weapon to save his own life?

- How many of those where a suspect refused the orders of the cops to put down a dangerous weapon and surrender?

In fact, all you have is numbers. Without any context, those numbers are useless.

By comparison, in Chicago this year, there were 762 homicides. That's ONE CITY which nearly equals the entire country's worth of people being killed by police in the same time frame.
Ask HN: Who uses Azure VM's? Would you like a free review of your costs?
I am bootstrapping a company to measure various performance metrics from cloud providers and put that data to good use.

I have started by focusing on the performance of Azure Virtual Machines CPUs and am looking for people who use Azure VM's (ideally not classic but I will take what I can get!)

I have gathered thousands of benchmarks across each Azure region and machine type. I believe that by using that benchmark data and understanding what instances you currently use including the region, type and cpu utilization - data that we can gather from the Azure Portal today, we can look for ways to save you money on your virtual machine usage.

As an example, these are the sorts of insights we are able to find:

https://www.cloudrac.es/blog/2016-12-23/Another-Look-At-Azure-Virtual-Machine-Pricing/post.html?utm=hn

Is anyone interested in working with me as an early customer to prove whether this works and hopefully save you some money on your azure vm usage?

The worst case scenario for you is a report saying you aren't wasting money.

It shouldn't take any time other than running a script to grab the data I need from the azure portal - the data is in json so you can easily check you are happy with the data that you send to me.

(If Ask Hn isn't the right forum for this I apologise!)
Sure, I've added my email to my profile.
Fake News Article Leads to Jay Leno Being “Scammed”
DigitalOcean Monitoring
Good question. I know freight charges are cheaper going to china than coming from china, so I guess there is a demand mismatch.
I actually made a website that attempts to answer this question. My site, Devstop, provides a resource for developer certified reviews of companies' software engineering practices. The idea is to help software engineers identify the best companies to go work for. Check it out here: http://devstop.io/
It recently won the award for the best tech company for women, leaving FB and Google behind.
More high paying American jobs going overseas :(

In a serious note; I'm from a country where reputation is king and a handshake seals a deal so I was not used to the shadyness I experienced living in the US. Homeless people with made up stories, used car salesmen hiding serious flaw in their cars, hidden charges and fees on services, optional insurance that isn't optional, worthless employee stock options, bank accounts secretly opened with forced overdrafts, online universities, kickstarter, financial services, HMOs, Haitian charities, lobbyists, housing bubble, tech bubble etc. etc. The point is that the US has plenty of home grown 'scams' and the only thing happening here is that otherwise marginal scams are profitable enough for Indias. It's like worrying about losing $100 to muggers on a street while your pension is being eaten up by fees.

I'm not saying don't worry about the small stuff, what I am saying is that, to me, I see the US as the mecha of frauds.
Digital Nomads: Top Chrome Extensions
I don't write my comments to appease people here, if they don't like them then so be it, that isn't a goal of mine.

Rogue-like games plague the Steam store [1], though there will always be games like Legacy that rise to the top of their category. You could say Candy Crush is an objectively successful game too, but I see it as a micro transaction laden piece of trash.

[1] http://store.steampowered.com/search/?term=rogue&tags=1716
Is Surface Pro 4 build quality amazing? Don't they have those keyboard cover things that are encased in a vinyl. How is that comparable to an aluminium unibody?

The surface book is closer - I like its features/specs but still find it very ugly - I can't get over that huge gappy hinge.

I want to like MS products but they are not the quality I want yet. Surface Studio really turned my head though.
NFL Agrees to Stop Calling for Price Floor on Resold Tickets
Mainly because my primary monitor is a 40" curved 4k TV these days. When you sit an arm's length away, the curve helps your peripheral vision. It also makes 3D games really pop.

Anything else feels tiny now and multimonitor setups are just plain annoying in comparison.
Yeah I wasn't being critical dunno why people are down voting. I thought it was funny and interesting!
TensorFlow in Scala with ScalaPy
You are right, by using WebRTC we are ignoring Safari users. Since this is a prototype we are looking forward to get majority browser users involved (Safari is around %3.5).
In theory, it is 7 hours a day (for 35 hours a week contracts).
In reality, most office workers are pulling unpaid extra hours.

It's also possible to get 38.5 or 40 hours contracts, where you would get extra holidays to compensate (over a year).

I've worked as a programmer in France, Canada and England. In my experience France and England are pretty much the same in terms of work-time (8 hours/day, 5 week holiday), Canada is behind by lack of holiday (8 hours/day, generally 3 weeks holiday)

Edit: bare in mind this is based on my experience and will presumably be very different depending on the employer.
If you jailbreak your Kindle and install Koreader (mentioned upstream) you can have high quality PDF reflow, with support for two-column layouts as well as math and displayed equations, on your Kindle today.

Here are some example images:

http://www.epubor.com/how-to-install-and-use-koreader-on-kin...
If you did the study in the IT-industry. What would the result be if you would measure code commits and code quality for a large sample of programmers with [4,6,8] working hours?
Yes but it's infinitely easier (which is my point) for multiple people to drive a car into a crowd killing 10 people at different times. The bar to be able to deploy on a large scale (by a single actor, not North Korea) is much higher and the group of people that could potentially pull it off is infinitely smaller for at least the reasons that I mentioned.

Anyone of us could drive into a crowd and kill 10 or many more people. Yet it happens extremely infrequently, compared to at least how many times it could happen.
Your bug doesn't seem to be related to the 'min' macro, but to the fact that your lock-free algorithm is not actually lock-free: if one thread can update an 'availableData' variable while another thread can read it, make a choice based on it, and then act on that choice, then that's not lock-free; that requires a lock to keep the read, decision, and action "atomic".

I'm skeptical that using some other 'min' implementation is a real fix to the root of your problem, but without knowing more, I can only speculate.
A majority of the population also used to be disenfranchised if they weren't males or owned property. Traditionalism makes for bad governance