skysight-inc/HackerNews huggingface dataset:
Yes. It’s easy when you can run it all client-side. The tricky part described in the article is making it work across no-JS browser and webserver.
It means the book has not been updated, at least in that part. And the first edition of the book was written back when computing power was seven orders of magnitude more expensive (or more). Is advice about testing from then really going to be valid now?
Yes, but this at least tells you how to draw the rest of the fking owl. https://farm4.static.flickr.com/3649/3523029611_12c3a0c9f2_m...
As mentioned in the document, continuation passing style can at times be a little difficult to read. That being said I found a talk that using continuation passing style to provide typed routing. [1]

This won't be the most efficient way to perform routing in an application, but i found the implementation really simple to understand and the error messages for the end-user seem really clear as well. It also helps if the language used allows for embedding DSLs that are easy to read for the end-user. (could be macros in lisp/elixir, well named functions with a little sprinkling of infix operators in OCaml, Haskell etc)

A little show HN in the comments: I've been exploring this approach and others [2] for comparison, and although i've moved away from this style as I progress in learning more OCaml, it was a fun little exercise to explore a CPS based typed routing approach. [3]

[1] https://dbp.io/talks/2016/fn-continuations-haskell-meetup.pd...

[2] https://github.com/anuragsoni/routes

[3] https://github.com/anuragsoni/routes/blob/0.1.0/src/routes.m...
Over time, I don't think the amount of stuff you have to learn in Haskell is more than in other major languages. Haskell requires that you learn some math, and that math had some large humps to get over. But it's a small number and you're actually just learning math, which is general and useful outside of one language.

In C++, I had to learn a bunch of corner cases and committee decisions. In Java it's a huge library and stack of idioms to get anything done. In both cases, that information didn't make me any better a programmer in the general sense, just a disappointed one in each language. I'd argue that the sum amount of information I had to learn for either of those languages was more than Haskell, because I can leverage the abstractions much more, and only need a few of them.

Monads, applicative functors, lenses, and you've got your primary toolbox sorted out. That's three humps. C++ has few humps, but it's got miles of an uphill march. I have no polite way to describe the Java experience.
hey ladybugs, get funky
Most people just use words in the former category. A lot of people wouldn't even recognise some of the words in the latter category if they heard them being spoken, as opposed to seeing them in writing.
Yes, they are Urdu words, not Hindi. Yes, they are more commonly used than the Hindi words you mentioned.

For what it's worth, मुजरिम is also Urdu. Not sure about आरोप, but I have a feeling that it's also Urdu, though I could be wrong.

Edit: read any Hindi newspaper these days, at least the online edition, and in fact you will find a lot of common Hindi/Urdu words being replaced with English words written in Devnagri.
I don't think you need to pass closures between machines but you do need to use "sticky sessions" so that your load balancers deliver all requests for a particular session back to the same app instance.

I haven't seen much discussion of sticky sessions in quite a while as 12-factor apps built around stateless processes have no need for them and that has been the dominant paradigm for quite a while.
Wonderful comment, bravo!

I think back to the early days (circa 2000 or so), before CSS positioning and float hacks were even a thing, working as the lead webdev at Upromise, meticulously hand-crafting complex layouts with nested HTML tables... you could nest them 5 or 6 levels deep before running into noticeable render performance issues in what must have been, what, IE4 and NN4? It really has been a couple decades, hasn't it. Kinda wish every FE dev had to follow the path the industry took to get where we are now...

/ramble
At a previous job, long ago, I was working on software to add tags to audio and video files. Some of the formats required modifying or adding data to the start of the file. Having to rewrite a multi-gigabyte file just to add a few hundred bytes to the beginning of the file is slow, and dangerous if there isn't room on the disk for a second copy of the file. (Not as much of a consideration now, but disks weren't as large or cheap in the mid-00s.)
Isn’t this how HN is implemented?
Software engineering is all about trade-offs and making sure stakeholders are fully informed thereof. Pressure to deliver is one of the most challenging problems an engineer can face, because it stands in opposition to every ideal. Yet it's about as normal as death and taxes.

