jkeisling/hacker-news-corpus-2007-2022 huggingface dataset:
Well, it's clear now that traditional journalism is dead and not coming back. TV and newspapers are biased as hell and the idiots on YouTube are, well, idiots.

But was it ever alive in the first place? Print journalism pretty much always included the Buzzfeed-style linkbait garbage: just look at any cover of any woman's magazine in the past 20 years. As for Rupert Murdoch, even though he's never won a Pulitzer Prize, he's a perfect fit for the legacy of Joseph Pulitzer and the politically-biased, sensationalist yellow journalism he made his fame and fortune from.

One of the most terrifying facts about 20th century America is the idea that three men--and the companies they were the face of--used to give all Americans all of their information about the greater world around them. They could try as hard as they could to be unbiased, but they would still have blind spots. And that's putting it charitably.

The reality we have to deal with today is that there is a cacophony of morons, partisan hacks, shills, and other unreliable narrators. But we have the benefit that, unlike the Walter Kronkites of old, they actually look as unreliable as they really are. Those of us who are interested in the truth can triangulate between them (and revel in the wealth of raw source material--smartphone videos turn every abusive police encounter into a potential Rodney King incident) and find the fact of the matter somewhere within, and those of us who are only interested in confirming their own biases can always find a way to do that anyway.
Yes, my original post did not make that clear.

While I think that saying "bomb" in an airport is dumb I certainly agree that what happened to him was way too much.
Cost of education (of the non-university flavor) and access to information is also plummeting in parallel. Also, the means of disseminating information and ideas is far wider than ever before.

This, combined with proper economic policies like a basic income, I feel could allow those who lose their jobs due to rapid technological change to develop new, employable skills.

But you're right, if everything else stayed the same and just something like autocars happened, there'd be riots.
Wow, I've flagged way more posts unintentionally than I would have guessed.
I'm Canadian, and my initial thought was "Yay! We don't suck at something! Hooray! We're not irrelevant!" followed quickly by "Oh, $hit..." :-(

The worst part is that if this was part of evidence-based policy, strategy, or tactics, it would at least be arguably not stupid.

Sigh.
Phew! There's no "king" for "candy" now.
Ah yes. From the README on github:

> Jeeves is a programming language for automatically enforcing privacy policies. We have implemented it as an embedded domain-specific language in Python.

I'm guessing the PR person writing the original post thought "Programming Language" sounded better.
Except that Apple is still making money hand over fist with a proprietary OS with their own proprietary apps, happily built by people who aren't Apple employees for 70% of their value.

Where does the profit in the new marketplace come from?
I once asked Lovefilm about their video streaming (Silverlight) on Linux. I got a relatively honest answer: Movie studios required them to use DRM and no DRM solution is available on Linux. They will "keep looking for opportunities". I translate that to "waiting for the movie industry to give up on DRM".
I am from India. And worked for over a year on oDesk. I think it's painting the whole industry with a very wide brush. Personally know people in Delhi/Mumbai making very comfortable salary.
The mob was replaced by the FSB - formerly the KGB. Which is now the mob, but also the Kremlin. So yeah.
Until the Golang community can move on from "it must be right because Rob Pike" then things won't improve.
It's pretty funny how this post is on the front page adjacent to a post profiling one of the Go authors that opens with mentioning his masters/PhD from Harvard/MIT.
Asus have a direct competitor featuring trackpoint and three physical buttons. Only problem is I can't seem to find its pricing or availability anywhere.

https://www.asus.com/us/Commercial_Notebook/ASUSPRO_ADVANCED...
It's a junkheap of human banality -- deleted my account many moons ago.
I'm not aware of one but there might be something in the Servo wiki.
> which has no garbage collector (so languages can implement their own if desired).

The problems with that are:

1. It means every web app basically has to push its own GC down the wire every time the user hits myawesomeapp.com. That's a lot of overhead.

2. You'd have to define what the memory model between the code running in the VM and the browser's native stuff is. What does it mean for the code to have a reference to a DOM element? How does the browser hold a reference to an event handler in the VM?

