skysight-inc/HackerNews huggingface dataset:
That you were surprised by the comments in regard to the gender/race of the authors is telling. I think standpoint theory is too often weaponized and not used in good faith, but that being said, listening to and reading the words of people not like you is crucial in understanding the world. Some great works are not read because of a sexist and racial inertia jumpstarted a long time ago and definitely present in the 19th century. It might seem stupid and trite, but searching out voices unlike your own is important. No one is faulting you for anything, lets make that clear.
This is really interesting. My team is currently solving the question of ephemeral env vars through a lot of wololo (for you Age of Empires players out there) in terraform and PUT-ing the results into a local consul cluster.

Being able to instead write an env and have my application not particular care where it retrieves it from as long as a library is available is something I'm going to put in front of the rest of my team on Monday.
Eh... i’d disagree. But what do you mean by “Top Notch”?
This part doesn't make sense to me:

want proof you are not discriminating against a protected class

If black people are poorer on average, then even if the system takes only takes personal history in account, black people will inevitably get worse credit rating on average. It just follows from the premise, unless banks participate in some form of race-based redistribution which I find distasteful. How's it supposed to work in your opinion?
The big problem with relying on scripting conventions isn't the scripting; it's the lack of a solid foundation to build those scripts from, requiring each script to separately implement service management, probably by copy-paste. What systemd gets right on that front is that you do need a daemon, preferably rooted in init, to spawn services so that they run in a clean, consistent environment.

Beyond that, systemd's extensive scope creep makes the system less robust and more complex than it could be, compared to predecessors which some of us have been working with over a decade, such as the daemontools family (runit, s6, nosh &c.) of supervision systems.
I've never seen an openstack implementation that wasn't horrible. The reason more people use k8s is it's actually less useful than openstack, which makes it more opinionated, which makes its implementations more uniform. Plus, most people deploy it either on top of an openstack or other cloud platform.

You should not build your own cloud platform; that much is obvious. It's less obvious that you should not build your own k8s, because it seems simpler and more useful.
I tend to think being able to locate, describe and manipulate objects in native memory tends to define a low level language as is the ability to control latency. These are the reasons most garbage collected languages aren't low level.

Garbage collection traditional means you can't meet hard latency contracts. And by definition you have no control over where garbage collected objects are in memory.
Guys, come on, please. This app is an improvement for women in Saudi Arabia. It lowers the barrier to their being able to travel. It isn't always about just keeping your hands clean. You also have to sometimes help people. And it may leave your principles sullied but what are those rigid rules good for if they don't help someone be free.

If we say we're not going to participate in this and then we turn our backs on them we've made their lives so much harder and given them no help. Tomorrow you'll forget you participated in an outraged comment thread and move on.

But Saudi women will still be there. And all that they'd have for it all is that their lives are harder.

Please, refrain from boarding the outrage train this time.
> For some inexplicable reason the postfix operators are usually taught and learnt first, and thus considered more natural

The (unary) postfix operators might have semantics that are more surprising than the prefix variants, but the postfix syntax itself feels a bit more natural and fitting with other syntax of the Algol language family, IMHO, when compared to the prefix syntax. I think that's what leads people to introduce it first.

You can sort of read `i++` as an "abbreviation" of `i += 1`—in both cases, you've got an operator that follows an lvalue variable, and which both reads from and mutates the memory referred to by that variable. The only difference is that one has an additional "argument"—the amount to mutate the lvalue by—while the other has a "default" argument of +1.

`++i`, on the other hand, is a surprising bit of syntax, the first time you see it. It takes (and mutates) an lvalue... on its right! None of the (few) other unary prefix operators in Algol-like languages take lvalues, so it's kind of a shock.

