skysight-inc/HackerNews huggingface dataset:
> Are there (m)any advantages to doing this?

In the general case, as always, "it depends". I'm of the opinion that shell scripts are very powerful for quickly prototyping something, but as soon as you need to do real software engineering (e.g. test suites, etc.) then it's probably worth porting over to a saner language (yes, there are test frameworks for bash; no, that doesn't make bash's semantics any more sane ;) )

Piping data between subprocesses is almost universally painful in anything other than a shell, so these sorts of libraries are great for that sort of glue; I wouldn't use them for anything that's not a bog-standard "foo | bar | baz | ..." though, since that's what the rest of the language is for!

In this case it was a no-brainer: the project requires a lot of s-expression manipulation, which is implemented as small racket scripts; these are called from bash scripts which contain the main logic, data flow, etc. I wrote it this way since I'd never used racket before, but figured it would be better suited to this s-expr manipulation than bash, python, haskell, etc. (which it is!); the remaining parts were simple enough to do with bash.

This worked fine for a while, but a recent change in requirements has invalidated a lot of the code's assumptions, so I need to ensure I'm making changes in the right place, that test cases are updated to reflect the changes, etc. which motivates porting to something more sophisticated, and racket is the clear choice here.

I wanted to use a shell-interop library after previously finding Scala's "process" package to be very pleasant to use. It's certainly made the porting job much more manageable, as it just becomes a case of recursively refactoring each part:

bash:
echo "foo" | ./bar.sh | ./baz.sh | grep "quux"

racket:

---- Convert shell scripts to racket functions

bash:
echo "foo" | ./bar.rkt | ./baz.rkt | grep "quux"

racket:
(define (bar) ...)
(define (baz) ...)

---- Move pipeline over to racket

bash:

racket:
(define (bar) ...)
(define (baz) ...)
(run-pipeline '(echo "foo") '(./bar.rkt) '(./baz.rkt) '(grep "quux"))

---- Call racket functions directly, rather than invoking scripts

bash:

racket:
(define (bar) ...)
(define (baz) ...)
(run-pipeline '(echo "foo") `(,bar) `(,baz) '(grep "quux"))

---- Encapsulate stdio

bash:

