skysight-inc/HackerNews huggingface dataset:
Good point.

Barring something like a `git revert` (which depending on age of the commit might not even be possible), I would imagine a manual revert done to the best of your ability (followed by a rewrite) would be considered a good faith attempt.

Whether or not this would get you into legal trouble is left as an exercise to the reader. IA(also)NAL.
I love how weird errors like this can affect culture and the language itself.

There was an album put out last year named 彁, which is one of the more well-known ghost kanji: http://www.rd-sounds.com/c97.html
Software engineering is an optimisation problem in the same sense that other engineering fields are optimisation problems. There are tradeoffs to be made on many dimensions, just like in any engineering discipline.

Again, mathematical tools can be used to prove the correctness of programs.
Oh no, my computer might be at risk! So that's what I missed out on when I switched to linux :) (Fantastic effort guys)
There is a lot of young people who think that stocks only ever go up. Wait until the the stock market crashes, and target date funds with it.
Unicode 13 sextants advances state-in-the-art terminal rendering
I'm the author of a blingful TUI/character graphics library by the name of Notcurses. One of the core competencies of Notcurses is rendering images and video to a terminal (without undue shrinking of the font). Leaving aside asymmetric rendering such as that performed by caca (see Notcurses documentation for an explanation of why I don't think this a good general approach), common symmetric rendering techniques include spaces and Unicode half blocks ( and ). This last method is employed by tools like viu and mpv's TCT output, and can be considered the general "state of the art".

Notcurses had already gone past this with its Quadblitter, making use of Unicode 3.2's quadrant blocks to map 2x2 pixels to a terminal cell. With the advent of Unicode 13's Legacy Computing Symbols (and rollout of font support for them), a powerful new symmetric blitting method is made available, mapping 3 rows of 2 columns each to a single cell. This blitter is available as NCBLIT_3x2 in the upcoming Notcurses 2.0.3. I was worried that color loss would be more of a problem, but it ended up looking great!

The following images are rendered using all four blitters:

https://nick-black.com/images/worldmap-sexblitter.png (left to right: S, Q, H, ASCII)

https://nick-black.com/images/sexblitter-perfection.png (clockwise from upper left: ASCII, H, Q, S)

The algorithm is described here: https://github.com/dankamongmen/notcurses/issues/1086

code here: https://github.com/dankamongmen/notcurses/blob/master/src/lib/blit.c

notcurses: https://nick-black.com/dankwiki/index.php?title=Notcurses

hype video: https://www.youtube.com/watch?v=cYhZ7myXyyg

enjoy! hack on!
It is money in an important way not shared by dollars: it can't be devalued. Based on current valuation people see this as extremely desirable.
> That's the moment when, suddenly, 1) the antagonist molests a child or rapes a woman, and is killed with glee, or 2) the hero gets the upper hand on the antagonist but decides morally and bravely not to kill them, then turns their back on the antagonist for no reason; the ungrateful antagonist immediately takes the opportunity to dishonorably kill the hero from behind, but is killed by a sidekick, secondary character, or act of God in the nick of time, leaving the hero pure.

Could start that way. I think it's Thomas Covenant that works like this? An interesting contrast to the point, perhaps.
Fair enough. Thank you for sharing your thoughts.
No, no I didn't. All of the money from that I paid upfront with the hardware.
Precomp works by brute-forcing the zlib/.../ parameters used to get byte-identical input; then decompressing; and (optionally) recompressing with a stronger compressor.

It was closed-source for a long time and AntiX was an open source version.

One interesting use case is for archiving Android ROMs for projects such as LineageOS. Each ROM is a zip file, they differ in bytes almost entirely and storing a long amount of history takes a lot of space. But under precomp, the differences between two nightly builds are quite small, and they can be packed together into a solid archive for a significant (90%+) space saving.
Where are you located exactly?
Common Lisp[1] is pretty easy to set up, you can use portacle[2]. It's also one of the oldest and most popular. If portacle isn't in the repos, sbcl[3] is.

EDIT: For reading you can try Practical Common Lisp[4] or the Land of Lisp[5] if you want a dead tree. These I've read but there are more[6].