Haskell sounds amazing. I would be thrilled to learn it, and I hope the ecosystem flourishes. I hope there will eventually be millions of jobs to write code in the language. I'm a little bit envious of those who speak fluently about monads and set theory, and I've learned a lot from brushing shoulders with those people.

Meanwhile, I'll continue solving real-world, extremely stateful problems in an as-purely-functional-as-I-deem-convenient manner with the tools I already have under my belt. You can pry my precious semicolons from my cold, dead, carpal-tunnelled hands.
How about:

'Introduction to the New Mainframe: z/OS Basics'
http://www.redbooks.ibm.com/abstracts/sg246366.html?Open

This, and the 'ABCs of Systems Programming' series were pretty good I thought.
I never tasted humans before.. ;)
How hard is it really to add your own analytics? Isn’t it just logging what your users are doing and sync it to your server when you get a signal? I was writing stuff like this for enterprise field service Windows CE devices over a decade ago.
As a huge fan of Civ IV, I've found the macOS version pretty janky. I have a generally better experience on my Mac by just using Steam In-Home Streaming from my Windows box.
> ...but the IBM manuals I've come across have been somewhat impenetrable.

I always thought that was intentional to maximize the consulting opportunities.
Formatting:

* 108 M1A2 Abrams tanks - US$2 billion

* 1,240 TOW anti-tank missiles - US$299 million

* 409 Javelin missiles - US$129 million

* 250 stinger missiles - US$223 million
RCA Dimensia
> On-Topic: Anything that good hackers would find interesting.

The fact that this has prompted over 40 comments and good discussion would seem to suggest it is on-topic.

Furthermore:

> Please don't complain that a submission is inappropriate. If a story is spam or off-topic, flag it.
Vinegar is only dangerous if consumed above a safe level, same with the sun, water, etc. Which was the point you seemed to miss. Toxicity is determined not by how it interacts with plants, but the safe level for humans, which is different than plants. Your assumption that everything is automatically dangerous is not founded in anything close to science or even evidence at this point. Prove that it's dangerous, it's been the most common and least toxic herbicide for years. Wouldn't you expect more concrete evidence to turn up similar to smoking, black lung disease, mesthelioma, etc? There hasn't been a huge upsurge in cancer rates, in fact they've gone down since glyphosate has been used. There is literally no concrete evidence currently that this is dangerous to humans at concentrations currently used. Find proof then I'll believe you.
Apple failed at in app advertising so badly years ago, I doubt they will go down that road again.
If you don't ask you don't get
Yeah, part of me wonders if this is just more a reaction to the apps market hitting the next plateau and one of the last impulse growth markets being kids apps. Once there is a special category it should create a new breed of app that would inherently get less complaints/refunds/etc.
https://grammarist.com/archaic/long-pig/
My understanding is that bird flu is deadlier for humans (see: Spanish Flu) but swine flu is considered more of a risk of mutating into human flu
Why even bother with core files if you aren't a developer? they are completely useless for an average user and are really nothing but a risk.
Does it have trap-doors for optimization like Clojure's transient data structures?
But you don't become a large company without first starting small. Even large corporations tend to use pilot programs in order to establish product market fit. Disney for instance tested their software on less valuable material before deciding to create Disney+.
Wait, so, someone on Twitter says something is fake news and we are supposed to just move on? Who are you? The president?
np, glad I could help. I avoided grid for a long time until I read way too many good comments about it not to dig in a bit until I was convinced as well.
> [...] interesting feature I'm glad some privacy centered companies are trying out

Craigslist implemented anonymized email as a core feature and found success.
Epileptics and others with strobe sensitivity: avoid.
check out maskmail.net it's basically the same thing
Turing Completeness is an important and interesting thing. It doesn't have very much to do with fitness-for-purpose of a programming language. Of course you can write * using +. That doesn't mean using one mightn't be significantly more appropriate to the problem at hand, or that returning error codes in a product type isn't the wrong call.
"Basic Bean Bodies".
I've found grid to be helpful even with just rows of data, no columns, using grid-gap to make space between rows, like in a standardized form.

