skysight-inc/HackerNews huggingface dataset:
Having been poor, for a lot of people, you don't just "go out and buy a laptop." You have to save up for it. You might be working two jobs while going to school just to cover the bare costs of tuition, housing, food and possibly transportation.

I saw one instance where it sounded like they had a computer, but not a laptop. (Or they were stuck in the computer lab.) Another said they wish they had a computer to help them jump-start a career for their family.

And like my sibling post points out, sometimes the laptops that are available for $150-200 really are pretty terrible. When you have a limited budget, it isn't appealing to save up for something, and then you buy it, and it's buggy or painfully slow, or unable to run the software you'd need it to for your classes.

And finally, when you don't have a lot of money, and you don't already have a good computer yourself, and you maybe haven't learned all the tricks, you don't know how to find a "good" laptop on the internet. (Not that it's wildly hard - Amazon has some decent ones, depending on price point... but you won't be coming from a place of confidence in your buying skills.)

The next step up seems to be - how many compromises can I avoid at my price point? (This is super common on SlickDeals: you see $600-1000 laptops, and people pick apart the CPU, the GPU, the weight, the screen technology, the HDD vs SSD, the amount of RAM, the build quality. None of them get all of those right because if they did, they would be $1200+ laptops, not deals!)
500 Uber staff in Singapore placed on “paid leave” after being acquired by Grab
I've done a number of informal tests on friends and family over the years regarding brace placement, and it's always been the same: For someone with NO experience programming (i.e. looking at what to them seems like a bunch of gobbletygoop - and what's a "text editor"?), adjacent braces make it appear more readable than same-line braces.

It's only people who cut their teeth on adjacent bracing that find it more readable.
Slow news day, apparently.

> The correct answer is that fat is converted to carbon dioxide and water. You exhale the carbon dioxide and the water mixes into your circulation until it's lost as urine or sweat.

For those who didn't know and couldn't deduce.
I am aware of these applications. I am not aware of any "smaller" practical applications that are derived thanks to the categorical interpretation, can you give any examples?
> If the ads were effective, isn’t that the whole fucking point?

The point of "might is right" and totalitarianism? Yes. The point of democracy? No.

> Nowadays, all you do is hear the media's description of what the candidate is saying, and one of the strange things about it is that politics is now presented in terms of politicians and not politics. I don't think the media is interested in politics, they're interested in politicians, which is a wholly different subject... who's doing this, about their private life, about their background, about what they must be thinking, might be thinking when they said something, why did they say it; but what they say is very, very hard to hear. And I think this is, in a sense, indeed quite deliberately, destroying the genuine democratic base on which people are elected.

-- Tony Benn
I'm old enough to remember the days when saying something was "Open Source" meant, simply, we had the sources for something and could use them for our needs.

Around .. '84 / '85, there used to be these great little systems from MIPS that ran Risc/OS. Any time we'd get an update to Risc/OS, we'd spend a few days rebuilding drivers and whatnot, for our production systems - these drivers were "open source", in that they required us to compile them ourselves. (I think they were from the PROGRESS RDBMS product...)

Back in the days of USENET, any code that was posted to groups like comp.lang.c was considered 'open source' - it was just a description of the sources, whether they were available or not. There wasn't any attribution of value - whether it was free or not - just whether or not we had access to it .. or not.

Nowadays there is all sorts of stigma and hubris around the subject - but back when computers were something you had to visit in a special room designed for the purpose, all it really meant was whether we had permission to read the source - and do things with it - or not. There wasn't a commercial value assignment, really, until the mid-90's, when people realised there was immense value in open source business models (RedHat, et al.) ...
Did you contacted Amazon to clarify gift-codes usage?
Intelligent and wealthy people care. That's the group of people who made facebook what is it today, and everyone else will eventually leave if the people they admire have left.
Ironically, this whole case seems to have turned him into a modern day Robin Hood. I'd say this disaster of a situation has done far from cause him loss of dignity and injury to his feelings. I'd say it's cemented a status that many aspire to and very few ever achieve. His personality has been magnified many times more than it ever would have been by this whole debacle. So to be awarded NZ$60K for this is hilarious. Award it to him for "inconvenience to his life" or "defamation", "libel" or "slander" or whatever, but "loss of dignity and injury to feelings" is disingenuous at best. The guy's infamy has reached heroic proportions.
Yeah I agree. Kim is not the hero we need. Maybe the one we deserve though.
When societies/individuals achieve high status and realize self-worth, they usually develop a generous and liberal disposition (not a bad thing). Unfortunately, when the position is threatened, they may go back to the survival mode and become intolerant.
which is also the key to bad luck.
Yeah, I agree with the list above except for that one. It always bugged me that idiomatic Javascript was like this. I guess Javascript just bugs me in general, though, too.
Peter Thiel – why the growth of cyptocurrencies is not like the Dotcom bubble
Angular Universal PWA boilerplate now with CLI support
Can you integrate it with bluetooth beacons?
Does the doctor's admin indicate the general gist of the document and have you initial any important sections? This seems to be common now in the UK - I think because having people sign a document isn't valid unless they are aware of the content in at least general terms (I'm pretty sure this was tested in court).

Assumed consent of an ignorant party is effectively no consent at all.
Totally agreed.

Seminal literally means "of seed." Seminal moments are the moments in life that "seed" your future. 99.99% of the time your life continue on exactly the same if you attend a funeral or you don't and if you attend a class reunion, or you don't.
I reckon $500 million should do it :P
https://www.theguardian.com/technology/2011/mar/17/us-spy-op...

https://www.theguardian.com/world/2014/apr/03/us-cuban-twitt...
Sign up for Facebook
A story about that from the early Apple team: https://www.folklore.org/StoryView.py?project=Macintosh&stor...
They may be at the forefront, but what does that mean exactly? They don't have the kindergarten age kids grinding the ore anymore? They're still sending people into unsupported mineshafts barefoot, but they're all now 18+?

All that said, I wouldn't highlight Apple's supply chain failings if their CEO wasn't out chastising competitors for the undesirable traits of their business models.
We've deliberately chosen to accept vendor lock-in with AWS. I probably should have made that explicit in the blog post.

We believe that the value we get from going all-in on AWS is greater that the potential negotiating power you may get by staying higher level and having the illusion of low cost switching to GCP or Azure.

This also accepts the risk that if AWS goes down, we go down.

I think both of those are acceptable risks/tradeoffs at this point.
How to do this in a for-loop:

for (int 1 = 0; i < length; i++) {
if (checkError(i))
continue;

... // happy path
}

You can also use a return statement inside the for-loop if you want to exit the entire function.
The userland in question is an NTP, a DHCP client and the init system / web interface. It really isn’t much code. Implementing these in Go reduces the number of moving parts, both in terms of libraries involved in the project and more importantly in terms of programming languages involved.

Have a look at the git history to see how little maintenance is required in practice. I have barely had to touch the code over the last year of the project. Just incorporating new upstream versions of a typical Linux userland would have been more work.

Also note that “distribution” is a rather big word for the few files we’re talking about:

/mnt/gokrazy-root % find -type f
./cacerts
./gokr-pw.txt
./gokrazy/dhcp
./gokrazy/ntp
./gokrazy/init
./user/hello
./localtim
./hostname

If my reasoning doesn’t convince you, so be it. Not every project has to make sense to everybody :). I wanted to do a pure-Go userland, and I’m happy with the amount of work this results in and the properties that come out of this decision (easily automated updates, massively reduced attack surface).
I think you bring up the main problem w/ using tcp vegas. It's not clear to me this will work with heterogenous requests. If the typical request time distribution is long tailed, it might never increase the window size.
And why alternatives like Telegramm are not an easy to use option?
Ask instead who would work for a Big Tobacco company, it’s the same thing. Not me.
Nvidia looks to the AI future
It does support dumping, as it allows lower prices than competitors who don't have such practice.
Good luck convincing your friends to buy any sort of IM application. It's already difficult now to convince them "just for privacy".
I was not aware of CA before recently. Wasn't the undercover videos of the executives admitting illegal doings only just recently released?
They should make a movie about this guy :D
Early returns work fine in Java and C# and Rust too, so I don't think that it's anything to do with dynamic typing, rather it's about how removing the burden of resource tracking from the programmer makes early return more viable.
Best Free Calling App in Tasmania
Not exactly the same but my JavaScript linter throws errors when I use "else" when it could be avoided.
I must admit that simply from the headline I assumed that this was about a person who should have been fired multiple times for gross incompetence but the city could not due to some grievance process gone wrong.
I think you make a good point--there is probably a natural limit or reasonable degree of extension when it comes to using mathematics as an explanatory framework or domain language. The tendency to over-extend its application probably stems from its abstract nature--the more abstract your system or calculus, the more readily it's made to fit as a potential explanatory mechanism or language for expressing problems in a particular domain. Because mathematics is so darn abstract to begin with, it's difficult, if not impossible, to refute, a priori, someone attempting something like a Marxist topology or category theory or algebra or whatever. The application of mathematical concepts is really only refutable a posteriori, after we discover it wasn't actually a useful or sufficient explanatory mechanism for the domain. Because higher level mathematics often operates at a level in which it doesn't restrict the set of entities its variable terms could resolve to or reference, it's not possible to refute its application to anything as nonsense until we discover it as such in the process of applying it.

You also get into a bit of a tangle if you believe mathematics is not some separable set of properties or things 'in the world' but an expression of some fundamental laws of human reasoning--i.e. it captures the way in which, whether we like it or not we simply must reason, because that just happens to be how the brain is constructed. If this truly is the case, and mathematics captures some fundmanetal kernel of truth about 'proper' reasoning, it should, in theory, be widely applicable in many human endeavors. For example, someone might argue, from this perspective, that something like function application doesn't only express some property or rule of reasoning with numbers, but rather indicates a form of processing or mental operation that underlies many if not all forms of conceptual reasoning. (Frege and Leibniz are two historical figures who play with some of these ideas in their pursuit of a universal language for concepts).
Well it looks like mistyped that. I meant the majority of the people. You always have some people with other views.
When you read through a part of your system that you've either never seen before or have forgotten how it works, do you also read all commit messages for all of that code? I'm asking because that's the only way I can imagine one can learn about the edge cases and surprising consequences in non-trivial systems if you have a rule about not using comments to explain them.
There are major issues with not using else - in that there is no obvious way to test whether it should be there or not. Any programmer returning to your code (or even you returning to your code a year later) can't know what the intention was/should be, and neither can the compiler.

I try (in C#) to avoid if/else completely (not always possible, but it's a general guide) and I try to work with ternary expressions instead. This forces you to explicitly consider the else case and explicitly state what the intention was. It also makes composition of code blocks simpler and often removes the issues of statement ordering.

You can take it further by using Option\Either\Validation monads to reduce the cyclomatic complexity [1]. This approach can allow for composable and reusable validation computations making the job of validation trivial.

By the way, this is more of a general point about if/else rather than the very simple case of argument validation that the blog talks about. I don't particularly have a major issue with a series of early outs in any function. But if you want to do anything more complex, ignoring else can be a source of bugs.

[1] https://github.com/louthy/language-ext/blob/master/LanguageE...
I'm with you on Allman style braces, prefer it and find them much easier to read.

As everyone else seems to use K&R I've just had a adapt over time :-(
"Same way comments are extra weight that should only be in public or algorithm/need to know areas.

"
Best thing I learned about commenting is: Comment WHY you are doing it... not WHAT. Code is the WHAT... Comment is the WHY
> Only "brilliant" code ends up needing comments.

Code shows what is being done. Comments should explain why it's being done.
I strongly agree regarding the simplicity!

A minimal gokrazy root file system is 16MB in size. On a 8GB SD card, I certainly am willing to sacrifice another 16MB to get A/B updates :).
The CEO of the largest corporation in the world is calling out his competitors for perceived moral failings in their business models.

I'm calling out the CEO of the largest corporation in the world for moral failings in his business model. I wish higher profile reporters were doing so.

The goal is not to sow discord, it's to highlight hypocrisy.
The Executioner’s Tale (1998)
You don't have to abstract this too much. Facebook's "controlling minds" are just one mind: Mark's. Facebook does what Zuckerberg wants it to do. And if he doesn't want to maximize profit, he doesn't have to.
Show HN: I made a minimalistic website to make exercise at work easier
It was probably autocorrect, but just FYI: en masse - it's from French, meaning something like, "in a large group".

https://en.m.wiktionary.org/wiki/en_masse
I agree. This is especially good when you have long method names and the method declaration might need more than one line. Having the opening brace on a new line clearly separates where the function/method declaration ends and the body begins.
I learned some Swift when it as at 1.2 and I'm happy to see it evolve so quickly and take common statements, like the optional unwrapping "very long `if let` statement" mentioned article, and simplify it. I really should get back into Swift.
That is very true. Also when societies/individuals don't have a long history they haven't had a chance to accumulate modes of thinking from the past that are no longer deemed appropriate but are difficult to shake off once acquired.
The generations of people who used email and phone primarily are simply getting older, I think. It kinda forces the hand of this alternative.

Of the soccer team, basketball, and parenting groups I'm in; more and more of my peers probably couldn't even define a "calling tree". To them, there's no "alternative" to group coordination other than social media.

It's just easier to reach out on [X Technology] because they already friend-ed each other the first day of meeting. And FB makes that easy with location-based friend recommendations. Who even knows phone numbers anymore? (Emails next...)
Baseline: sale of product sans _digital_ advertising.

I'm not saying digital advertising never works. I'm simply asking for what it incrementally offers over other channels generally.

By digital advertising I'm being very specific: purchased ad space, be it real time advertising networks, sponsored content, and similar. Not "influencers" or other branding efforts for which proving effect is unlikely to be possible.

Further, I can see a difference from launching a new product using digital means versus the (much larger) established companies migrating or updating their marketing portfolio to include digital advertising. But a new launch may be choosing a sub-quality channel. Knife company sales aren't going to be great on digital versus going to a trade show, say, so the margin is what rules the day.

My request is not unreasonable. Show me the proof, the diff-in-diff, the actual assessment of incrementality generalizable to the channel for established companies. Otherwise there are competing theories which equally explain the effectiveness or lack thereof of the digital advertising channel, such as FOMO/prisoner's dilemma.
It isn't as good as: https://mywiki.wooledge.org/BashGuide (which is the one that gets recommended on #bash @ freenode). Also: https://shellcheck.net
You aren’t really reducing complexity with the monadic approach, just replacing explicit control flow for implicit control flow masked as data flow. Debugging can become harder in the latter case.
> And if end users are less keen on programming, why should businesses make the investment in creating tools for them?

Alas, I feel that if we don't make it easy for users to become developers, they stay users.

Its not the other way around - clearly there is a market for developers/users. Its just that I think the dividing line is completely arbitrary, and enforced by marketing decisions - not technical or ethical ones.
Netflix can show movies at Cannes, they just can't compete for the prizes.
Every single contract should be this way. What's the point of a contract if it's clear that one of the parties cannot (or will not) understand it?
Wonderful, thanks for sharing this! It's useful that the kernels people have submitted are there as well and that there is a HN-style upvoting mechanism.

As an aside – I'm really curious to explore the datasets with "fake" in the title :)

https://www.kaggle.com/datasets?sortBy=relevance&group=publi...
Ethical hacking: Télécharger CEH V9 le cours complet
Did you mean to use for with no counter instead? If so - I strongly disagree. I much prefer
while(condition) {}
to
for (;condition;) {}

For one thing you can't misplace ";" in a while loop.

I agree that "do while" loops are unintuitive and rarely used, and thus the place to first check for bugs. Also they save very little so I just implement them as do(); while usually.

But I know people who disagree about that, too, and shout at me for avoiding them:) It seems what's unintuitive for me isn't so for others.
Ask HN: Hiring Node.js African developers
ClodBoost.io is an open source backend platform. We're looking to hire African developers primarily because we think there is an untapped market for high quality talent.

