skysight-inc/HackerNews huggingface dataset:
This company has a completely different problem: no separation of duties. Start with talking to the CTO how this could have happened in the first place, re-hire the junior dev.

After all, if the junior dev could do it, so can everybody else (and whoever manages to get their account credentials).
I bought the paper book a long time ago and read it in an afternoon. Most of the ideas are pretty straightforward, not many of them are specifically game-oriented. Overall I came away thinking there wasn't much depth.

edit: I really enjoyed the writing style and illustrations. If anything, I meant the above to be encouragement to the author (should he happen to read my comment) to flesh it out more (perhaps by interviewing industry veterans, and converting their wisdom into this very easy to digest format).
Yahoo is dying, let's put Marissa at Yahoo to avoid being seen as a monopoly.
If someone sends a "Please add X, KTXHBYE" , then I can see why a simple "Add it yourself" might be the response.

I offer here a response that you can use to add as a mental sed stage when reading mail from people that work for free and have little time:

Add it yourself -> Thanks for your suggestion. I will make a note of it but it is unlikely that I have the time and resources to implement this. You are more than welcome to submit a well tested patch.
Assuming the details are correct, this should be considered a win by the junior dev. It only took a day to realize that this is a company he really, really doesn't want to try to learn his profession at.
Don't tell Etsy that
Same. I had instructions from a competent developer however. I would still blame whoever allowed production access as part of application setup, as well as the fact there isn't a process to back up this production data.
I don't think so. Mobile development is almost more about the underlying frameworks than the language itself. At some point Kotlin etc will have to wrap these things. The internal apple swift dev team will always be one step ahead of them as they will have access to the new frameworks before they are released to the public.

Also swift and kotlin are very similar. The folks from kickstarter gave a great presentation about their android/iOS app being written in Swift/Kotlin at a conference I spoke at (UIkonf). Their whole mobile team writes/reviews for both platforms.
Purely theoretical, but the presence of a 3D object can be detected by a 2D creature, by it's shadow, depending on relative positioning of object, 2D surface, and light source. What would a 3D shadow look like, with no need for a wall or flat surface onto which the shadow would be cast? For that matter, what would 4D light look like, if it even differs. Maybe the light we see is only a shadow of something from the 4th Dimension, or maybe a portal or doorway we have not yet learned to use to it's potential.
Overdrive 2
I wanted to try a more naive/slow/sledge-hammer approach of just setting up the cost function and throwing it at an optimizer.

I couldn't get it to converge and I am not sure if it's just the library I am using being buggy (numeric.js) or my cost function is just bad.

Cost:

const cost = (a, b) => {
// If a encloses b, returns 0, otherwise a positive cost
const dx = b.x - a.x;
const dy = b.y - a.y;
return Math.max(
0,
-a.r + (b.r + Math.sqrt(dx * dx + dy * dy))
);
}
let iter = 0;
const costAll = ([x, y, r]) => {
// Cost of enclosing all balls (which should be 0) plus cost of radius (which should get us the smallest ball)
const a = { x, y, r };
const radiusCost = Math.abs(a.r);
let encloseCost = 0;
for (let i = 0; i < B.length; i++) {
encloseCost += cost(a, B[i]);
}
const totalCost = encloseCost + radiusCost;
return totalCost;
}

Demo:

https://codepen.io/anon/pen/ZyEaaQ?editors=0010

EDIT: demo should work correctly after mbostock's hint below!
> I think in startup land - where devops takes a back seat to product - it's probably very common.

It is, but it need not be. It's pretty easy to set up at least some backup system in such a way that whoever can wipe the production systems can't also wipe the back-up.
[0] Kind of. It's a filter, so "false" means "do not advance". We have different Snaps for If-Else (the Snap would have 2+ outputs and you would route to a respective "branch" of the pipeline)

[1] They denote different categories - parallelogram = READ (i.e fetch data from somewhere), square = Transform (modify existing data)