But you are right, something like a gallery of images (unknown number of items that need to flow), flex seems more useful.
Great idea. You can easily buy a Mac Pro quad-core (single or dual cpu) for anywhere between $300 to $900. It's going to work on par with today's expensive machines :-)
As per usual there is a subreddit for this /r/restofthefuckingowl
They sure could, but is it worthy to maintain an alternative package and deployment system for which you have no use yourself? Will employees be careful and committed to something useless for their jobs?

They previously deprecated Java runtime for similar reasons. And I can’t really blame them, roadmap is crystal clear now, they prefer to assign ressources to develop Swift/Swift UI and improve tooling for native code development.
If you _have_ to support IE, I would just add conditional comments, and make all grid stuff one column and not worry about fancy stuff. IE users just can't expect the internet to pander to an outdated and unsupported browser. If it was supported by MS, I might consider a little more care though.
Xanax in Peru
I am in Peru and have access to boxes of alprazolam and oxycodone. I was wondering if you guys know how easy it is to get here like it is .
Nearly half of all child deaths in Africa stem from hunger, study shows
We play a great party game called 'Six Second Animals.' The caller names an animal and counts down from 6. Other players draw the animal. The caller picks a favorite and that drawer becomes caller.
Covering Commerce from Amazon to Zulily
br { display: none; }

fixed it for me...
Logging is easy.

Waiting for a connection and syncing reliably and testing that it works is a little harder -- annoying but not too bad.

Provisioning a database to store the data, maintain backups, index properly for queries etc., and maintain so it doesn't run out of space or degrade in performance as datasets grow by many orders of magnitude is an entirely separate skillset and harder still.

Visualizing it -- coming up with complex SQL queries and then dumping them into a graphing tool and overlapping different data series on the same graph -- will take forever. A big part of analytics is exploring and looking for patterns. The person with the business background doing the exploring probably isn't a programmer or a SQL expert. So a pre-built GUI for this is huge, and will be the hardest thing of all to program.

So, pretty hard.

Or... you can throw in a third-party tool with all of that, and have it all work in an hour or two.
> over time languages become closer and closer to Haskell

That's a statement worthy of highlighting, supported by examples below it. I'll remember that as I continue to study more languages.
I don't understand why they didn't use Java with ANTLR. It can also generate parsers in many other languages, but Java version supports more advanced stuff.

There's already parsing support for many languages, and the parser itself is world-class. It's used internally by tons of systems. https://en.m.wikipedia.org/wiki/ANTLR#Projects

I mean, I guess Haskell is cool, but their critism of Java sounds like more of a design choice than a deal breaker. Did they really need to reinvent this wheel in an unpopular language where almost nobody can reuse/improve their work?

I don't mean to be dismissive, but when your plans are to open source something corporate sponsored, you should do it in a way that benefits the community significantly. There's 20 other languages they could have chosen that fulfilled that objective better
No. Stop saying you're a new Google in the TL;DR. You have some Google-style services and an app; list them. Summarize the philosophy at the end of the TL;DR in one sentence max. Cover the community model (open source self hosted, paid service, federated blockchain something, etc) so people understand what's going on past the software.

We already know the critiques about Google. Nobody cares about hearing them again. We don't want an essay.

Tell us, in specific detail, what (a) bloom is and (b) how it addresses specific issues with Google.

Is this just about privacy/advertising? Is it about hosting your own stuff? Is it about the poor customer support Google has? The shutdown of services? The intelligence concerns with the us government?

We don't want to hear another nerd voice complain on the internet. None of it will be new. Focus on what you're offering.
I'd bet a lot of this has resulted from improvements in computation power. It used to be you couldn't afford to abstract your hardware away in a lot of real-world cases. Whereas now we can afford the programmer benefits of immutability, laziness, dynamic types, and first-class functions. Static things like var can probably be attributed to the same advancements happening on developers' workstations.
No payment necessary.