We'd pay one of the best salaries in your country and it would be cheaper for us long term. Win-win isn't it? If you're interested reach out to us at interviews@hackerbay.io
“Don’t trust anyone” is a bit strong, and probably counterproductive. Be careful whom you trust is better.
I'm not so sure Facebook is in the same category as vehicles, medical care and addictive carcinogens.
ACA allowed more people to get access to healthcare. This means increased demand. ACA did not increase supply of healthcare. This means higher prices, implying higher premiums and deductibles.

Your options are fewer now because you have to be bigger to able to absorb the costs of the extremely high cost individuals such as those with anemia and premature babies and cancer patients.

Everything you’re experiencing is because more people are getting access to healthcare, and instead of everyone paying for it via higher taxes, we’re paying for it via higher premiums and deductibles.

Only way to bring relief is through more supply of healthcare, which means more doctors (they lobby against that) and more medicine (they lobby against that too).

One solution is to marry a doctor so you can take advantage of the situation.
Now that I know you have that perspective, I'm curious what you meant by your previous question, "And what about now, how do you think that open source is good for business in ways free software is not?"
There are many who think that JS is not an acceptable means of developing applications for computers. It may be effective, but not acceptable.

(Disclaimer: I'm one of them, so this argument doesn't really appeal to me personally. I'd rather there were tools that don't require me to have a lobotomy to use them..)
David Spivak has done lots of cool work on applying category theory to many concrete systems like databases [1].