(Also, for newcomers to programming, unary - [numeric negation] is commonly interpreted as part of the grammar of a number literal rather than being an expression; and unary ! is commonly seen as just "part of the language" (i.e. less like & and |; more like && and ||). Unary ~ is the only one I'd expect it would occur to any new programmer as even being a "unary prefix operator" rather than just "the way the language is." And it's a pure-functional transformation of its input.)
This is ludicrous and a deft usage of intellectual dishonesty. There are not fewer female essayists full stop. By even suggesting something that is demonstrably not true you are entering the ranks of hucksters the world over.
> with managers with no IT knowledge running IT like a plant floor, ...

So why don't you join and try to change things for the better?
OCaml is more of a multi-paradigm language than Haskell. It's not purely functional, so you can easily fallback into imperative code if you need (you can use mutable variables, I/O, mutable arrays, hashmaps, for loops, while loops, etc.). It's also object-oriented (though this feature is not widely used) and has a very powerful module system that few other languages can compare to.

What I like about it from a learning perspective is that it makes a transition into functional programming much simpler than it would be with Haskell, where you have to completely change the way you program from the very beginning.
Recore+Coupon+Canada+Awesome+Night+Sleep
> Are you saying there’s a tool that will let me work with (superior) tabs but have standards compliant commits?

Yes. It's an autoformatter and it will make you never care again about tabs and spaces and other unimportant issues us devs love to bicker about. Focus on the higher level stuff instead :)
Novartis’ CEO is “un-bossing” his 125,000 employees
> I am in my mid 40s. Yes, I don't have nearly as much energy...

Do people in their mid 40's have less energy for some reason? Do you exercise regularly? Do you get enough sleep? Do you eat healthily? You don't mention anything about a family obligation taking up your time. I am 41 and I don't have any lack of energy issues. I don't think it's a 40's thing, more of decades of bad lifestyle decisions catching up. Which I don't think should be out of bounds for a company to consider when hiring as long as it isn't due to health issues beyond the candidate's control. I guess this distinction can get fuzzy, but I stress that there shouldn't be any reason why in your 40s you should have dramatically lower levels of energy than in your 20s.

Honestly depicting people in their 40s as having less energy does more harm than good. It's just feeding into the perception of older people as less capable when it's not true across the board. It's not OK. I don't have less energy, I have tons of energy and I'm sure many people older than me do as well.
SFBA income tax, state and federal, would leave about 55% of that, then, so, as usual, California is expensive.
I don't think that comparison is really valid. I know tons of companies that run virtually all of their CRM on Salesforce, and this isn't going anywhere soon, nor do these companies have anything that they are planning on transitioning to.

With Oracle, though, I think it really is a lack of technical positioning rather than any "devs hate them" sentiment that is a real existential risk to them long term. Lots of senior execs realize that Oracle's cloud technology is a joke, and more importantly their crazy licensing model makes it a major PITA to run Oracle DBs in any other cloud, and perhaps even more importantly that a lot of changes in dev architecture are making the huge, powerful, monolithic database less critical than it once was. Sure, there are lots of legacy mission critical apps that live and will live on Oracle for a long time, but executive leadership at many companies is now starting to see this (appropriately IMO) as a competitive disadvantage, and they will make choices to try to extricate themselves from Oracle as much as possible.
I've seen them drop the name numerous times before. I have no problem with Polar (other than it not working for me at all), but constantly seeing the link dropped makes it feel a bit Ad-y and, especially on HN, people tend to distrust /be annoyed by people doing this.
I believe OCaml isn’t as strict about side-effects as Haskell, so if you don’t want the side-effect ceremony Haskell sort of forces on you, OCaml might be a good choice. Also, OCaml is strict by default and had a fairly good compiler.
>That Mr. Cotten did indeed die is a certainty among police and medical professionals in India, and The Globe reviewed hotel, hospital and embalming records that give no suggestion of anything abnormal. Each record contains images of Mr. Cotten’s passport. Jayant Sharma, the doctor who treated him and produced a medical report about his death, confirmed that the man he saw matched photos of Mr. Cotten.