https://cloud.google.com/chrome-enterprise/browser/download/
Why wouldn't you ask?
Oops, I posted this to the wrong subthread.
> As the primary net effect of software is to facilitate bureaucratic complexity it is therefor essential that software projects fail

I love this conceptualization of what software is for. But I have the complete opposite moral interpretation.

Unstated is the presumption that bureaucratic complexity is bad. I think increasing it is the goal of society, and ethics constantly demand us to increase it.

For example, it’s easy for banks to simply reject loan applicants who were convicted of felonies. There’s no easy upside: given existing loan approval and repayment processes there’s no clear way to give those loans profitably.

There is a huge social cost to that group lacking access to credit though. It increases crime and violence.

And there is probably a long term financial cost too: some felons will reliably make their payments. And still more COULD reliably make payments with the right support.

So how does a bank separate out those groups and provide that support?

Increase bureaucratic complexity!

I am not necessarily in favor of locating that complexity in a state government. As an anarchist I would want to locate it as close to the affected community as possible....

But to me the dream of software is nearly infinite bureaucratic complexity that affords all of us greater freedom, and health.
Close:

> Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway.

— Tanenbaum, Andrew S. (1989). Computer Networks. New Jersey: Prentice-Hall. p. 57. ISBN 0-13-166836-6.
I worked for an 'on-demand' startup facing this problem and we simply ran a limited experiment which showed users full availability. We tried to back-fill any appointments for which we didn't have real supply, but otherwise sent out an 'oops' email and rescheduled.

While there was clearly a negative experience for the customers who went through the experiment and had appointments rescheduled, we did get a very good measure of true demand and were able to optimize some of our supply dynamics.
Yes, and what that means is that today's broad interpretation of the First Amendment (in the USA) is actually very recent in origin -- Brandenburg v. Ohio (1969) to be exact. Far from being "originalist", it reads intent into the Founders that wasn't there, as some of those same Founders would go on to pass the Alien and Sedition Acts, which wouldn't pass muster today.

It may be time to consider whether the experiment of being permissive when it comes to hate speech has been a failure that has caused more harm than good to society and its citizens.
I haven't seen any ladybugs here in Western Ohio in the last 7 - 10 years. We see a lot of a similarly-sized and shaped beetle that's orange with brown spots, but the familiar red and black-spotted ladybugs I remember from my youth seem to have disappeared. These orange doppelgängers come indoors in droves as the fall weather gets cooler. They mass in clumps in corners of windows around my house. They are not at all endearing like the ladybugs they seem to have replaced.
> The lack of care about API&ABI stability in developer facing open source projects (interpreters, libraries, frameworks, commandline arguments) is still bizarre to me: why make your work hard to use/update?

If you're a FOSS developer with limited time and man power (and if you're lucky, limited budget) maintaining backwards compatibility is hard. So hard, that new features and bug fixes might have to take a back seat to it. Also, I'm almost certain that developers would rather be implementing new features, and fixing bugs, ahead of maintaining backward compatibility. It's much easier to show a new feature or a bug fix, than it is to show how backward compatibility was maintained.

Also, the big users of FOSS, projects like Debian (and Ubuntu) and Fedora, will rebuild their entire systems when new versions of software are released/integrated. This reduces the maintainer's requirements to keep ABI compatible.
But here’s the thing: Grid’s regular handling of long terms is typically not actually ideal anyway.

Grid is just the layout (columns/rows), not entirely how text is handled. 3 & 4 are no different with grid, only word-break/word-wrap with forced/limited widths.

And 1 & 2 seem disjointed and hard to read (ie, break long held rules for readability), I don't see the value arbitrary space after the key. 1 & 2 would easily be better suited to this:

Key:
Value, even on
multiple lines

A long key:
Value, even
on multiple
lines

Or this:

Key: Value, even on
multiple lines