[1]: https://common-lisp.net/downloads

[2]: https://portacle.github.io/

[3]: http://www.sbcl.org/ (EDIT: fixed link)

[4]: http://www.gigamonkeys.com/book/

[5]: http://landoflisp.com/

[6]: https://www.cliki.net/Lisp%20books
> I don't think we ever mentioned OCaml

How could you have not mentioned OCaml? The original Rust compiler was implemented in it. By this, Rust has a very clear (OCa)ML heritage.

It's meaningless to argue, whether Rust got ADTs from Haskell or OCaml, because the author (Graydon Hoare) had been clearly familiar with both and both got ADTs from ML, which is much older than either of them.

On the other hand, traits are a different story, those just Type classes with a different name, and that is a Haskell thing.
I cringe everytime I hear people (especially investors) talk about "spaces". It encourage a mindset similar to real estate where land is limited, and you claim pieces of it.

Markets and technologies are not bounded spaces. They only seem "crowded" because all the existing players are doing similar things, when in fact the entire pie could be made much bigger if you do things a different way.
The thing is these are not the "absolute worst-case human driver", these are the absolute average human drivers.

People get easily distracted, get excited, get tired, all of which are propitious to bad decision-making.

Many human drivers are downright dangerous, but that's not a reason to add dangerous machine drivers on the road, either.
The CDC estimates a tenth of the US over the age of six has taxoplasmosis [1]. It's so prevalent, it's hardly specific to tech.

[1] https://www.cdc.gov/parasites/toxoplasmosis/epi.html#:~:text....
McAfee's problems are due to his insane drug experimentation. That he is alive is something of a miracle. Read and despair: https://www.reddit.com/r/JoeRogan/comments/8utitu/john_mcafe...
I feel like everything and nothing has been attributed to it at some point.
Is it because MIT/BSD software is more common in web or scripting language cultures, where code tends to be replaced faster? Or more common in newer code which most will not survive for years?
Can you tell us which LED grow lamp you use and which stand? I tried searching on Amazon but all of the product descriptions lie about their power usage.
As a counterpoint, the number one cause of death in America in 1950 was heart disease. It’s also the number one cause of death today. We’ve still made a lot of progress in treating heart disease in the last 70 years
All in All, Another Brick in the Motte (2014)
this code is blowing my mind -

$arg = 'T';
$vehicle = ( ( $arg == 'B' ) ? 'bus' :
( $arg == 'A' ) ? 'airplane' :
( $arg == 'T' ) ? 'train' :
( $arg == 'C' ) ? 'car' :
( $arg == 'H' ) ? 'horse' :
'feet' );
echo $vehicle;

can someone explain to me why it should print out 'horse'? (what the article above says)

on edit: oh I get it, the false of the ternary statement here is on the left so when $arg == 'T' the true does ( $arg == 'H' ) which is false, hence printing out horse.

Well there's no reason true has to come first, but it is a c-flavored language so sort of weird it doesn't.
I love the style of the NeXT UI and still fireup WindowMaker now and then to get that NeXT feeling.
>Maybe they're just cat owners⁽¹⁾.

So like a billion other people with cats, or hundreds of millions with toxoplasma?
𝚃𝚑𝚊𝚝'𝚜 𝚊 𝚐𝚘𝚘𝚍 𝚙𝚘𝚒𝚗𝚝. 𝚃𝚑𝚎𝚢 𝚜𝚑𝚘𝚞𝚕𝚍 𝚒𝚗𝚌𝚕𝚞𝚍𝚎 𝚝𝚑𝚘𝚜𝚎 𝚒𝚗 𝚄𝚗𝚒𝚌𝚘𝚍𝚎. 𝙾𝚑.
Twitch detects and tells you to stop using adblockers
Not all aspects of programming can be described by math.

Mutations and IO are very critical parts of programming and the two areas where FP breaks down. Even the IO Monad leaks the imperative nature of the program over to the programmer.

The only way pure FP can sort of work is if there are heavy frameworks abstracting IO and mutation away from the programmer. If you're not doing IO or mutating something then your caching framework, database or Haskell runtime is doing it for you. Additionally like I said earlier, Even if your database is handling mutation for you, you still end up embedding mutation commands into the strings of your pure FP function. Updating a database in haskell still necitates the haskell user to place the mutation command in a SQL string.

