skysight-inc/HackerNews huggingface dataset:
Alright that's clear. It's also in the first paper I gave you in the first illustration. The problem you're having is you've constrained the definition of concurrency or race conditions to only be about the language common among application programmers, esp threading. Concurrency is broader than that: it can apply to processes, threads, systems, protocols, or even hardware circuits. All that is required is two or more active things working with a shared resource in a way where operations might get interleaved and out of order in a way that makes computation incorrect.

Knowing that, Hansen starts on problem with RC4000 (1969) describing protecting communication between "processes" via message buffers, message queues, and checks performed on them to ensure validity. That and Dijkstra's critical regions are where the foundations were laid. His next step was the formalization the problem in 1972:

http://brinch-hansen.net/papers/1972a.pdf

Section's 1 and 2 cover basics of concurrent operation + race conditions. It was clear to me by the abstract but should be extra clear he's talking about them by this statement about Algorithm 1:

"The copying, output, and input of a record can now be executed concurrently. To simplify the argument, we will only consider cases in which these processes are arbitrarily interleaved but not overlapped in time. The erroneous concurrent statement can then be executed in six different ways with three possible results."

That's definitely a concurrency error. He then talks about mutual exclusion and synchronization with an await primitive. Closer to modern language but the focus on operating systems in the early 1970's means he says processes instead of threads and things like disk buffers or message queues instead of shared memory. Although his examples in 1972 paper are clearly shared memory since it's at algorithm level.

So, they discovered the problem around late 60's, implemented an early solution for sharing resources among processes in 1969, fully described race conditions + some other stuff by 1972, had a safer-by-design language to catch it at compile time by 1975, and applied that to implement a concurrent, production OS (Solo) for day-to-day use by academics by 1976.

So, race conditions were both formalized and initially solved in early to mid 1970's. I don't know how much more you need given they had an OS running 100 jobs/users at once interacting on shared resources without visible failures using their concurrency model. Mainstream OS's and apps are still having race conditions pop up on occasion. Clearly, what they were doing was addressing root cause if no race conditions occurred after a successful compile of "multiprogrammed" apps. :)
An Open Letter to Your Side Hustle
My passion comes from being taught some math wrong. The common core algebra books don't cover some things and the books we used for algebra 1 and 2 were pretty much the same. When I moved schools from a charter school that was an early adopter of common core to a public high school (common core is repealed in my state) my new math teacher told me I should have learned a lot more than I did. It's not completely the common core book's fault - my teacher was also pretty lax.
My teachers that I would classify as "good" have all had disdain for it. Whether they just don't like change or if they see harm in that change, I prefer an even playing ground for everyone and guessing about what changes are needed can be harmful. I don't have any research about it because I just have personal feelings about it. Some of my relatives can't count without drawing something or multiply because they have to draw a lattice.
> I'm an experienced developer with 5 years of thorough product experience in the domain. I'd completely appreciate the importance if the role actually did involve trying to eek out efficiency in a distributed system with high throughput... but 9 times out of 10 it's boilerplate business logic.

This is what I don't understand about software engineer hiring. They are ignoring important criteria about fit for the actual job, and focusing on criteria that is either orthogonal or completely irrelevant.

It's worthwhile to ask in these situations if the exercise is representative of work you'd be doing. It almost never is, but they tend to excuse it as...

> it normalises the application process against prejudice

But does it? By ignoring the actual criteria relevant to the job, they're dumping qualified people who don't do well with the hazing, and delaying evaluation of everyone else until after they're hired. That evaluation tends to be a lot less objective, because "hiring is expensive"; it selects for people who do well with the hazing, and reproduces the problem for the next round.
Further more, we have legal protections for those with disabilities when taking these certifications that is not accounted for in the tech sector.

http://www.americanbar.org/groups/disabilityrights/resources...

http://ncees.org/exams/special-accommodations/ada-exam-accom...

http://www.usmle.org/test-accommodations/

Are we ok with allowing discrimination like this to continue?
I worded my comment softly because I don't think I have a strong opinion about this stuff, but I'm not sure it is a work produced strictly from the OpenStreetMap database. They take GTFS databases from transit systems and use them to build routes out of OpenStreetMap data. They then render something based on this combined data. So the correct characterization may be that the final work is produced from a derivative database (rather than produced from OpenStreetMap). If that is correct, then the ODBL would apply to that database (as is explained in 3b,3c,3d...).
The days of Perl CGI are a distant memory. More than that, it is a distraction. I'd be happier with the use of a parameterized test framework that lets you get to the point much more quickly.
The routes are a combination of transit system data and OpenStreetMap geometries.
I think the same way. Mostly biased towards jr. And management seems like a good option for long term career growth.
Game SHENZHEN I/O: Build Circuits. Write Code. RTFM
For their own expedience. It's an employer's market. It costs 2.5k/yr to keep an SO posting up and get thousands of resumes in your inbox.