It seems like they saw apparently valid records and a doctor confirmed that he witnessed Cotten die. That doesn't seem especially compelling - what else would the doctor say? "No, I lied and forged his death certificates in exchange for money. Please end my medical career and send me to prison."
Expose of the National Security State
Timeless Laws of Software Development (2018)
That latter point is how I do a lot of my syntax-related bug finding with Emacs: press C-x h Tab, look for where the indentation starts to look unexpectedly wonky, fix the issue that caused it, repeat.
This is what makes fairness so challenging. There isn't a clear place to draw the line, where certain covariates are permitted and others are not. Intuitively, what you are saying makes sense---your financial situation is a consequence of your choices, whereas things like zip codes are correlated both with your choices (i.e., I chose to live here) but also your race (e.g., due to lasting consequences of racial bias). Thus, we might decide that it's fine to use financial history, but not zip code.

Of course, things are not so clear cut. Your financial situation can also be a consequence of discrimination, e.g., if you were denied a job or unfairly arrested. At the end of the day, some human has to sit down and decide what is OK and what is not. Personally, I believe the goal of research on algorithmic fairness should be to give the people who will ultimately make these decisions (e.g., judges, politicians, etc.) the tools to understand both broadly, the kinds of things that can go wrong when using algorithms, and also to understand what might have gone wrong in a specific situation.
In principle I agree with what you are saying. We have to be a bit careful, however, since past financial history may have itself been biased by prejudice, e.g., if you were unfairly denied a job based on your race. Of course, we sometimes have to draw the line somewhere, and personally I agree that using previous financial behavior probably is fair.
It's just an interesting historical perspective, they don't have a heavy-handed agenda or anything. Augustine's perspective is interesting:

> Remove prostitutes from human affairs and you will destroy everything with lust.
You really need to talk to a professional about documenting your $35,000 loss. The IRS gets very nasty about stuff the looks out of line with their expectations.
"some" being the keyword. It's understandable if there's a scramble if the codebase you're directly responsible for goes down.

I think it depends on how much sysops/devops is involved in your job or if that's a separate team. And how robust your codebase is etc.
Folks living there would be dead.
Even if there were no other advantages to Prettier, I would use it for this. It seems barbaric to write in languages now that don’t have something similar happening on save.
Considering neither is the language I use for work, but just as a hobby, I often forget how to write code in these languages after a while. The amount of time to get back on track to write idiomatic OCaml is almost instantaneous as opposed to Haskell.

Disclaimer: I've written far more OCaml code than Haskell, so maybe my opinion may be biased.
> Thank you for writing this post. Whiteboard code interviews get a lot of hate on HN and I suspect that folks who have come to rely on them for part of their hiring signal have simply stopped posting.

It seems like there's a population of engineers that is perpetually interviewing. I think the people that post significantly about this are people that are struggling with frequent interviews, and correctly or not, lash out at whiteboarding as why they are having trouble.

Maybe there's some large pool of otherwise qualified people that just can't pass interviews and are being passed over because of it, but I really doubt this is significant.

My personal opinion: I don't mind white board interviews. I'd do a take home test, but I would prefer a traditional interview. And being a short term contractor (also comes up frequently in these threads) as an interview process is obviously impractical.
From http://www.cs.cornell.edu/courses/cs3110/2019sp/textbook/int... :

> Milner received the Turing Award in 1991 in large part for his work on ML. The award citation includes this praise: "ML was way ahead of its time. It is built on clean and well-articulated mathematical ideas, teased apart so that they can be studied independently and relatively easily remixed and reused. ML has influenced many practical languages, including Java, Scala, and Microsoft's F#. Indeed, no serious language designer should ignore this example of good design."

What does 'award citation' mean in this context? Surely it can't mean the blurb around the original award back in '91.
Correct.

It is valuable feedback though.
I wonder why they choose c# over other language common for scripting / gaming engine, like lua c++ or even java. I think C# is good and designed well (over java), and I wonder if it's the same for them.
Hey HN lurker here! I've been thinking of starting a Toronto HN meetup for some time too. Structuring it as a one person job seems a little too much though.

