skysight-inc/HackerNews huggingface dataset:
The `echo` statement is indeed, a function. The tutorial is taking advantage of Nim's optional parenthesis when calling the function.

echo "Can you hear me?"

is the same as

echo("Can you hear me?")

Nim also has somewhat unique rules about casing and underscores for variables and names. `readLine` is the same as `read_line` is the same as `rEadLInE`. However, the first letter must be the same (there are reasons for this), so `Readline` is not the same as all of those. The idea is that you can choose your preference and not have to think about what anyone else chooses. If a library uses pascalCase and your prefer snake_case then you can use snake_case.

This is a big point of contention for many people, but in practice, in my experience, it is never an issue.
This is why computer based proofs aren't interesting to mathematicians. There is some small amount of value in proving results, but the real value is the new techniques people came up with to prove novel results. As you call it the "high-level abstract algorithm".

Those provide new tools for proving other results and directions for study. A computer based proof will probably just be an incomprehensible mess, think something like an evolved neural net. Not helpful at all.
You will probably have less freedom, less authority, and more bureaucracy.

You might have a leg up when it comes to keeping your budget low. Upper management is always happy with that.
Wow, yeah, had to try after reading your comment - really is remarkable, it just starts. (And I didn't realise I would notice something faster than Youtube, which previously seemed fine.)
> Almost. We'd need to compare actual homicides to an imaginary world where...

What do you mean how? Aren't you the one who came up with the suggestion in the first place? You go ahead and almost do it.

> And that is why an oranges to oranges comparison can't actually be done.

Classic straw-man argument. You just set up your own imaginary cooperative world of full of alternative stats, then shot it down immediately.
> the WD Red's firmware was up to the challenge of handling a conventional RAID rebuild, which amounts to an enormous, very large block sequential write test. (...) the Red is only 16.7 percent slower than its non-SMR Ironwolf competition

> we can model an ideal ZFS resilvering workload with a massive sequential write — and we did exactly that, using 32KiB blocks of incompressible pseudorandom data (...) With this test workload, we achieved a throughput of 209.3MiB/sec on the Ironwolf, but only 13.2MiB/sec on the Red — a 15.9:1 slowdown

So if I understood correctly "very large block sequential write test" is only 16% slower, but reducing the size of the written block to 32KiB, like apparently ZFS does, it becomes 16 times slower?

Couldn't that be fixed in ZFS? 32 KiB block is too small for SSDs too, if I understand correctly. (Edit: I refer to: https://tytso.livejournal.com/2009/02/20/ "However, with SSD’s (...) you need to align partitions on at least 128k boundaries for maximum efficiency." -- it seems that 128K was an important number?).

If the writes are sequential, some kind of caching (i.e., blocking the sequential writes) could be made to avoid the slowdown? How big were the blocks written when the 16% slowdown happened?

And what is the minimal needed block size to avoid many-times slowdown?
This is a brilliant hack!

I've researched the possibilities for something similar a few months back but my idea was far far simpler, just avoiding the need for an app to scribble things down in a web app. Also, unlike you I didn't finish.

Hats off to you, for me this is one of those twice a year moments on HN where I see something utterly brilliant that no one else though about!
You have to think of the futures definition of long and short, not the equities definition of short. In every futures contract, the long is paying money and the short is receiving it for the contract. Every options contract has a short, the writer, and a long, the buyer.
Some thoughts on education and political priorities [pdf]
The RuboCop Name Drama Redux
When I was 4 or 5 my grandma took the leftover chicken bones from lunch and buried them in the garden. Then me and grandma went on an "archeological" dig, looking for Neanderthal bones. (for some reason as a kid I was more fascinated by prehistoric hominids than dinosaurs)
This article makes me wonder how much WD paid...

Since they hid the change to SMR, what else has been hidden?
You entirely miss the point.

Any resources MS provide to improve the compiler is an obvious pure win for Rust users. Likewise, any portable code they release.

But all the code other people write that only works in MS's walled garden benefits mainly Microsoft, at the wider community's expense.

I am astonished at the need to explain this, as if the last several decades had not happened.
Mmapfail: Simple shell script to detect bad checks of mmap() return value
Correct me if I'm wrong but Clojure nudges avoiding mutable state while Haskell uses type theory to enforce it at your leisure at compilation time.

Clojure seems like a great language, but it has a completely different focus. I'd say Idris is a contender instead, which is not lazy and has theory proving. Will it become popular in the wild? Of course not, Python & JavaScript or something even easier is going to eat the world.
Tiny C compiler written in Forth
Managing Dependencies Using ZIO
is this a completely new version? I remember ghost and strapi blowing up in the node.js community couple of years ago with the promise of replacing WordPress, but haven't really heard of strapi since then. Now i see it supports not only Mongo DB, but postgres, mysql/mariadb and sqlite and that's very interesting. Did you replace the traditional node.js orm with a graphql server?

Am i missing something else? Why should i still use strapi today?
it's in the amlogic s905 series of cpu's, which are a very common cpu for androidtv boxes (i.e. what Tivo's new Stream 4K uses).
Ask HN: Convert Product Descriptions into Metadata?
Hi,

I'm looking for a tool that can extract metadata and categorize products based on descriptions. So if I'm selling 10 different fragrances for example, this program should analyze the text and identify that the [colors] are different.

I think a YC startup does something like this. Anyone have pointers to code or what this domain is called?

Thanks!
"Structural racism" is not a branding failure, it's an academic term that has been used for a long time and it only takes a minute or so to explain to anybody willing to listen. People don't become defensive because of the word "racism", people become defensive when they're told that behavior that used to be okay is no longer okay, and that they have to change. People don't like being told they're wrong no matter which words you use.

Your poverty example strikes me as disingenuous because poverty for black people is considerably worse than poverty for white people, even when you control for the big confounders, precisely because of racism. Which means that anti-poverty measures can be a great thing but they will not by themselves be sufficient to level the playing field.

It's funny how it's always --other-- people who are getting defensive, who will refuse to listen, who are lost before the arguments have even been expressed. You're fighting on behalf of a demographic that doesn't exist: people who aren't racist but are unwilling to listen for 2 minutes to an explanation of systemic racism. I bet you just dislike the concept of systemic racism yourself and you're using hypothetical alienation of ignorant poor white people as a cover.
Cooperative Communication Networks
I don't have much, but maybe this contains a hint on the effects of mask usage on the German death growthrate.
https://www.facebook.com/photo.php?fbid=10157238440973015
(Masks about 25.4 - the effect should be visible around the middle of May)

After looking closely I found a small move into the wrong direction (maybe caused by something else?!??)
Global Infections Breach 7M
echo IS a function.

What might be confusing to you is that in Nim all three following variations are the same

echo("foo")
echo "foo"
"foo".echo

If you're curious about nim, I can highly recommend "Nim in Action".
Cops Kill Because We Gave Them the Legal Framework to Do It
Full disk encryption, VPN with RSA token, voice and video through the VPN, and monitoring software.

I'm not sure what they could do about the home router config or physical security.
We switched to sync.com at work when Dropbox first started with all their expansion nonsense. It's been pretty much nothing but trouble.
Love the concept but the lag seems terrible. This is what kills any stylus for me. I'm so used to the instantaneity of paper than the smallest ms of delay between action and effect makes my brain hates the whole process.

As a Linux user, the iPad pro writting feedback is probably the only thing I envy from Apple's users. What they did is black magic.
Why does the economy run in cycles?
>Or the missiles themselves can just guide themselves based on tracking how their target moves. Then you won't even need many missiles.

That's what many types do nowadays.
What do programmers most often do if they get stuck while programming?
I would think that the solution to Haskell having pain points would be fixing the Haskell pain points.
9FRONT “PLAN9-Haters” Released
Face Masks Considerably Reduce Covid-19 Cases in Germany [pdf]
Streaming seems to be free on Disney+

Edit: Well, not in Germany. Not that they state that on their landing page for the show or anything. Sigh.
There seem to be quite a few generic STB devices with the Allwinner H616 or Amlogic S905 on Amazon
Abstract:

We use the synthetic control method to analyze the effect of face masks on the spread of Covid-19 in Germany. Our identification approach exploits regional variation in the point in time when face masks became compulsory. Depending on the region we analyse, we find that face masks reduced the cumulative number of registered Covid-19 cases between 2.3% and 13% over a period of 10 days after they became compulsory. Assessing the credibility of the various estimates, we conclude that face masks reduce the daily growth rate of reported infections by around 40%
I do too, but in almost every way it's a worse product than 1Password 6, so I'd recommend against upgrading.
Fil: A new Python memory profiler for data scientists and scientists
> deaf or hard-of-hearing people should be able to enjoy the programs

This is really important. I have moderate hearing loss but can hear 'okay' with a hearing aid. I place where I worked had a lot of mandatory training that involved video presentations. They introduced one new video and I realised that there was one bit where some important info (it was needed to pass the post video test) was only presented in spoken form, with no transcript or captions. I could follow it but a person with profound hearing loss would have struggled. Because I am sensitised to accessibility issues I decided to make a fuss about this.

In a superb piece of irony, the subject of the training video was actually diversity issues in the workplace. I therefore contacted the training department saying "Did you know that your diversity training discriminates against deaf people?" To give them credit, they said 'oops our bad' and quickly added captions.
You can try to worship "god" thru appreciation of surrounding nature, laws of physics, math, life complexity. Just use common sense and your own moral barometer.
in such cases you have to compare it with digging through hundreds of pages of shitty video tutorials to find the good one
I don't know if this is a good example. While React tries to bill itself as a library, and there are arguments to be made for it being a library, there are equally compelling arguments as to why it is a framework.

If anything, this example does more to prove the distinction is semantic and trivial than anything.
I think the minimalistic design is appropriate and efficient mostly.

…with a couple caveats regarding accessibility: the default font is way, way too small, and some colours don't have enough contrast (eg, the “visited link”). Also, a tiny bit more of formatting would make comments more readable while keeping them sober and focused (eg, blockquotes, monospaced inlines, true hyperlinks).
YouTube for tech articles, circa late-1990s, was ZDTV / TechTV.

A format that seems to work well with non-article is {topical content} + {multiple knowledgeable hosts} + {free form talk format with some segments}.

Early-MTV, the Screen Savers, and Car Talk were all essentially this format.

Good background noise to have playing while working. And the host-host, informal interaction makes it playable for longer than a pure just-the-facts source.

https://m.youtube.com/watch?v=soK1_DaFym0
What’s the scenario where dynamic libraries are regularly upgraded but static binaries are not? Just seems totally non-sequitur as a reason to prefer dynamic libraries.
Are we talking about performance or user experience?
Odroid c4 has it.
I am perfectly capable of skipping the video forward until it gets interesting for me, same like a book. Sometimes you even have skip marks provided by the uploader or user comments where you can jump right into the interesting chapter.
Thanks! This looks really cool! There are a number of courses coming out with this kind of philosophy. I really like what I've seen of the nanopass framework, for example.
Coordination Problems: What It Takes to Change the World
> A simple first step would be to maintain a national level open registry of fired cops and bad behavior reports. At minimum, if a cop gets fired, then he can't go to the next county and get a job

This is the kind of baby steps solution that is completely not the answer even if it's part of a solution for one of the problems. This is systemic and with strong opposing forces (current police officers and their unions, as one example), you can't believe that a database of bad cops would be enough if they aren't even being fired for the abuses being committed right now, if there is already a system of protecting bad police officers why do you believe that they simply wouldn't fire or prosecute even less abuses to avoid a harsher punishment?

I've not researched enough to delineate a step-by-step process of dissolution of the police but there are enough parallels in history and similar experiences to be studied.

The little I've read about seem to include that previous police officers can re-apply but would need to go through the new revamped hiring process. Such hiring process would be defined by citizens' organisations, experts, human rights organisations and so on. There is enough scientific knowledge in that, there are enough police services in the world that use them, it's a matter of shaking the status quo and removing the old roots that US policing stems from.

This can't be achieved by steps if the roots of it are deeply rotten, you gotta understand that.
But there is a qualitative difference! Storing excess capital into money is "saving". Using this saved capital to buy a car for private use, or videogames, is consumption. Using the money to produce more capital, like buying a machine for work, or even "buying" a degree at a university, is investment. The transformation of money into another store of value or physical thing is is not automatically investment, and the economic results are different.
Why create and contribute to open-source projects?
Looks more like flow typing than refinement types to me.

The (static) type of 'y' changes seemingly implicitly in the body of the 'if'. It's an 'int' at assignment but needs to be an 'int {.requires ??? > 0.}' (or however the one would write that type literal in Nim), and some flow typing determines than that that cast form 'int' to 'int {.requires ??? > 0.}' is safe in the body of the 'if', and performs this cast implicitly.

The question now is: Is 'int {.requires ??? > 0.}' a type on its own in Nim? It doesn't seem like that as 'b' has 'int' ascribed as its type, and not 'int {.requires ??? > 0.}'.

It's also not dependent typing as the constraint on 'b' can't be an arbitrary function. (I guess, please correct me if I'm wrong; but in that case this typing wouldn't be decidable, even with the help of SMT).

The type of 'safeDivide' could be a "depended function type", tough.
I don't know enough about the subject to offer confident recommendations. I really liked EOPL but it's not trying to be logically rigorous in the way CompCert is.
Not Giving Up on Data Surveillance
hydrohomies

hotsauce

mtb

common_lisp
Ask HN: Looking for a Development Agency
Background: building a live video application with $20k available funding

Can people recommend solid mobile development agencies (open to any county)
Insurers will subsidise these things, like black boxes in cars. Anyone fancy selling them to Saudi so the government can check you're not drinking alcohol?
I still think the creators of that game described it the best: "A game for people who like technobabble and shouting." It's one of the few games in that category of game where even the most level-headed person will be in a fun-but-frantic panic in no time. There is pretty much no limit in how good you can get at this game.

In my experience the real skills in this game are first of to know when to shut up so someone with a more pressing matter can get their instruction in and secondly learning to talk and listen at the same time.

I would greatly recommend this game, there's basically no rules to explain. I'll be buying the card-game edition pretty soon so I can play it with my less tech-inclined parents.
Yeah I know I'm on one side of the fence with this. The people I work with (not engineers) use conda all the time and love it.

A big thing for me is that apt + pip means I know more about what I'm installing, whereas conda seems like it'll go off and do what it thinks is best. If it's going into production then I want to know why we need package X and how it's been installed, rather than "conda says we need it".

Basically, I think conda encourages "install and forget" which means people don't really know or understand what they're putting into production. And that can cause a lot of problems further down the line.

Also the fact that conda installs everything to sandbox causes it's own issues. Suddenly I have two versions of a system package. Now I've got to do extra work to deal with that.

Then again, it could just be I never got over the time where uninstalling anaconda ripped apart the python install on my MacBook. That's a weekend I won't get back.

__

Also, Production shouldn't use virtual environments in my opinion. That's an additional deployment/build step which could fail one day. The container image is a virtual environment in and of itself anyway!
In some ways it is even more abstraction-friendly than C because of how easy it is to manipulate functions or redefine its own interpreter/compiler. There was a nice example of a Tiny C compiler written in Forth by Marcel Hendrix posted to comp.lang.forth, with a Forth-defined VM as target. I posted a story about it at https://news.ycombinator.com/item?id=23455548

The big problem with Forth is software reliability: ad-hoc Forth code is hard to reason about in any generality. Languages like Factor show that dialects of Forth can be much better in this regard.
If that were to happen, when someone inevitably found out, we'd be due compensation under the GDPR/the California law.
I also cannot get it to work in Firefox.
Loosk very useful! Will definitely use this for my next design needs.

I can search trough it now via CMD+F, but it would be nice to add a search function showing a list of results. It can be very basic keywords search.
>Personally I respect somebody who “freestyled” his way through PhD as measured by research output a lot. E.g., quite a few women take that route along with maternity leaves

Nitpick: You may want to change "his way" to the gender neutral "their way" especially since you use women taking maternity leave as an example. :)
It needs “here’s why you should have used XYZ instead, obviously” to really round it out in my opinion.
Indeed. And since they are very open as to what they collect, feel free to point out anything disturbing.

As for the publicly posted results, it seems to me like they try to understand who uses their products and how. That's not worse than basic website analytics, and that's data they certainly need in order to prioritise their development.

But I may be missing your point. Can you point to a specific datapoint in those documents that you object to, and explain why?
Yes. But why? Multiple episodes of 'the Plague' and climate swings (probably caused by volcanic eruptions somewhere else).

edit: I mean, look at what is happening now. All sorts of disruptions because of some sneezery (regardless of real or imagined danger, it's the policy that matters). Now imagine further disruptions by volcanic ash particles and gases in the atmosphere. So F-ed!
Here is a write up about the history behind The Mysterious Cities of Gold:

http://jeffzurita.com/2019/05/19/estevan-and-the-cities-of-g...
so the choice of wordpress or nodejs or whatever is a developer driven decision. However, the non-technical team will want a brilliant CMS experience.

If you can convince the tech team to build your entire infrastructure on Wordpress/php...then great, go for it. But most likely the rest of your app is built in different languages.

So a "headless CMS" like Strapi gives a brilliant CMS experience and exposes the content as a graphql api. To be fair, you can achieve that in Wordpress as well - https://www.wpgraphql.com/. But I suspect that most engineering will be happier to touch a reactjs based product versus a PHP based.
This is not trivial in strict languages either, because implementation details of a particular language/library dictate the rules. For instance:

l = list(range(N))
for _ in range(M):
x = list(l)

CPython will have MxN iterations (allocations?), whereas other languages/libraries where data is immutable may decide to optimise the list() constructor and return a reference to the same object when the input is an instance of a list.

In lazy-by-default languages I can at least rely on normal evaluation order.
How are you going to treat violent crime? What are you going to do about street gangs? No amount of social work, hand-holding or counselling will get at those.
Sure, I'm not contesting that FORTH has a certain charm. It's a really neat 'underground' language.
It is true for companies that recently trying to adopt this "microservices" catchphrase. Just because it is a trend and somebody sold kubernetes/cf/some-other-cloud-solution to the company, they end up overusing it and creating a new microservice for something that could just be a separate package in already existing microservice. I am definitely not encouraging monolith architecture, they are horrible to work with, but I am also not suggesting 1500+ microservices for a company like Monzo (just considering their lack of functionalities compared to other new banks, 1500+ microservices sound like nanoservices instead to me)
graphql == rest api that looks like sql.

so you can move from AWS AppSync to Strapi to Graphcms without changing your code.
As long as an infrastructure implements the Graphql api standard, your code will work without changes.
Compare the Forth code to the Marc Feeley's C original:

https://gist.github.com/seanjensengrey/874a1dcdb7b40407ac916...
Vite.js – An opinionated web dev build tool
You are comparing a video that you already found to a forum that you need to search first.
You load up the debug info and get all file/line info you need, or you debug the core file.