Brendan Fong has worked on applying category theory to things that act like interconnected networks, such as electrical circuits. This fits into a larger ambitious program that John Baez is part of to use category theory to understand physical systems that are still much too complicated to understand with current mathematical tools, such as ecosystems. Fong's thesis is on my reading list [2].

The two authors are doing great research, like this investigation of the algebra of backpropagation [3].

I really look forward to reading this too!

[1] https://arxiv.org/abs/0904.2012

[2] https://arxiv.org/abs/1609.05382

[3] https://arxiv.org/abs/1711.10455
'Big-Butt' Ant Delicacy Goes Global (2006)
Also, any non-trivial software project is going to end up needing workarounds for bugs in other software. And you really need to document those. Because otherwise someone is going to remove that second refresh() statement, not knowing that this works around a bug in OS version xyz.
Yeah, HIPPA has some holes you could drive a truck through. I also hate OAuth (so much focus on access, so little focus on what gets done with that access).
Add two zeroes. In commom common law, defamation damages are all, but damages: they are a sum of assumed and punitive damages. If accused is a corp., already large punitive damages are scaled to its size.

UK's record damages were in above GPB 2M
That's why I mentioned broader social media in general. This problem isn't specific to Facebook alone.
I use two-letter bash aliases for all my most commonly used git commands.

git status
git diff
git diff --cached
git add -A
git commit -m Hello
git push

Is instead just

st
dp
di
aa
cm Hello
pu

Additionally I also have

le

For

git shortlog -s -e

which I don’t use very often but often enough that having an alias for it still makes sense
Shopify Chooses Google Cloud Service Over Amazon
This reminded me of Kalanick falling on his knees in an absurd display of contrition: http://www.businessinsider.com/how-travis-kalanick-behaved-i...