I'd also say a fair share of those in Who's Hiring on HN aren't in dire need of filling seats, but just trying to see how far people with fling themselves through the mazes. Blissfully unaware they're not the only startup and have no way of offering the stability of a large company.

At one of the places I've seen, we didn't read every resume. We overlooked mountains of talent and shot ourselves in the foot.

Instead of hiring coders that had their heart in the right place, we hired streetwise careerists that put their own interests before the team. But they could do palindromes, fizzbuzz, and whiteboard data structures and algorithms.

But when we wanted them to do something generalist or in another language, they'd refuse. One even went so far as saying if they could program X in Y editor, they'd just leave the job. What use is passing all these tests if you're totally inflexible?

We also snubbed people enthusiastically espoused the startup gumption and idea of building, but didn't cope well with the white boarding we thrown at them. Those whose heart was in teamwork and open source, we overlooked ignorantly, while continually putting up walls to see who finally gets past all of them.

There is some toxic cultural thing amidst in startups of insularity and smugness. If I could go back, I'd say screw it with the whiteboard games, come freelance with us for a week. That way I can gauge your temperament, how you work with teammates, your technical skills, etc. in a realistic setting.

And if someone asks for a code sample, and you already have projects on GitHub or your portfolio, don't be afraid to redirect them to that instead. If they don't look, assume the employer is not serious about filling the spot, but just putting in the least effort themselves to see how many hoops people jump.

It's not you OP / other programmers. If an employer doesn't bother to give you a phone call to talk to you as a human being, maybe they're not so eager to have a position filled.

Don't let it effect your self-worth. Always be coding. Don't be afraid to stick your head out there at a meetup and shake some hands, you'll be surprised how much more decency you court when you represent you're a human being, not another resume in a stack of thousands.
Oh, man. It has been a long time since I messed with Tcl.