3. The set of people who can implement an efficient GC is very very small. Forcing each source language to do that themselves wastes a lot of effort. (For example, look at how primitive Python and Ruby's GCs were for most of their histories.)

Now a low-level VM with GC. That's something I'd be excited about.
Yep, that's what I would have written.
There's a difference between being "simple" and "brain-dead". C, for example, is very simple, simpler than Go, even, but you can't compare it to VB6 either. Your comparison is disingenuous at best.

Simplicity is a good thing. It's a virtue. It's part of what made UNIX a success. It's not something to shun or avoid.

Adding features adds complexity and complexity is not free.

Notice how the industry still has't jumped ship whole-sale to Haskell?
I think the point OP is making is that the underlying technology and "thihnking process" behind most AI hasn't changed much in the last 50-60 years. We look at a task like figuring out how to book millions of flights and think "That seems like it would be very difficult for me to do, therefore a computer must be intelligent if it can do it". But that isn't true for all definitions of 'intelligent'. The basic optimization process, once figured out (by humans) is fundamentally the same and is just being applied by the computer at greater scales and speeds. If computers were getting smarter, for some definitions of the term 'smarter', they would be identifying problems to be solved on their own, or at least they would be coming up with novel solutions without any human involvement.

A pen and paper can be used to make powerful calculations, but we don't generally attribute intelligence to the tools themselves. The promise of artificial intelligence was that computers would eventually become capable of taking independent action and doing things that humans couldn't predict or do themselves. To say that we're still trying to figure out how to do that is a bit of an understatement. The time frame for fulfilling that expectation is completely unknowable, at best.
One reason for the explosive interest in service mesh over the last 24 months that this article glosses over is that it's deeply threatening to a range of existing industries, that are now responding.

Most immediately to API gateways (eg. Apigee, Kong, Mulesoft), which provide similar value to SM (in providing centralized control and auditing of an organization's East-West service traffic) but implemented differently. This is why Kong, Apigee, nginx etc. are all shipping service mesh implementations now before their market gets snatched away from them.

Secondly to cloud providers, who hate seeing their customers deploy vendor-agnostic middleware rather than use their proprietary APIs. None of them want to get "Kubernetted" again. Hence Amazon's investment in the very Istio-like "AppMesh" and Microsoft (who already had "Service Fabric") attempt to do an end run around Istio with the "Service Mesh Interface" spec. Both are part of a strategy to ensure if you are running a service mesh the cloud provider doesn't cede control.

Then there's a slew of monitoring vendors who aren't sure if SM is a threat (by providing a bunch of metrics "for free" out of the box) or an opportunity to expand the footprint of their own tools by hooking into SM rather than require folks to deploy their agents everywhere.

Finally there's the multi-billion dollar Software Defined Networking market - who are seeing a lot of their long term growth and value being threatened by these open source projects that are solving at Layer 7 (and with much more application context) what they had been solving for at Layer 3-4. VMWare NSX already have a SM implementation (NSX-SM) that is built on Istio and while I have no idea what Nutanix et al are doing I wouldn't be surprised if they launched something soon.

It will be interesting to see where it all nets out. If Google pulls off the same trick that they did with Kubernetes and creates a genuinely independent project with clean integration points for a wide range of vendors then it could become the open-source Switzerland we need. On the other hand it could just as easily become a vendor-driven tire fire. In a year or so we'll know.
Maybe they are relevant but you'd have to put it in some way that describes their relevance. "Old lady, trump, fite me!" is not a meaningful attempt to start a discussion which is why you got groused at by a mod and flagged by users. It's not even clear she ever actually made the type of claim you're describing but the form of the comment is so poopy that's mostly beside the point.
EDIT: Sorry, I overlooked, that you are looking for something to plug into OCaml. I let this comment here, nevertheless, since I put so much work into it ;-)

> I actually spent the last week looking for something like XPath done right

Have you tried XQuery? XQuery is a superset of XPath, currently (like XPath as well) at version 3.1. There is three major processors:

- eXist-db (much more than just an XQuery processor, but I believe, it can be used stand-alone)

- Saxon (only the PE/EE editions (commercial) implement current standards, SaxonHE, however, should fully support XQuery 1.0 (which is based on XPath2)

- BaseX (my favorite) Can be used as stand-alone, in REPL mode, behind a webserver (Jetty, Tomcat), or a very easy to use and simple but powerful IDE, and is extremly well done. Simple install.

declare function local:make-dynamic-element-node(
$name as xs:QName,
$attributes as map(*),
$contents as item()*)
as element(Q{http://example.org/ns/joecool}joecool)
{
element { $name } {
map:for-each($attributes, function($key, $value) {
attribute { $key } { $value }
})
, $contents
}
};

declare function local:make-literal-element-node(
$foo as xs:string?,
$bar as xs:string?
)
as element()
{
<joecool xmlns="http://example.org/ns/joecool" foo="{$foo}" moo="{$bar}">lorem ipsum</joecool>
};

let $at := map{
"foo": "bar"
, "moo": "test"
}
return (
local:make-dynamic-element-node(QName("http://example.org/ns/joecool", "joecool"), $at, "lorem ipsum")
, local:make-literal-element-node("value1","value2")
)

Result:

<joecool xmlns="http://example.org/ns/joecool" foo="bar" moo="test">lorem ipsum</joecool>
<joecool xmlns="http://example.org/ns/joecool" foo="value1" moo="value2">lorem ipsum</joecool>

Of course, this is just a small glimpse on this language, which can be typed or not, just as you prefer (I prototype untyped, then increase typing incrementally and release fully typed). It is a functional application programming language, that does great as backend, REST is supported and so much more. Just a glimpse on the build-in functions of BaseX (these are in addition to the XPath 3.1 function catalog, which has approx. 200 functions, now) http://docs.basex.org/wiki/Module_Library
> The election for 452 district council seats was widely seen as a referendum on public attitudes after nearly six months of social unrest. Antigovernment sentiment on the streets translated to the ballot box, as a record 2.9 million voters made their choices—more than 70% of those eligible. The election proceeded without unrest on Sunday.

> By 7 a.m. on Monday in Hong Kong, pro-democracy candidates had won 278 seats, the South China Morning Post newspaper reported, compared with only about a quarter of the seats in 2015.

> While district councilors typically only handle neighborhood matters and lack legislative power, they hold close to 10% of the seats on the 1,200-member election committee that chooses Hong Kong’s chief executive, its highest office. District councilors also have six seats on the city’s 70-strong legislature, which is only partially elected.

> Protesters have made universal suffrage for chief executive and the Legislative Council a main demand, propelling the opposition movement.

> Many of the winners of the evening were young candidates entering political life for the first time.
I like the principles, but I am pessimistic he can persuade the tech companies and many of the governments (China, Russia, Iran, for instance) to adopt them. That's because they have such strong motivations to keep things as they are, and even make them worse.
None of the examples you've made are appealing to me as an OSS developer. There is no incentive for me to increase publicity — what would it give me? If anything, having a lot of users is annoying: you get irrelevant PRs which are out of scope, beginner users submitting bug reports that are actually bugs in their own code, etc etc.

Your second point is the exact opposite of what most OSS developers want. By and far, most OSS projects are small components that end up somewhere down the dependency tree. This means someone else (a-la React) would get the money while leaving smaller dependencies (a-la string utils) unfunded. This is the polar opposite of what maintainers want.

Your last point of wanting trust is a straw-man. I already made it clear in my previous reply: as an OSS developer, I do not care if people trust my code. There is simply no incentive for me to care about it. People consuming my packages reasonably do want some sort of validation, but that's their desire, not mine, so why would I pay for that?
Here's a clock made with LegraJS:
https://legra-click.glitch.me/

Source: https://glitch.com/edit/#!/legra-click
Serious question: What does this provide that unpkg doesn't?
Congrats! Thanks for pitching in. Make sure you check back over the life of the loan to see how they're doing.
And, strangely, (NaN === NaN) is false. Gotta use isNaN(NaN).
It's pretty easy to write code that generates and displays EPUB2.

EPUB3 is a dog's breakfast -- it's hard to think of a better example of "second system effect". As far as I know, there's still not even one reference implementation that supports the full standard, even though it's been out for nearly 10 years. It gains you very little over EPUB2 for standard novels written in western scripts. EPUB3 is only needed if you require embedded scripting, support for non-alphabetical or bidirectional scripts, etc. I believe that most commercial "EPUB3" files still have an EPUB2 toc.ncx file and are designed to fall back to EPUB2 if the reader doesn't support EPUB3 (there are a lot of readers like this).

Something that's easy to overlook: "The mimetype file must be a text document in ASCII that contains the string application/epub+zip. It must also be uncompressed, unencrypted, and the first file in the ZIP archive".

All the other files in the ZIP can be compressed normally.

What this means in practice is that uncompressing an EPUB is easy (just rename it to .zip, if necessary, and run unzip), but recompressing it requires some care.

Assuming you've got your book's content in an OEBPS folder, and the container XML file in the META-INF folder, you can do it like this:

zip -X0 test.epub mimetype
zip -X9Dr test.epub META-INF OEBPS

(edit to fix code formatting)
Additive solutions are fundamentally easier than subtractive ones.

If removing something, you run into the problem of chesterton's fence: if you don't completely understand why it was there in the first place, you could potentially be messing something up which you do not anticipate. If you have n elements, finding a subtractive solution requires understanding how all of them interact with eachother, which scales like O(n^2). On the other hand an additive solution only requires you to understand your new element and how it affects the system, which scales O(n).

Consider the relative difficulty of removing versus placing a jenga block.

On top of this, think about how complex systems tend to be formed. Typically multiple people each with different needs make proposals and at the end you have a consensus which is, if not ideal, at least acceptable to everyone. Theoretically, if there was unnecessary and harmful stuff in there, either someone would have complained and already gotten it removed or there is some interest group that has a good reason for keeping it there. An addition, on the other hand, may have never been considered the first time around, and can be carefully tailored to minimally influence the status quo beyond the desired change.
It's also one of the few tools that is likely to be a constant factor in your job for a long time. Yes, it's not super easy, and you can sort of get by with minimal effort, but it's not that much time to invest compared to how much benefit you'll reap.

And I don't mean memorising commands and their arguments, but rather understanding Git from first principles.

(I wrote this visual tutorial for that purpose, takes about fifteen minutes to go through : https://agripongit.vincenttunru.com/)
I read somewhere that the typical density of matter in the "vacuum" of space is about one helium atom per square meter.

Is that true? Seems kinda crowded out there.
This doesn't appear to really do anything to address the one big problem I've had with using Lua for larger applications. Does GopherLua still have global-by-default variables?
That project isn't out yet. They are looking for people to work on it though.
I’ve had the privilege of ‘training’ three kids to ride bikes. As those of us who ride bikes know, there is no way to explain how to do it. Running alongside the kid with a hand on them (or on the handlebars) is useless. Training wheels are useless. The only way for the kid to ‘get it’ is to allow the bike to fall: only when they start to fall, and they instinctively jerk the handlebar the other way, will their muscles ‘understand.’

It only took a couple hours with each kid... pushing them up to speed and then letting go. They’d fall, there would be tears, and we’d try it again. And, then, after several scraped knees and bruised shins, that magical moment would occur when some little cluster of neurons finally makes the new connections, and voila... they’d be bike riders. All the tears and frustration would be replaced by euphoria.

Clearly a two or three year old, perhaps, is better off with a scooter or balance bike. But, as an old fart, watching 7 and 8 year olds in the park riding ‘balance bikes’, I get the sneaking suspicion that the parents are stretching out a couple-hour process to a couple-month or year process merely because they can’t permit themselves to let the kid wipe out.

Don’t even get me started with swimming...
Deviation between build-time and run-time is...normal. The fact that JS is a dynamic language that doesn't necessarily require a build step, but we've introduced one anyways, doesn't really change the equation.

It's still exactly the same problem as building a C codebase versus running it.

The reason the FE JS ecosystem is confusing is because there's this absurd pretense that they're doing something novel whenever they implement a feature or tooling that has existed for decades (just not for JS). And then, because its novel, they come up with new names (or misuse old names, like here) because they either intentionally or unintentionally avoid using the 1:1 mapping with standard tooling.

Just-In-Time for the build just doesn't make sense -- a JIT is a very specific thing; it compiles code at runtime. The term exists specifically to differentiate from compilation at build-time. If you make a JIT for build-time, you've lost all meaning

This is just rebuilding the code more often... through a filewatcher.
I don't know why this is being downvoted. I've read it, too.
presentation-2-Rewrite.pdf.bak.PPT

presentation-BROKEN.PPT

anotherpresentation.doc

cantopen_presentaion-dontdelete,PPT

MOMs_COOKIE_RECIPE.doc

caterpillar french fry funny.bmp

and so on...
Most people who get rich get that way by saving money. That means living on less money than you can make. Indefinitely.

If you want to get sucked into every ad campaign that comes along, you'll end up broke even if you get a huge windfall. Which is in fact exactly what happens to many lottery winners, sports stars, musicians, child actors...
The numbers here go from 8 to 254. Couldn't you make most of the countries on this list look good or bad by just adjusting the comparison set?
That might not be a big deal if the goal is low effort work.
Who remembers getting their first Linux distro (probably Slackware) in the early 1990's -- on a Walnut Creek CD-ROM?

Because well, I do...

(They also published FreeBSD CD-ROMs too...)
I'm not coding because I don't believe the work I need to get done will fix the issues I've run into while trying to get my work done, and it's hard to find motivation in that situation.

In other words, I'm not working on The Real Problem, I'm adding a feature.
I really like this explanation! I'm also able to touch-type and I'm not a home-row typist.

I noticed that my point of reference mainly the keyboard rims; once I locate the keyboard by feeling the rims with my (pinky) finger, I can just start typing. I'm using Apple Magic Keyboard for almost a decade now, it's pretty small so I'm not sure if I could do the same with standard form factor mechanical keyboard.

I sometimes use the FJ keys as point of reference too, but I don't strictly type like how a homerow typist would.
The treatment is just 14-days of the antibiotic, there's nothing specifically done to recolonize your gut. The "off-and-on" again thing is really just a theory, if you can even call it that. Like a lot of medicine, it's something a drug they developed with an idea in mind, found that it worked and that's about the extent of our understanding of it. It may or may not do what we think it does, because all the manufacturer cared about is whether it works.

I did do my own research on whether taking probiotics would be helpful, to recolonize my gut as you say. Of all the studies I read, none found any benefit. Both during treatment and after. So it's unlikely that a manual recolonization process is even needed.

My personal pet theory is that the antibiotic doesn't wipe everything out, but instead works by making the gut a much, much more competitive environment. Beneficial flora tend to be better survivors in our guts (for various reasons), so they are more likely to survive the assault and the bad bugs are less likely. Once the good bugs have the advantage again they can outcompete and take over. There's also your gut's immune system which, based on my reading, has the potential to "farm" the flora in your gut. It too will be working to rid the bad bugs and promote the good ones. It seems like in the case of GI issues a bad bug gets a beachhead for one reason or the other and then your immune system can't naturally correct. The antibiotic gives it the chance to do that.

Hence why probiotics are unlikely to do anything. It isn't a total elimination, so there's nothing to reseed. And your immune system is going to favor the same microbiota it grew accustomed to when you were born. Not to mention the appendix which is suspected as being a safe-harbor for your natural gut flora.

I did take probiotics myself, since they don't seem to do any harm. I took them during and after treatment. Probiotic pills, Yakult, and yogurt. But there's no science backing that action.
It's already been mentioned on Twitter, but it really is quite a coincidence that Notion has also been down today from an abuse report against a domain. I think it's unlikely there's a connection though, just bad luck.

https://twitter.com/nicolas09F9/status/1360365745356607489?s...