My point is, that math is not the complete solution to the programming problem. What FP allows the programmer to do is to use the framework to segregate combinatorial logic away from mutation and IO. Your combinators will always be more composeable and modular but your IO and mutation functions will be less modular but they still have to exist.
First, before making any decision, do a coin flip: https://blog.allpsych.com/why-flipping-a-coin-is-a-good-way-...

Second, you'll need someone that good at pitching (investor and customer) inside your circle. Try your best to not hire one, since it may be expensive.

Third, make minimum viable product, no less.

Last, hope for the best of luck, since it's also play an important part.
There are swastikas facing both directions as religious symbols, but not angled Hakenkreuz like the Nazis tended to use. There also isn't a fasces or anything like that, although I feel like that's a less widely recognized symbol (and of course it is used in non-fascist contexts as well).

Probably the most interesting political symbol in Unicode is the Emblem of Iran: https://en.wikipedia.org/wiki/Emblem_of_Iran

It's referred to officially as "FARSI SYMBOL", which apparently was a euphemism chosen because during ISO standardization of Unicode the original name "SYMBOL OF IRAN" was deemed unacceptable. As a logo, it wouldn't make it into the standard today, but nobody knows how it originally got in there:

http://archives.miloush.net/michkap/archive/2005/01/29/36320...
> Every system capable of running Java also has its own trust store

No, they don't: https://en.wikipedia.org/wiki/Java_Card

there are also other examples of java running in embedded and semi-embedded scenarios where a TZDB and a SSL trust store would not be guaranteed by the host.
Probably you should start focusing your marketing efforts away from UK.
I hope this doesn't sound strange but I'm glad to finally get closure on this.

I remember the news article from 3 years ago that came out about this and there was speculation that this was just a random attack on a regular hiker. People started becoming paranoid that hikers and innocent people were being targeted on the side of the road.

I realize logically every life counts but there's something about random attacks that scare me so much more than people that commit crimes and start getting targeted.
>You kind of have to wonder what went so terribly wrong in childhood that led to this behavior.

Or terribly right. He had an interesting life, which is more than can be said for many!
If someone does not say something because of fear of how they will be perceived I’m not sure the policy is the root cause ... and if a whole group of people behave that way (as I would assume often more than one person would have the same reservation) then that points to other issues.

And if a company’s culture uses affirmative action or quotas to hire people who they should not have, then that’s just racism of a different kind, and, I’d argue, not necessarily unique to or always caused by the policy.
Scheme is the best pedagogical language, primarily because it is simplified specifically so that it is easier to teach, while still retaining all of the power of Lisp. It also has the absolute best computer science textbook, The Structure and Interpretation of Computer Programs.

Common Lisp is the most practical Lisp, because it's actually designed for building large systems and for supporting all possible programming paradigms (procedural, functional, object-oriented, logical, etc). There are also a lot of great books written about it. On the other hand, it's a much larger language with many more parts, so learning it is not as easy. You can still get started with simple programs pretty quickly, and gradually learn the large standard library and the more complex features over time.

If you're at all interested in physics and you've read SICP, then you should also read The Structure and Interpretation of Classical Mechanics. This is a very advanced book, but it uses some really clever language extensions present in MIT Scheme to do both numeric and symbolic calculus in order to both teach and implement physics. MIT Scheme is worth checking out if you're interested in advanced programming language design, even if you're not particularly interested in physics.
A 3d printer filament printer, you might say.
Meh.

var colours = coordinates.stream().map(this::computeColour).collect(toList());

var colours = coordinates.stream().parallel().map(this::computeColour).collect(toList());

Java doesn't do as much (well, anything) to help you make sure the implementation of computeColour is suitable for parallelisation, but that comes with the territory. On the other hand, it will automatically split the stream up appropriately for the number of cores you have.
Ctrl + W (Or Command + W on Mac)
> One of my favorite Unicode oddities is in the cyrillic block. Some books used to use the letter "ꙩ" when writing the word eye (ꙩко).