I haven't dug into the code yet, but I'm assuming "interpreter" means no DLR shenanigans or other platform-limiting stuff? (DLR-based scripting languages are no bueno on iOS, since you can't generate bytecode at runtime.)
In silicon valley, we live in a condition wherein the company could fail at any time. As a developer, most often, we have to learn something entirely new and ship the code for the business. Those challenges are quite enormous with lots of unknowns

I don't think any of these are true. Companies do not fail 'at any time' because of their programmers nor are they saved by them in the nick of time. If there's something you should be prepared to for it's writing code that's less prone to catastrophic failure rather than coding your way out of some disaster. It's not ER Medicine.
Totally agree 100%.

Everyone please stop testing your code.

...

...

...

...

Ok folks - everyone who's still testing can keep their jobs (or take the jobs of those who stopped).
"The call-center workers had a complicated and long script to direct the victims to nearby stores to buy $500 Apple iTunes gift cards. The victims were then instructed disclose the registration numbers of the gift cards, giving control of that cash to the call center worker."

If I were asked to go to a Walmart and get an Apple iTunes card to settle a government debt, I would laugh. I have trouble believing that someone fell for that.
Intellectual Ventures? The patent troll? I have a feeling this project will not, in fact, have any impact on the mosquito population.
The main one is vg, which I think Benedict Paten is actively supervising, along with Richard Durbin. The main developer is Erik Garrison. I'm pretty surprised it wasn't mentioned by name: https://github.com/vgteam/vg
Hackers for Charity – Free live hacking workshop ; Nepal
>"Representative take-home work samples and conversational problem solving are in."

Exactly. How many times have you reached out to your network and said "HEY! I am trying to solve problemX and I am stuck on Y -- anyone done this before?"

You cant expect everyone to know everything - ESPECIALLY in an interview, and even more-so in a panel interview.

Measure their problem solving skills, not their intimate knowledge of tech/lang X....

and then on-top of that, judge their fit for working well in the team!

only ask that when they come back from a takehome issue, that they say exactly how they solved it:

"I had to call my buddy over at BigCorp and say, hey dont tell me the answer - but lead me to where I might figure out how to solve this problem"

OR

"Hey joe, I did this - but i am not sure how efficient it is - did you do something similar?"

Tell them to get a slack channel of their peers to help them succeed.

I am tired of everyone trying to be the hero - all my contacts try to support one-another, the interview process should be no different.
I accept the trend. If you ask me to invert a linked list, I will also mentally note a big fat minus for company culture. I assume others do as well. So bad interview practice will lead to worse hires in the long term.
True Story:
I worked a few months programming in an open floor plan (all hardwood floors).

My commute from an to work was 3 hours each day.

The prog next to me was a Finger drummer + song hummer.

There was construction for a new building 20-30 feet from me (next building), and they were driving pillars into the ground for foundations (Booom Boom all day).

There was no AC during summer.

The washrooms/water would regularly be out of order for several hours ever 1-3 days.

All this happened simultaneously over the course of several months. I did finally quit, and I would not wish these conditions on my worse enemy.
> How should writing be taught to non-writers?

Sort of: http://paulgraham.com/essay.html
Dunno about hackerrank, but if you can consistently do well on topcoder algo or codeforces competitions, that's beyond having memorized stuff -- that's being genuinely good at problem solving, and having a broad base of knowledge about important algorithms. I'd be happy to work with you.
I am not sure how you can say these games "don't have a whole lot to do with programming". They are programming.

Maybe you didn't ever have the experience of programming on an 8-bit CPU and don't get the joke? The machines in these games are comically limited, "this is like the cruftiness of an 8-bit CPU but even worse". The funny thing about TIS-100 is that it's a speculative fiction game, postulating an alternate reality -- what if we had gone down the path of multicore CPUs back when they were still super-primitive?
My belief is that humans are pattern matchers, even in the context of abstraction or logical thinking. The pattern of skill transfer is the experience of transferring skills. That opens the mind to the pattern of colliding different learned patterns into situations that seem not relevant just as patterning the logic leads to being able to develop logical proofs because the pattern of doing logic is being recognized.

For example, proving an identity looks like solving an equation. So that is why many students naturally put down a proof that looks like solving an equation. And it can be a proof if the observation is that for each x, the statement holds as all steps are observable. Students rarely make that last step, however, because the pattern they are following breaks down: 1=1 has no expression of x. They kind of just move on at that point.

By contrast, someone trained in mathematics would most likely prove an identity by taking one side and transforming it into the other side as they have the experience of that flow of proofs and the goal there is clear: one stops with the right-hand side.

It is not logical thinking, but logical pattern application. Transfer skills are similarly learned. We all have them, after all. I have never met anyone bothered by counting markers being a different skill than counting pebbles. But that is a skill transfer too. It just happens at such a young age and is so ubiquitous that we don't even notice it.

I would be surprised if meditation helps with any of this. It helps with many other things, such as being more aware of events, particularly emotional states, as that is the pattern being developed, but it is hard to imagine it will help bridge the gap of checkbook balancing to general numbers. What one needs is the experience of numbers in multiple contexts.

The pattern in the patterns is the path to abstraction and it no doubt takes a number of patterns to get there. And learning the different kinds of abstractions requires different kinds of patterns.
RegPack – self-contained packer for size-constrained JavaScript code
I think this mentality is actually wrong. I've definitely met good engineers who were rejected for jobs they were qualified for because of these questions, but I've never met someone who was extremely good at these questions who turned out to be a dud after hiring.

I don't disagree with the hate towards the current interview process at larger companies, preferring take homes myself, but I think it's harmful to say that all they have to do is "memorize a bunch of ... techniques" - they're going to have memorize a whole lot to get through the interview process. In the process of memorizing (learning) those techniques, you're likely to learn a lot about the foundations of mathematical problem solving.

I guess I'm biased because I studied math in college, but I think we can both criticize the current interview process without taking away from the hard work of people who are actually passionate about algorithms.
Polyglot.camp: bootstrap for languages
What about Node.js's `vm` module?
To be fair, the paper is about optimizing your test cases and being realistic about what you can accomplish with testing. It is a push toward more efficient testing rather than the lack of testing.
Stringing together some OpenCV functions isn't hard engineering.
I wouldn't hold it against a Chinese company for not having a native English speaker. But I would hold it against them for not at least having a native speaker on retainer to proofread a document that they're about to send out to an international community. It just looks unprofessional.

And that's all it is, really. Stuff that just screams, "Did no one proofread this thing before sending it out?" Probably not. Because whoever wrote it was probably the most fluent person at the company.

---

FWIW, I have native-English speaking programmer friends who ask me to proofread their stuff. I don't mind. One is an amazing programmer, but his writing ability is somewhere around 9th-grade proficiency. The fact remains that being able to write correctly is considered a "bare minimum" quality in the professional world, and it doesn't matter if you wrote your own virtual machine in Assembly in your spare time--if you sound like a college dropout in your resume, they'll skip over you.

It is similarly difficult to inspire confidence in a CA when their "transparency report" sounds unprofessionally cobbled together.
CRISPR allows for the in place editing of your genome, which is going to be necessary to extend your life significantly or make you an above average human.
تحميل تطبيق Cloud VPN PRO لفتح المواقع المحجوبة للموبايل مجانا
Unfortunately, maybe it is ?

With apologies if I've misunderstood your intent, but what you said came across as quite condescending, and that's being generous.

In any case, for some of us it is the only way we can live at all, and without becoming outcasts at the fringes of society as used to be the case. To some extent we still are, as witness by many trying to hide their problems, not rarely because of the (apparent) intent and position you express in you comment. Yes it's a drug for many, for me it's a necessary evil. It's a locked and completely boarded up door becoming only locked with a rather shitty lock.

Our problems might not appear real to you, or it might be that you think chemistry is the wrong solution, it's hard to know from your comment, but I can assure you that while I would love to be without my chemical 'wheelchair', it's not realistic. Being able to be a decent father, keep a job, and tons of other things simply wasn't possible. I tried so hard I completely burned myself to the ground, while really only trying to do the things others take for granted. Like doing dishes.

If you call being allowed a decent life is being 'on speed', then by all means call it that. But understand that it's no different than throwing slurs at the quadriplegic, the blind, the deaf or the dyslexic.

In a different world I might not have needed my medication, who knows ? But as I can't change the world completely in my lifetime, I have to change myself, at significant risk.
The thing I dislike about the automated tests (and this might have been an option specified by the employer maybe?) is the nature of the test isn't revealed to you.

I remember doing one problem for one company, and the automated test suite just gave you "5 out of 6 tests were passed", without revealing what the 6th one was testing for.

I kept on having to think "maybe it's a null safety check here?", "or here?", what if the user passes -1 etc, but to no avail - the test just wouldn't pass.

The worst part was I gave up in the end because I had to move onto the next question, and they don't reveal at the end your performance and where you went wrong.
The more relevant continuation of Heng Li's posts is Pall Melsted et al's work on GFA: https://github.com/GFA-spec/GFA-spec

This is pretty close to my area...
There are more types of tests than manually written unit tests. There's a whole other world out there: http://danluu.com/testing/
Isn't it a bad omen for any industry when the most realistic career advancement path is management?
This has nothing to do with suing clients. Taking some kind of revenge, in a way that's almost certainly actionable, is not really in a gray area - I don't think there is any situation in which it makes sense to do this.

As for "being picky about clients", my second point above is indeed aspirational, and I'm sure not everyone can afford to choose their clients. That's my point. You need to realize, as quickly as you can, that you're better off moving to the kinds of clients that don't have these issues.

I say this because many people honestly don't understand or believe that better clients exist, or at least don't internalize just how different it is to work for clients for whom these kinds of shenanigans are irrelevant. It really is a different world.
Isn't contribution to others also a "fruit?"

If we speak of basic human needs, contribution is close to the top. And, safety, acceptance, accomplishment, acknowledgment and even approval are all legitimate needs.
I haven't tried it with your service yet - but I will now - thanks!
I'm the author. Ask me anything about it.
This looks excellent, a no-brainer purchase, but the one thing that really bugs me about all sims is that they just will never sort out the correct AoA when trimmed.

I know Austin flies, so the following is more aimed at him if he's reading.

With moderate care you can totally fly a Cessna 172, 152 etc. controlling the pitch just through the trim. Change the pitch wheel, and it affects the elevator, which affects the wing. The whole aircraft then settles down to the desired AoA which given a power input will cause the aircraft to climb or descend.

The specific short-coming of most sims is that trim input should settle the aircraft to a desired AoA reasonably quickly (subject to mild phugoid oscillations - mild pitch cycling) but it just never really does.

Typically, any decent pilot can trim the aircraft to the desired speed at some rpm, then just fly using light pressure on the controls adding or reducing power in small increments as needed.

Under say IFR, the workload can be quite high, and anything you can do to reduce the attention needed to maintain chosen course is critical.
odd I didnt see the comment any way thanks!
Can we get a tl;dr? 21 pages? Ain't nobody got time for that.