[2] For Each Issue - for each object in the specific, targeted array of incoming JSON object... (basically split the array chosen)

[3] Correct

[4] You can adjust the rotation of each output, so it could snake around. You also can drag the output of one to the input of another that are not side-by-side and it will mark them as connected, so you have layout in any way. Finally, you could split up into separate pipelines and use another Snap to tie them together.

I don't think you are being harsh - I'm not sure there is any way for a visual programming language to be both powerful enough to permit massive customizations and concise enough to be immediately readable. Some level of interpretation has to be done.
I've done about ~40 or so technology due diligence projects for investors of tech companies. You'd be amazed how many security flaws there are out there. One of the most simple ones - storing production credentials in the git repo.
How would you write an attractive story about a polynomial equation? It's the same with job descriptions related to software development. We follow a planning, write code, fix bugs and implement features. Same goes for company A, B or C, etc. Dev tasks are fairly boring and JD's are covering that already.

About the extra BS in a job description... Well, it's just the tip of the iceberg. When you apply for a Dev role, the first step is to speak with an HR person. That's when you get the real dose of BS thrown at your face. Same goes for the hiring manager who lies about the project and your tasks during the interview in order to make it look more attractive. Then we move on to the whiteboard BS step where your "coding skills" get extremely well evaluated. Finally, you might get a low-ball offer just in case you endup saying yes without negotiating. At the end of the fiasco, you'll realize how similar your new job is compared to your previous job. You are probably now working for a much better company or product, but guess what, it's BS. You still have to be "productive" and fix critical bugs, write code in XYZ language while dealing with micro-management everyday in an agile environment where you're the doer, the developer. The original JD was actually fairly accurate. But how about culture fit? Did they even mentioned that during the interview process? Nope. All they want is someone who's extremely good at whiteboarding.

To really answer your question, the whole freakin hiring process is a business opportunity and that's why YC has already signed a lot of related startups.

Fixing job descriptions is like patching a tire. You should look at the global picture to find a real value and a lot of people are already trying to fix it.
Far as DRAM state, the separation kernel keeps the state of one process separate from another. Harder to do with a cache without defeating the performance-enhancing purpose of a cache.

"in fact DRAM effectively has an SRAM on-chip "cache" keeping the current active row per bank."

Had no idea. That could be a problem. See why we systems people defaulted on physical separation during most of the Moore's Law advances? Never know what hardware issue will pop up.
You also abdicate responsibilities; ie you leave them, as a king leaves a throne. You can abdicate a philosophical position, just means you reject it.

Eg https://en.m.wiktionary.org/wiki/abdicate
plot twist: dev will learn Monday this is a initialization joke and the whole company is laughing of all the threads he or she starts here and on reddit.
As others have pointed out, it's s-expressions (and possibly simply scheme) so reading and writing shouldn't be difficult. If it uses scheme comments, those will be a problem just as when transforming any programming language. I the other hand, if they syntax supports doc-strings, you're all set.

Add far as AST visitors, you're probably better off with XPath/XSLT tree transformations. (Anyone know of a suitable library?)

On the other hand, the don't-swim-upstream approach would be to use one of the best programming languages in existence, Scheme, you do your config management tasks directly, rather than an arm's-length parse, modify, write approach.
Startup visa program gives entrepreneurs permanent residency in Canada
Abdicate is correct here. It also means "to cast off", although that meaning is seldom used anywhere other than the phrase "abdicating responsibility".

Edit: not sure why I'm being down voted. I am correct: https://www.merriam-webster.com/dictionary/abdicate
Coming soon: More regulation!
People are designed to make mistakes. We should learn from them and try to be more understanding.
Either the CTO and his dev team are ridiculously stupid, or this was on purpose.
No, it's inappropriate. When the process fails you don't fire the junior employee that showed you just how incompetent the organization is. You fix the problem.