Interesting. That "ꙩко" looks phonetically (if that's the right word, I'm not well up on linguistics (if that's the right word again, ha ha)) a bit like the Hindi word "aankh" for "eye". The "n" sound in "aankh" is emphasized less, for lack of a better term. Actually, in Hindi, it is shown as a dot on top of one of the other letters, to show that.

Also reminded by this, via George Borrow's novel Lavengro[1] (a story about gypsies), that the gypsy and Hindi words for "nose" are similar, "nak".

One theory is that the gypsies (Roma(ni)[2]) migrated from northwestern parts of India to other parts of the world, such as North Africa and Europe.

Aankh (pronounced almost like aak) and nak, get it? :)

[1] https://en.m.wikipedia.org/wiki/Lavengro

[2] https://en.m.wikipedia.org/wiki/Romani_people
What bothers me is that for some reason only some latin letters and numbers are available as subscripts and superscripts...
Clojure is pretty popular. Big community. Lots of code. Definitely more momentum than Common Lisp. If that is what you are looking for.
Java Multi Threading with ExecutorService (2017)
Apparently precompressor is a general term [1] that applies here:

> A precompressor is a computer program, which alters file content so that a real lossless compression program will achieve better results than without precompressing. This is possible by creating such patterns that compression programs will recognize.

In this case the altered content is (quoting the README) "decompressed data from the original file together with reconstruction data"). So confusingly enough its precompressing includes decompressing.

I don't think "precomp" is a real accurate name for the whole tool, but that might be where it came from.

With no flags it will precompress (including decompressing) and compress. With -cn, it will precompress alone. With -r, it will decompress and...I dunno, postcompress (including compressing)?

[1] https://findwords.info/term/precompressor
Have you tried Breez [1] on ios or phoenix [2] on android? Non custodial mobile lightning wallets have come a long way.

Lightning still has some rough edges (async payments) and unsolved issues (spam resistance) but it’s a lot closer to
being a convincing private scalable p2p payment network than many realise.

[1]: https://breez.technology/
[2]: https://phoenix.acinq.co/
Random attacks do happen, but most attacks are done by someone the person already knows (for rape atleast)
He seems to be enjoying his life, from what few videos and articles of his I've read.
> literally don't have the physical option of communicating

I am saying that the problems of getting kicked off of a facebook are larger than that of getting kicked off of the communication utility that is phone calls.

And this is due to things like network effect.

And these issues and prevention that make it difficult for people to switch is larger on facebook than it is for phone calls.

So the "physical prevention" is larger for facebook than it is for phone calls.
> I've always heard about this possibility but I wonder how one would rewrite code, should the need arise. Wouldn't it be hard to do without effectively making a derivative work?

This is an issue GNU has faced, they recommend optimizing for different things:

> If you have a vague recollection of the internals of a Unix program, this does not absolutely mean you can’t write an imitation of it, but do try to organize the imitation internally along different lines, because this is likely to make the details of the Unix version irrelevant and dissimilar to your results.

> For example, Unix utilities were generally optimized to minimize memory use; if you go for speed instead, your program will be very different. You could keep the entire input file in memory and scan it there instead of using stdio. Use a smarter algorithm discovered more recently than the Unix program. Eliminate use of temporary files. Do it in one pass instead of two (we did this in the assembler). — https://www.gnu.org/prep/standards/standards.html#Reading-No...

In fact RMS had experience from his competition with Symbolics:
http://www.gnu.org/gnu/rms-lisp.en.html#foot-6

> The Symbolics source code was available at MIT, where I was entitled to read it, and at first that's how I found out about their changes.

> But that meant I had to make a special effort to solve each problem differently, in order to avoid copying Symbolics code. After a while, I concluded it was better not to even look. That way I could write code in whatever way was best, without concern for what might be in Symbolics' code.