A long key: Value, even
on multiple lines
I mean, foreign feral pigs are a big problem in Oz. They aren't native to the recent ecosystem. But that whole cane toad thing didn't work out so good.
And is most commonly transmitted via blood and vomit - two things common with Ebola patients but are more easily controlled for when the illness is known.
Unfortunately the website I work on has more users on IE than any other browser. I wish I could use grid but there is just no point when the fallback would be the main way to see the website.
The Super Bowl of the Cloud
ANU data breach stretching back 19 years detected
This is a discussion of the phrase "such a feature would be entirely impossible"

You're now explaining to me in response to my previous post that some languages are a better fit in certain dimensions to perform a data transform? I think this is a discussion that needs to end now.
christ it was an honest/curious question. i luv HN, really
Clever how you frame humans not intervening by stopping the spread of this virus as humans intervening.
Getting asked to do any kind of fancy datastructure algorithm from memory would put me off your company. It has very little correlation with any real-world task. I'm very experienced and get a lot of shit done with high-load systems requiring careful resource management, but I couldn't be bothered with this. My portfolio should show you that I can do things.
Link? This sounds like it could be interesting.
It was definitely a tedious process, made all the more frustrating when all you wanted to do was play. But damn if your post didn't just make me smile from a wave of nostalgia.
> The right of free speech is that you can say what you want without violent repercussions, such as fines, prison time, or capital punishment.

This is merely one view of free speech; many people actively disagree with this view.

You can't take a contested human-defined concept like freedom of speech and say "this only means X, case closed." I mean, you can, but nobody has to agree with you.
Good write up and great job of NPM security team. Thanks!
> Think how many PDP-11's are around today.

Why does it matter how many physical machines are alive? There are tons of emulators around. There is even one in Javascript, with an ability to load disk images as well.

The hard part is hardware - the drives go bad, the computers fail. But disks grow, and it is getting simpler and cheaper to store lots of data. As long as you keep copying the files to modern media every 10 years or so, you should no longer have anybdata loss.

(The only exception is proprietary data formats which cannot be opened except by original program which cannot be run in VM easily. Those should be avoided at all costs)
From the text:" One of their difficulties is that the large, complex DNA virus that causes African swine fever has some 170 genes and 80 proteins, many of them specialized in evading different aspects of the pig immune system. "

So it is evolution, probably facilitated by certain conditions.

A huge amount of genes is also a weakness and might be targetted with specialized measures (like a proteine/gene-blocker). But the usual tricks wont work as well.
HTTP Status 418
They've got enough market clout now that people will
port Ruby/Python/Perl to a non-Unix macOS, just as
they port them to Microsoft Windows.

Ruby on Windows is a nightmare.

To be specific, Ruby itself (the core language and core libraries) are pretty good on Windows. Great choice for a scripting language, or whatever else you want to do.

But libraries like ActiveRecord, Rails and their myriad dependencies are very very hit or miss on Windows and there's not a lot of support when things go badly.

A lot of the issues are simple - like dead simple. Lot of gem authors don't bother to make things like file paths (forward slash vs. backslash) system agnostic. Or the gems depend on compiled binary stuff like Nokogiri or ImageMagick and those are always a bit of an adventure on Windows.

If MacOS drifts farther away from Unix they will cease to be the platform of choice for many developers currently using it today.
The Bolivian tree lizard cleanup strategy: https://youtube.com/watch?v=P9yruQM1ggc

Skinner: Well, I was wrong; the lizards are a godsend.

Lisa: But isn't that a bit short-sighted? What happens when we're overrun by lizards?

Skinner: No problem. We simply release wave after wave of Chinese needle snakes. They'll wipe out the lizards.

Lisa: But aren't the snakes even worse?

Skinner: Yes, but we're prepared for that. We've lined up a fabulous type of gorilla that thrives on snake meat.

Lisa: But then we're stuck with gorillas!

Skinner: No, that's the beautiful part. When wintertime rolls around, the gorillas simply freeze to death.

Ref: https://news.ycombinator.com/item?id=2743879