More happy to chat and see if we could coordinate something.
> One way

That’s actually four ways. But they’re all good.
Beauty: http://www.cs.cornell.edu/courses/cs3110/2019sp/textbook/int...
Indeed. Even in the middle ages they knew prudishness was counterproductive.
I'm not jumping to anything. Rather, I'm sharing my observations. I've been in the field for 20 years, and I stand by my point, which is that spaces will always find their way into a project. Projects that use tabs inevitably end up containing spaces too; not because of an intended specialized use case, but because of human nature.
This is one of my favorite paradoxes too. Here's why:

"... given the same table, one should sometimes follow the partitioned and sometimes the aggregated data, depending on the story behind the data, with each story dictating its own choice. Pearl considers this to be the real paradox behind Simpson's reversal." [0]

[0]https://en.wikipedia.org/wiki/Simpson%27s_paradox
How to quickly check which processes are using most swap space in Linux
It seems that award citation isn't exactly correct. See https://amturing.acm.org/award_winners/milner_1569367.cfm for where the blurb can be found.

It appears to be part of a biography that one can find for every Turing award winner. It's unclear when these blurbs were written or for what specific purpose.
It's more that family demands tend to be less friendly to time shifting. You can't just put off feeding your kids, grounding them for getting into trouble, or changing their wet sheets at 2 a.m.

Single people (and empty nesters to be fair) can more often skip some happy hours or some intramural games.

And to be even more fair, once employed, it seems parental excuses (my kids blah blah) get more understanding than single excuses (I need to actually date, my boyfriend blah blah). But I'll wager the interview process is more complicated for people with families.
It's not, I still have the email exchange from a couple years back - I thought of posting it somewhere because it was so odd, but I dont have a blog and I am not interested in publicity.

Amazon still doesn't offer a bug bounty program to my knowledge. Also, it's the only cloud provider my active security researcher friends tell me that attempts to regulate them by some weird pen test authorization requirements which are very foreign to industry standards of other cloud providers.

I'm just on the side lines watching, but there is a difference of how transparent AWS vs. GCP vs. Azure are when it comes to security. GCP > Azure > AWS
> One of the best introductions to the field is going through overthewire’s bandit vulnerability games.

Never knew about these. I'm visually impaired, so a text-based system like this appeals. Thanks!
They could always turn to immigration. Large swaths of developing Asia and Africa would love those salaries. Immigrants are easy to track too since you get all their biometrics and can scare them with taking away visas if they do any counterrevolutionary activities.
Huh? You say "[I wouldn't] force my editing preferences on others", yet you want to insist on inserting invisible whitespace characters into shared source code. That seems inconsistent to me.
It got a bit rambling and repetitive, but I agree with the thesis. Politicians seem to just think of their short term (job-)survival rather than the planet, although arguably they think "I need to win because if my opponents got in power it will be a disaster.".

And I remember from this story https://www.theguardian.com/news/2018/apr/17/get-rich-quick-... how the minds in Silicon Valley are just being paid VC money to write stupid apps e.g. "Uber for laundry".