Firing this guy does nothing, fixing the problem does, but requires those higher up to admit the mistake was theirs to begin with.
There are always about 7 billion candidates. That we narrow the focus to people who are only willing to do the job for 25 million might be the start of your problem.
He should get that laptop back to them IMMEDIATELY. These sound like exactly the sort of douches would try to charge him with theft. (Edit: Why is it not surprising they don't have a protocol in place for managing dismissing staff and, like, getting their stuff back?)
Book+Awareness+-+Data+Lake+for+Enterprises
land of the uninsured, non unionized free
How does prevent fraud..maybe just some types? I dunno about this..
A web endpoint. So think of an HTTP endpoint where the request body gets turned into the input data and the query parameters become available to be used/mapped anywhere in the pipeline. It makes the integrations pretty dynamic.
Most start-ups would not be in a position to pay and if they were they usually would not realize they need that kind of help until it is too late.
Agreed. Also, why didn't they have a backup of some sort? The hard drive on the server could have failed and it would have been just as bad.

Sounds like an incompetent set of people running the production server.
The summary of the managed code in OS debacle is probably:

Rarely do you get something for free, and assuming that this time is different is more likely hubris.

And when you do get something for "free", it's more about making trade-offs that no one notices (JIT) or doing incredibly clever things in a layer abstracted enough that people won't have to concern themselves with what you did (language and compiler design).
Why are undersea cables buried? Sharks
He needs to return the laptop asap, like now. They are in full emotional mode and can overreact to what they might perceive as another bad act too.
He's / she's better off not working at this place. So many things wrong. Not having a backup is the number 1 thing.

I could see having a backup that is hours old, and losing many hours of data, but not everything.
We were paying for RDS right from when we were a 2 man startup. Zero reasons to not have a dB service that is backed frequently by a competent team.
Digging up and selling our coal has a range of horrible environmental effects both short and long term. Short term includes: massive use of water that we need for agriculture and environmental flows, destruction of marine environment from dredging so coal ships can get in, giant holes in landscape. Long term: more of the same ocean warming that's killed about 50% of the Great Barrier Reef already. Google Adani coal mine for more on what Australians are pissed about. If you'd like a more strictly economic argument, the sale price sure doesn't cover the damage.
If the bit about no working backups is also true, he's likely to need a new job anyway. :)
He might be inept, but in this instance the CTO is mainly just covering his own ass.
> using a turing complete language for config syntax causes pain

That may sometimes be so, but only as a general consequence of "programming computers causes pain". You can do something complicated, which can have a bug; then someone comes along with a half-conceived thought like, "that solution shouldn't have been doble in the config language; therefore config language caused pain".

A non-computational config language also causes pain. Sometimes to the point that a Turing-complete language is used to generate a configuration. Then you have pains like "# this was generated ... don't touch!".
Everybody agrees that the instructions shouldn't have even had credentials for the production database, and the lion's share of the blame goes to whoever was responsible for that.

There is still a valuable lesson for the developer here though - double check everything, and don't screw up. Over the course of a programming career, there will be times when you're operating directly on a production environment, and one misstep can spell disaster -
meaning you need to follow plans and instructions precisely.

Setting up your development environment on your first day shouldn't be one of those times, but those times do exist. Over the course of a job or career at a stable company, it's generally not the "rockstar" developers and risk-takers that ahead, it's the slow and steady people that take the extra time and never mess up.

Although firing this guy seems really harsh, especially as he had just moved and everything, the thought process of the company was probably not so much that he messed up the database that day, but that they'd never be able to trust him with actual production work down the line.
Yup, I've heard stories of junior engineers causing millions of dollars worth out outages. In those case the process was drilled into, the control that caused it fixed and the engineer was not given a reprimand.

If you have an engineer that goes though that and shows real remorse your going to have someone who's never going to make that mistake(or similar ones) again.
Or engineers who want more fairness.
I just don't think banks and so on would adopt the technology otherwise. This system makes it possible to use the same protocol for super high security application where you require a UAF authenticater with its own keyboard and screen. A bank just be hacked because somebody used a sup-par authenticater.

The good thing is that while a bank can force you to use some specific device, they can not stop you from using that same device in other places.
Correct, regarding his usage as a synonym for excuse, forgive or mitigate.

However, you can abdigate a responsibility. One can say for example that the CTO abdigated his responsibility to ensure the production database was protected and backed up.
That connotes a degree of misfeasance, though - to say one has abrogated a responsibility is to say he has failed to uphold it, where the sense intended here is more one of absolution or relief.
>Um. This isn't something where you can just run your reactor in different configurations at test time and run time.

No, but lying and having experts being, ahem flexible, about the expected safety is very easy, and par for the course when selling multi-billion dollar projects...

It's also very easy to ignore "black swan" event cases, and the potential impact to millions of lives, just because you think you've covered everything there is to cover.
Something tells me their production password was nothing like a 20-char random string...
The only problem is that it takes a group of people to make the move, you can't go their without convincing your friends to tag along
TDD – Towel Driven Development
At least damns damage only the area relatively near them. The implications of a nuclear catastrophe can impact thousands of miles around, including major cities.
JavaScript: JSHeroes and the making of a crypto challenge
> leaving as soon as there are any signs of trouble.

Spot on. When you have a portfolio approach to your investment thesis, there is almost no incentive to help your portfolio companies when times are bad. That being said, I genuinely do believe there is a subset of VCs (including USV) that will go beyond this and mentor startups past challenges.
DO you really need proof that poison is bad for you?
Well, the customers database with important data just got nuked, so even if there is protocol, people who would normally do the steps have different things in mind. Laptop and such is least of their concerns.
how can you, possibly, know this? conjectures about AI takeoff are just conjectures, but you claim to know that it "won't be something that springs up on us."
Unfortunately, software companies like that are everywhere, the guy is learning and screws up a terribly designed system, the blame is on the "senior" engineers that set up that enviroment.
I'm so sorry, I didn't mean to make it wrong, I tried really hard to put all the references in a list https://github.com/leandromoreira/digital_video_introduction... !

I'll fix these attributions but also feel free to point me more or even PR.
I think that in reality most companies (up to a certain size) or projects have people that are pivotal, enablers or highly influential. Not only charismatic leaders but also technical wizards, etc.

They might not be irreplaceable but they might be hard to replace, and if they leave in the wrong moment, it could jeopardise everything.

I guess having a management team made up of several Steve Jobs might arguably feel safer for the share holders, but it's probably hard to find them and make it work.

There are risks to manage; For instance, treat them nice so whole teams won't quit in rage. Treat the unicorns even nicer.
Perhaps, but in 2017 it is gross fiduciary malpractice not to have backup systems in place for production data and code. It would be grounds for a shareholder suit against the principals.
I have no dog in this fight, but I downvoted because your subsequent edits are not at all constructive.
"Yeah the whole site is buggered, and the backups aren't working - but I fired the Junior developer who did it" Is not how you Cover Your Ass ™.
I've learned the hard way that "Everyone knows" can be a very dangerous (and expensive, in terms of missed opportunity) way to start a sentence. Just some food for thought.
> You should never allow a culture where one employee departure can endanger the whole project.

And yet, in practice, that's how the majority of shops are run.
Ex-spy Says NSA Did Mass Surveillance During Utah Olympics
There are several 4D games, but the one I found gave me the best grasp of the 4D world is this one [1], a puzzle in which you manipulate a hypercube. You first play in 2D and 3D before going to 4D. You end up with an intuitive understanding of 4D.

[1] http://harmen.vanderwal.eu/hypercube/
> XSLT

> one of the best programming languages in existence

Every reply just adds to the already extreme comedy value of this exchange, and only serves to further increase my disdain. XSLT? Oh my God, the lengths you people will go to. There is already enough bad science in here to fill a book.
Why can it only touch three circles? I can draw as many tangent circles as I want to for any given path.
I don't think it's right to say that people "just forget the negative stuff". To me, the difference in getting older is that I can assign meaning to my suffering. Whet you're suffering as a kid, it seems pointless and painful. As you get older, you have time to see others experience pain and also play through enough hypothetical scenarios that you can find meaning in your own suffering. This, I believe, is one of the secrets to being happy. It is why we often hear stories of resilient cancer survivors and mountaineers who never gave up. Finding purpose and meaning in your suffering is what makes it bearable. This is also a compelling argument for the merits of religion.

I don't think people "forget" pain. They just earn a perspective on the pain that doesn't cause them pain. Usually this perspective includes some link to the present in opposition to a potentially worse outcome which makes the past sound rosier to an outsider.

Tangential point: you don't always get credit for toking things seriously, but you do always get credit (in one form or another) for being lighthearted, and these two things are not orthogonal. I believe this is also why our narratives shift.
Just a note that NPS uses a scale with low predictive validity and you should probably tell people to stop using it.

https://en.wikipedia.org/wiki/Net_Promoter#Criticism_of_NPS
No, sorry, and it's important to address this line of thinking because it goes strongly against what our top engineering cultures have learned about building robust systems.

> Over the course of a programming career, there will be times when you're operating directly on a production environment, and one misstep can spell disaster

These times should be extremely rare, and even in this case, they should've had backups that worked. The idea is to reduce the ability of anyone to destroy the system, not to "just be extra careful when doing something that could destroy the system."

> Although firing this guy seems really harsh, especially as he had just moved and everything, the thought process of the company was probably not so much that he messed up the database that day, but that they'd never be able to trust him with actual production work down the line.

Which tells me that this company will have issues again. Look at any high functioning high risk environment and look at the way they handle accidents, especially in manufacturing. You need to look at the overarching system than enabled this behavior, not isolate it down to the single person who happened to be the guy to make the mistake today. If someone has a long track record of constantly fucking up, yeah sure, maybe it's time for them to move on, but it's very easy to see how anyone could make this mistake and so the solution needs to be to fix the system not the individual.

In fact I'd even thank the individual in this case for pointing out a disastrous flaw in the processes today rather than tomorrow, when it's one more day's worth of expensiveness to fix.

Take a look at this:
https://codeascraft.com/2012/05/22/blameless-postmortems/
> If you sell the equity for money only certified investors are allowed to invest. You now also have a investor whose word carries some weight on your company.

Finance types are a creative bunch. The industry has spent a good amount of time trying to poke holes in securities regulation since the 1930s. Regulators and prosecutors have expended a similar deal of effort suturing the loopholes.

The thread interfering with your idea is the symmetry between securities purchased for cash and securities purchased with "services rendered". Securities regulators and the IRS take a broad view of the latter. The former would likely be more vigilant if unaccredited investors [1] were "buying" these tokens, and even more so if such transactions were taking place next to accredited investors getting bona fide stock.

[1] https://www.sec.gov/fast-answers/answers-accredhtm.html
> It was their fault, plain and simple.

<off-topic>A wonderful example of the shortcoming of the singular "they"... :P
I was just watching a code challenge where a guy tried to make the game of Snake in 15 minutes (it took him 30 minutes.)

That introduced me to the P5 JavaScript library, and with that I was able to get up and running with just a web browser, an index.html page, and a script.js file.

I'm almost done with my clone of Snake, and after that I think I'd like to try a top-down shooter. I'm thinking of a simple runaway-from-zombies game.

Anyways the channel was The Coding Train on Youtube:
https://www.youtube.com/watch?v=AaGK-fj-BAM

Man, it's good to get back to fun side projects!
the correct name is Audience Monopoly. Which so far have been relatively transient.
Indian Hemp Oil Cures Girl of Deadly Seizures