racket:
(define (bar) ...)
(define (baz) ...)
(with-input-from-string
(with-output-to-string (lambda ()
(run-pipeline '(,bar) '(,baz) '(grep "quux")))
"foo")

---- Replace stdio with arguments and return values

bash:

racket:
(define (bar x) ...)
(define (baz x) ...)
(string-join (filter (lambda (line)
(string-contains? line "quux"))
(string-split (baz (bar "foo"))
"\n")))

---- Replace strings with more useful datastructures

bash:

racket:
(define (bar x) ...)
(define (baz x) ...)
(filter (lambda (line)
(string-contains? line "quux"))
(baz (bar "foo")))
Sorry, can you say more about your issue? We've always said we contribute (a ton!) to Kubernetes, but it's definitely not a commercial product, so we don't have a support for on-premises/non-Google Cloud deployments. That said (!!), if paid support is what you're after, please use one of the MANY organizations who DO offer support (http://kubernetes.io/community/ - about halfway down the page) and are huge contributors to the community.

Disclosure: I work at Google on Kubernetes.
What good is employment when it doesn't pay enough to survive?
So this is essentially the original Chomskybot?
I think you might want to reconsider this. Arguably the first ever accumulation of capital in human history was grain storage in the ancient river civilizations (Egypt, Sumeria, Indus, etc.). Stockpiling capital in the form of grain reserves allowed these civilizations to shift labor efforts from subsistence farming to a more diverse range of economic activities.
I think this is excellent feedback - we should revamp!

Disclosure: I work at Google on Kubernetes
This is very interesting. I think that the issue is probably true
Whoa that "mower demo" is really messing with my vim navigation muscle memory.
The .NET stack in UWP is essentially .NET Core
When the story first broke, I manually untrusted WoSign's and StartCom's root certificates in OS X, instead of deleting them outright...at least I thought I did. I upgraded to macOS 10.12 Sierra this past weekend, and repeated the process. Except WoSign's certificates aren't there to begin with, though StartCom's still are. So perhaps Apple had dropped WoSign already? Would anyone else running 10.12 verify?
Corporate personhood is an American thing, but if the CA can't perform their most fundamental function (certifying accurate information), isn't that the best possible case for the corporate death penalty?

A 1-year time-out is insufficient to regain trust, IMO.

I would never let them return, absent some kind of additional (exculpatory) information)

They won't even admit to their behavior!
I made a tiny website that implements the 20-20-20 rule via Notifications API.

Another thing that has helped a lot: get a better monitor.

https://johnbartos.github.io/eyebreak/
The Problem with Science Writing
This is a meme that I've never understood. This isn't a problem for Stanford PhDs, or hell Stanford undergrads.
How to monitor Elasticsearch performance: Part 1
Show HN: Speech Recognition to Command Spotify VR Audio Visualizations
WoSign's behavior does not specifically endanger
their customers.

Or more precisely, problems such as issue N [1] endanger their customers, but endanger non-customers just as much.

[1] https://wiki.mozilla.org/CA:WoSign_Issues#Issue_N:_Additiona...
SVG should only be executing in a null origin if it is not blocked by the CSP.
The second example is supported neither in Edge nor in Firefox, that's the problem. Extremely poor SVG support accross browsers.
Replied on Saturday to whom? The way I parsed that as "replied to the owners of the Facebook account", which is hearsay.

Facebook also has not published any PR statement apologizing for this, so either they are not real news agencies to begin with, or this never happened, or both.

Al Jazeera is reliable except when it comes to issues like this, they suffer from a bias from having this done to them in the past as well.
Let's Encrypt cannot issue EV (green bar) certs, wildcard certs and certs with a validity longer than 90 days. While these are good features for many applications (i.e. a typical hosted website), there a lot of cases where that's not optimal:

- EV (green bar) certs are required to increase customer trust (it may be mostly snakeoil, but the CA system is heavily flawed and we are still forced to rely on it anyway)

- Applications where certs are used on other platforms than web servers (e.g. embedded devices, routers etc.) and 90-day renewals are not easy to implement in an automated way.

- Wildcard certs are mostly useful for convenience reasons, e.g. to easily secure a changing number of hosts within certain (sub)domains/zones (especially when they are only or mostly used in internal networks). I agree that the need for wildcard certs is greatly reduced with let's encrypt and acme.
The parent comment was being sarcastic.
That is effn' cool.
Nonsense. I encourage you to point out a single industry that has cropped up in the last 50 years that generates large numbers of high paying jobs that aren't subject to being automated away. In 1985 people freaking out about computers and networking was luddite behavior. Where are the 3.5 million currently un-filled jobs waiting for the truck drivers who are about to lose their careers en masse?
>Most of America isn't some kind of lawless hellscape, filled with wandering ghouls, cursed with a hunger for human flesh (Despite what Randian fiction seems to claim.) Mandatory infrastructure tends to work, for some definition of working. (Now, if only the same could be said about Comcast...)

About half of it is. Visit the South sometime and you'll see. A lot of places still don't have recycling, much less compost pickup.

And as for mandatory infrastructure, the entire United States fails here: internet access is mandatory infrastructure in this day and age, just like running water was considered mandatory by the mid-20th century, and the US's internet infrastructure is pathetic (as you admit about Comcast).
Unmanaged references. Regular old class references aren't unmanaged (they adjust reference counts).
This is interesting. I worked in a kitchen for a while after high school. People look down at kitchen workers but it takes a strong, well organize, calm person to do the job.

The pressure was high, the pay was low and you are constantly being told how to do your job. If you don't agree think about how you act when you're hungry.

The workers have to deal with people that are waiting for their meal. 99% good is a failure because there will always be someone that gets upset because their meal was wrong in some way. It has to be perfect and needs to be done in a timely manner. An to top it all, people get upset because it's too expensive.

When I compare those days to my IT career. IT is easy and I'm happy I never have to work a kitchen again.

I would say, from what I've heard, Amazon would take the 3 Michelin stars.
The Deceptive Salary of Doctors
It also means that there are APIs in 1.5 and 1.6 that do not exist in 2.0. Seems to be a combination of deprecated without replacement and things that will be revisited for later 2.x versions. (Which is semver compliant, for what that is worth.)
The Libyan Scorpions group is behind a cyber espionage campaign in Lybia
I think MichaelGG is thinking of the Rotor "shared source" implementation for BSD, which was released around the same time as .NET for Windows as a proof of concept for implementing the .NET standards on other platforms. (These standards included CIL and the Common Type System, not just C#.) But as Michael says though it fell way short of full .NET, lacking many libraries and a lot of the optimisations of the Windows .NET implementation; and it wasn't open source in that you couldn't fork it, you could only look at the code 'under glass.'
One good example I can think of is if there is a no-right-turn-on-red combined with an unusually long red light. These are common in intersections with 4 green-left-turn arrows.

A knowledgeable driver might know to make a right turn at an earlier intersection, whereas the navigation apps do not always account for this.
U.S. regulators accuse Palantir of bias against Asians
When micro- and nanoseconds matter, it is your job to dig into the ugliness of the generated code, if it is C/C++/Rust or even if it is Java.
Udacity Self-Driving Car Nanodegree doubles intial cohort to 500
The ATX standard is the reason why no one bothers buying desktop computers any more except extremists and gamers. These computers are way too large and inefficient and ridiculously noisy too, because they aren't properly engineered for sound and ventilation (because they're held back by the 90s-era ATX standard).

Everyone's just given up on it altogether and now they use laptops, or worse, tablets.

Even corporate desktops abandoned ATX ages ago and went to proprietary SFF cases.
The .NET design has always been multiplatform. MS has released code over a decade ago to demonstrate this: https://msdn.microsoft.com/en-us/library/cc749640.aspx
What Should Alexa Do? – Tim O'Reilly
That the person who received the certificate from them was in control of the domain (for some definition of "control" that meets Comodo's standards) at the time the certificate was issued. I've never tried to get a wildcard from Comodo, personally, but since there's no O section of the certificate I assume Comodo didn't do anything beyond "do you control the DNS" or "do you control certain email addresses".

This is at least less wasteful of time and effort on everybody's part than Comodo verifying that a specific company or person was actually involved; again, I don't trust ycombinator any more than I trust someone impersonating ycombinator, so any 3rd party verification is kind of pointless to me.
Sadly, not really true.

* Cloudflare has a growing number of competitors, like Incapsula.

* These services only protect the front-end of the booter websites. These are barebones CRUD apps for managing accounts and typing the IPs you want DDoS'd. It'd be pretty easy to throw that template up on any other server or domain. Most of that whole workflow could be replaced by IRC, Slack, Discord, Skype along with Bitcoin or similar payment methods. As proof, booter sites do still regularly get DDoS'd (usually by exposing their origin server IP or otherwise fucking up configuration) and breached (often exposing the entire user DB and source code) yet pop back up within a few days and still retain most of their customer base.

* They could just move everything to a Tor hidden service, or the equivalent to I2P.

It's the botnet and/or list of IPs and URLs (scripts and shells on compromised servers they planted or paid for access to) that serves the foundation of booter services. If that remains untouched, then the booter can stick around indefinitely.

Cloudflare's CEO reiterates the same points here: https://news.ycombinator.com/item?id=12577690

As for whether they have a moral obligation to stop reverse proxying these sites... I think he makes a pretty good argument for why they should be considered a common carrier. They do forward all abuse reports to the respective hosting providers.
Disaster is already here. In the 1950's you could raise a family with 2.3 children on a 40 hour work week. Today, families are struggling to make ends meet with 60-70+ hour work weeks. Technology was supposed to have made things more efficient. It seems to have had the opposite effect.
Awesome, please open source this :-)
Eyebreak.html: A quick implementation of the 20-20-20 rule via Notifications API
Murders Rose at Their Fastest Pace in a Quarter Century Last Year
That is amazing. Thanks for sharing.
12 old school problems our kids will never understand
So, if I'm not happy, I can't turn to bitcoin--but must turn to some other currency--to have my voice heard.

Which of those has policy governance accessible via a democratic process like regularly scheduled voting, or elected representatives? Do any of them?
Water has to be processed and transported to your house, and then heated. A modern dish washer is more efficient than hand washing dishes because it uses less water.
UWP is built on Core .NET stack so I suppose it is going to be cross-platform.
Yup! Since our client code is open source, you could run a custom fork of our client that includes the native module(s) you want and still use the JavaScript app code you've written with it. If you end up making such a change let us know and through a pull request or such we could try getting it into standard Exponent!
Please don't make unsubstantive comments like this on HN.
In the essay, he says that he's explicitly talking about desires that are absolute rather than positional (beginning of section II). He even accepts that desire for positional goods may in fact be insatiable, so I don't think your first point is a fair representation of his argument.

I think there's a lot of truth to your second argument which comes down to the fact that there are quite a few absolute needs that are resistant to improvement through technological progress, that tend to scale with the population and that because of privilege Keynes probably underestimated.

Personally, I think that he's too optimistic because he thinks that the rewards of progress will end up shared rather than concentrated in the hands of a small number of people (like e.g. the Walton family who own assets equivalent to the bottom third of the entire population of the US).
No shit- my startup blew up my credit
awesome. good luck!
I think the page navigation is using "slide to the left/right". Probably your zoom movement detected as a page navigation
I appreciate a brief article like this which flags a serious issue without feeling obligated to explain the cause of the issue. Would the facts have changed if the author had added debatable speculation as to causes? If he had included speculation, would discussion here have focused on the problem, or would it have focused the easier debate about the causes?

It's okay to file a bug report without pointing out the design defect that caused the issue.
Modularity is the ultimate agile tool
History of “X is dead. Long live X”
Common Pitfalls When Using Database/sql in Go
I've been saying this for years. It just makes sense, and our infrastructure is in dire need of help. If we wait much longer, we'll start to have problems.
> Is this only a problem for men?

Its probably more of a problem for men because the kinds of jobs advancing technology is most likely to eliminate [0] in the near future tend to be male-dominated, especially the jobs that are better quality in the first place. So, men (of particular demographics and skill/education profiles) are going to be losing more quality opportunities that they would otherwise have than women are.

Also, IIRC, there are some indications that a variety of social problems (including certain types of crime and violence) tend to increase with the proportion of long-term unemployed men but not so much with unemployed women, so even beyond the degree to which it is a problem for men, the problem men experience because of it may be disproportionately a problem for society as a whole.

> I can't help but think that an article this short can't be anything more than fluff.

Well, its mostly a call-out to another article of the author's, which is itself a review of a book by a different author. So, yeah, its not exactly intended as much of a full discussion of the issue it points to.

[0] "replace with jobs with very different entry requirements" may be more accurate in some cases, but the net effect is generally similar.
The chances would not be slim. They'd be zero, because you'd be using a fake TLD.
Benchmarking Atoui(): A Follow-Up to Writing Fast Code
"how bad will it be for the company" is the wrong question to ask.

"what does the punishment need to be to prevent others from seeing it, and thinking it's a risk worth taking?" is a better one.

For me, I think it should be permanently revoked.
I'm as aware of that as any other armchair expert.
You really should try Credit, Set, Go for it to really work https://www.civilizeit.com/go
There's enough "upfront thinking" to be done on the problem you actually try to solve...
I don't know what "correct" means. There's no "correct" fake TLD. People use different things.

If you mean "correct" as in the production domain, then you're introducing a security risk for no reason. Never use a public (or potentially public) domain for testing or development.
I thought the general consensus on call/cc now is that although it's very powerful in principle it's not such a great abstraction in practice. It's difficult to implement efficiently and abstractions created using it tend to be very brittle. See e.g.:

http://okmij.org/ftp/continuations/against-callcc.html
The DOM is perfectly appropriate for modeling documents, and we should indeed keep it around and make use of it where appropriate, but documents aren't all we want to do with the web platform.
Ask HN: Would You Use a CLI-Based SaaS Store/Marketplace?
There are all kinds of useful utilities for which a GUI seems like a distraction, yet there seems to be no app-store-like delivery and monetization system for such software.

I imagine a marketplace of cloud services where the data remains local; the cli functionality (script) is downloaded and run on demand or installed. Either way, actually running the cli would require payment, either per-use or by a flat rate subscription.

This solves the update problem with the desktop app model, since any new versions of the cli script can be made immediately available by the author.

On further thought, I think NPM can be the foundation for such a marketplace.
Poaching behind worst African elephant losses in 25 years
Just opinions like most interpretations in that field of study. That's all.
> The Teensy might be the most accessible ARM dev board right now

Disagree. It's nice enough as an Arduino-alike, but it doesn't have any debugging capabilities -- the only commands exposed by the loader[1] are "write block" and "reboot".

As an ARM development board, I'm much more a fan of ST's Discovery series[2]. Most of their boards are in the $10-$20 range, and they all include a USB-based programmer/debugger compatible with open-source tools.

[1]: https://www.pjrc.com/teensy/halfkay_protocol.html

[2]: http://www.st.com/stm32discovery
Well yeah it looks great.
However for ease of use in "small" scale. it would be cool to have a built in Load Balancer (a pretty pretty simple one, just http, maybe https via LetsEncrypt).

At the moment adding a Cloud Load Balancer per Project is probably not affordable in the smaller project scale (and it would make any PaaS useless). (I mean that is not a "big" problem, it's ok to build it myself (with less quality than you can ;))

But I wanna say Kubernetes is extremly good designed and the amazing part is, is that you can start with a really really really really small cluster (like 1 master 1 node) and later you can raise that pretty easily
This is partly because the definition of comfortable has increased faster than the average salary.
That's one thing that I liked with FP often combinatorics friendly code, you can compose lots out of a common core, it helps tremendously to decrypt the author's idea.
The irony of light grey body text on this article.

Here is the "You Hate Your Readers' Eyes" quiz. Is your body typeface...

* Sans-serif?

* Thin?

* Gray, the lighter the better?

Good work! You hate your readers' eyes!
The ludites were of a generation that got screwed by progress. Their kids were better off though.
How to Stream Tonight's Presidential Debate for Free, No Cable Required
https://www.chromium.org/developers/calendar "previous release information"

but obviously, I stand corrected.
Also if you meant automated testing, here's an Exponent app that runs jasmine to test Exponent SDK API end-to-end: https://github.com/exponentjs/test-suite This is useful for testing network requests, API calls, etc. in your app JS.
> Where are the 3.5 million currently un-filled jobs waiting for the truck drivers who are about to lose their careers en masse?

Space colonies? That or war.
One of my huge headaches in working with Kubernetes daily over the last year is how the documentation is dispersed. The documentation on the site will point you to manfiests in github.com/kubernetes/ which just point you back to the documentation on www.kubernetes.io.

If you don't know that https://github.com/kubernetes/kubernetes.github.io/tree/mast... exists you're in for a bad time.
Small correction: .NET Core _will_ implement it. It has to grow quite a bit to get there.

At least, that's my reading, but they manage to be fairly confusing by mixing present tense and future tense with two different names:

"- .NET Standard is a set of APIs that all .NET platforms have to implement. This unifies the .NET platforms and prevents future fragmentation.

- .NET Standard 2.0 will be implemented by .NET Framework, .NET Core, and Xamarin. For .NET Core, this will add many of the existing APIs that have been requested.

- .NET Standard 2.0 includes a compatibility shim for .NET Framework binaries, significantly increasing the set of libraries that you can reference from your .NET Standard libraries.

- .NET Standard will replace Portable Class Libraries (PCLs) as the tooling story for building multi-platform .NET libraries."

So, do we have ".NET Standard" now and ".NET Standard 2.0" in the future? If so, why don't they say ".NET Standard 2.0 will include a compatibility shim for .NET Framework binaries"?

On the other hand https://github.com/dotnet/standard/blob/master/netstandard/p... seems to indicate the two are synonyms, and version 2.0 is the first version of this framework.
Well, all that careful curation has now been fully filtered away.