(of course, this applies more to larger utilities, inopinatus’ comment https://news.ycombinator.com/item?id=24955918 should come in handy for smaller code snippets)
It's easier to call everything a scam than actually spend time to learn. There are tons of Youtube channels, Twitter accounts, Reddit pages, Discord/Telegram groups, etc. with all the information. It's hardly "insider" knowledge. Are there scams and pump & dumps? Sure. But if you manage your capital, a few rug pulls aren't going to ruin you.
Hi! We offer both monthly and annual billing. Sorry for the confusion- we’ll clear it up on the landing page.
It’s not sexist to say a woman (in general) is physically weaker than a man, it’s a fact due to biology.

I’m just saying that I only see society accepting women hitting a man in the context of a rare slap in sitcoms or movies in the heat of the moment, but I wouldn’t take that to mean society accepts women harming men long term or whatever Depp / Heard thing you’re referring to.
Both can be true. IME 95% of code gets thrown away in pretty short order. 5% really lives on - often for decades.
VLC.

Open the URL in VLC, then in video info the actual video file will be listed. Paste that into your browser of choice and Save As.
We're talking about a 20-year-old operating system here, what motives could one possibly have?

Classic MacOS never had widespread malware to the extent of Windows worms like Melissa or ILOVEYOU, a claim backed up by your link.

It's very plausible that the reason for this was that with far more users, Windows was a more attractive target. There is a reason that Bill Gates wrote the Trustworthy Computing memo and not Steve Jobs. (I doubt MacOS was actually more secure by design at that time.)
Most shared hosts also supported CGI with scripts/binaries in a set cgi-bin directory. A lot of them (that I ever saw) even had some preinstalled CGI scripts linked into the user account's cgi-bin.

What a lot of shared hosts did not support were things like mod_cgi or mod_rewrite that might let you make cleaner looking URLs. With PHP you just enable mod_php and add index.php to the DirectoryIndex directive and call it a day. Many hosts didn't allow overrides so you couldn't add a CGI handler to your DirectoryIndex unless you knew the server admins.

So like I said, PHP was the easiest to get running. It wasn't the only thing that worked or was supported but it made it simple to have URLs that looked "professional" with no access to a server's configuration and no ability to override defaults. So it worked well for cheap shared hosting.

I'm still annoyed I know this stuff almost twenty years after having to deal with it. People really wanted their brand new .com address to serve up their "dynamic" homepage with nothing hanging off the path. PHP was the worst is better way to make that happen.
One thing he got wrong is that computer power and network speed will scale exponentially to accomodate infinitely large blockchain size. Intel's Q6600 of 2007 is still not too much slower than today's processors.
Sort of a catch-22 isn't it? Maybe those experimental drugs could make a man crazy, but he'd have to be crazy already to take those drugs in the first place.
In that documentation he only talks once about the tech scene and he absolutely nailed it: "The one thing that we have to get right is that humans are in control of the technology and not vice versa."
> Writing functions that receive other functions as input can lead to over complicated code that's really hard to read.

Although your opinion is more extreme than I can get behind, I don't entirely disagree. I find monads and applicative functors are far easier to understand when presented in their non-higher-order formulation -- that is, "flatten" instead of "bind", and "merge" instead of "ap". You still need to understand "map", but that's an incredibly common pattern that you can get a lot out of for putting in just a little.

I wrote a little comment on this earlier this week.

https://news.ycombinator.com/item?id=24894849

I also agree with your opinion elsewhere about preferring combinators instead of directly passing higher-order functions, but I suspect that's much more of a style and design issue than a language feature distinction. You still need higher-order functions (and I'm frustrated weekly by Java's lack of higher-kinded types or pleasant existential types) as the basement layer to expose a beautiful API in more natural terms.
PHP was already very successful before Django or Rails even had their first release.

I remember trying to set up a Python Django web site for the first time around 2010 because Python seems like the better language and it was such a PITA compared to PHP's it-just-works nature.
People will really keep saying the Tesla system sucks up until they solve autonomy lol. They're the farthest ahead and it's not even close.
No, there was a sizeable contingent who said that all lives have value and celebrating a man's death was demeaning.
The lesson learned should be that copyright still applies to copyleft code. If you plan on changing the license, ensure that you have the rights to all of the code that you are changing the license for. People will still complain, but they won't have a leg to stand on.

There are also lessons to be learned about conflict resolution, particularly about the consequences of escalating a conflict.