The text ends with "It's our generation's challenge.". Pfft. I'm quite apathetic about it, I feel like we're on the Titanic and it's fatally sinking, and there's nothing left to do but enjoy the last moments of our lives. (Apparently this makes me analogous to the Christians who can't wait for the rapture to arrive).
If you don't have a compiler, you probably don't have a disassembler...
I remember getting to work and finding out the Nebula folks had disappeared without warning [0]. On April 1st of all days. Led by Chris Kemp (@kemp).

Next virtualization cluster was KVM/libvirt-based and automated with Ansible. That particular company didn't want to hear about OpenStack anymore.

0 - https://blogs.dxc.technology/2015/04/02/nebula-openstack-clo...
Stoicism in the Workplace
Presumably Saudi Telecom. Not sure why you're focused on the carrier. Why not simply demand your phone company not connect to Saudi Arabia's country code?
I wonder if anyone has "cobra effect"ed the bug bounty world yet.. whereby they leave vulnerabilities in their code in order to obtain a bug bounty.
I can empathize with your viewpoint, but I feel that your interpretation is too strict. It's good for you but not for me.
He's right /u/goodroot, the $45,000 writeoff should be done quickly so it's counted in the bankruptcy filings.

Edit: We're all joking, but you should tax writeoff the stuff. You can't exactly exercise your losses, so this will be game over. Be aware this makes you illegible for future bankruptcy proceeding.
A cautionary anecdote related to high-intensity exercise:

A few months back I did a bunch of negative pull-ups [1] in an attempt to strengthen my pull-up muscles. The next day I was the most sore I've ever been in my life. Two days later the soreness increased. My arms were stuck in a 50 degree angle. I couldn't bend them straight or curl them up all the way. I had an intuition that something was wrong, checked the symptoms on Google, and saw something about a weird condition called rhabdomyolysis [2] where your muscles are so damaged that they start releasing damaging proteins into your blood that can damage your kidneys. Again, my intuition told me to go to the ER right away, which was unlike me because I'm your typical guy that usually trusts that my body will heal on its own. The doctors thought it was highly unlikely that I had rhabdo, but they ran the blood tests anyway, and were surprised to find out that I had diagnosed it correctly. I was hooked up to IV for 4 days after that, 24/7, pissing huge amounts of water every hour or so, because the only treatment is to just flush the proteins out of your system. If I hadn't gone to the ER that night, and had slept through it, I very well could have destroyed my kidneys.

At the ER the doctors told me that rhabdo cases were on the rise because of HIIT classes pushing people past their limits. From what I understand it's a rare condition, I think only 1-5% of the population at risk of it, but it doesn't hurt to know. The bigger lesson from this experience for me was to be more careful about pushing myself past my limits. I'm only 29 and I already see that my body can't take the beatings that I used to give it. Ironically I'm exercising every day now but am much more mindful of putting extreme strain on my body. I support high-intensity exercise, but I stop if I'm at the point where my muscles are exhausted and I no longer am doing the exercises with good form.

[1] https://www.bodybuilding.com/exercises/negative-pull-up

[2] https://en.wikipedia.org/wiki/Rhabdomyolysis
and then there's this awesome thing:

https://anvaka.github.io/ngraph.path.demo/

https://github.com/anvaka/ngraph.path
Building Backbone Network Infrastructure
This is true if by modern filesystem you're thinking something comparable to ZFS.

On the other hand, if it's the lack of journaling that's a turn-off, seriously consider soft updates (softdep). Despite being seemingly an evolutionary dead end due to implementation complexity demands (basically, it's only feasible to implement at the level where it's possible to diagram out implied dependencies between all primitive operations), it is still in some respects superior to the journaling approach.

In any case, I find that, from reading the design, it feels more elegant and fundamentally right.

http://static.usenix.org/publications/library/proceedings/us...
Yes, writing Haskell definitely takes a mental context switch. You kind of have to abandon the traditional style of programming in order to transition into it. Pretty similar to what writing Prolog feels like for example. In contrast, it seems like there's a more direct line between languages like OCaml/Lisps versus C/Java.
It's an interesting topic but I also find bizarre the relation with modern policy.

I'm both amused and horrified with the idea on the full sentence where your quote is portrayed:
>Theologians followed the teachings of Saint Augustine, who wrote that it was better for sinful men to frequent brothels than to “corrupt” their wives or other respectable women with nonprocreative sex: “Remove prostitutes from human affairs and you will destroy everything with lust.”

It's kinda silly to imagine a group of "celibate" men suggesting the practicals of prostitution instead of corrupting virtuous women with non procreative sex, and at the same time horrible to consider that in the context of bad contraceptive methods, the advice was to subject some of the women to be second class citizens.
Or you could "just" install a C compiler.