skysight-inc/HackerNews huggingface dataset:
Also to mention it, languages without discriminated unions often have generics and function types, which can be used to build discriminated unions with Church encodings:

// idiomatic typescript
type Optional<IfAbsent, IfPresent> =
| {type: 'absent', detail: IfAbsent}
| {type: 'present', value: IfPresent}

// Church-encoded version
type Either<x, y> = <z>(ifLeft: (x: x) => z, ifRight: (y: y) => z) => z

// isomorphism between the two
function church<x, y>(opt: Optional<x, y>): Either<x, y> {
return (ifLeft, ifRight) => opt.type === 'absent'? ifLeft(opt.detail) : ifRight(opt.value)
}
function unchurch<x, y>(opt: Either<x, y>): Optional<x, y> {
return opt<Optional<x,y>>(x => ({type: 'absent', detail: x}), y => ({type: 'present', value: y}))
}

In addition the Church encoding of a sum type, is a function that takes N handler functions and calls the appropriate one for the case that the data type is in. With a little squinting, this is the Visitor pattern.

interface LeftRightVisitor<X, Y, Z> {
visit(x: Left<X>): Z
visit(y: Right<Y>): Z
}
interface LeftRight<X, Y> {
accept<Z>(visitor: LeftRightVisitor<X, Y, Z>): Z;
}
class Left<X> implements LeftRight<X, any> {
constructor(public readonly x: X) {}
accept<Z>(visitor: LeftRightVisitor<X, any, Z>) {
return visitor.visit(this)
}
}
class Right<Y> implements LeftRight<any, Y> {
constructor(public readonly y: Y) {}
accept<Z>(visitor: LeftRightVisitor<any, Y, Z>) {
return visitor.visit(this)
}
}
// isomorphism
function visitify<X, Y>(opt: Optional<X, Y>): LeftRight<X, Y> {
return opt.type === 'absent' ? new Left(opt.detail) : new Right(opt.value)
}
function unvisitify<X, Y>(opt: LeftRight<X, Y>): Optional<X, Y> {
return opt.accept({
visit(value: Left<X> | Right<Y>) {
return value instanceof Left? {type: 'absent', detail: value.x} : {type: 'present', value: value.y}
}
})
}

The main difference with the usual visitor pattern is that the usual visitor pattern doesn't return anything (it expects you to be holding some mutable state and the visitor will mutate it), you can do that too if you don't have access to a suitable generic for the Z parameter.
Generating a Blogroll with OPML in Hugo (2022)
Quoting is part of fair use ;)

Feel free to keep on trying though!
Make it less confusing to setup VLANs
Thank you for your suggestion. I'll consider how I can achieve that.
That's fair. I miss MP3 players and even feature phones - all of them could be operated without looking at them!

Alas, ever since Apple showed it's Courage™ by ditching the audio jack, Bluetooth headphones became ubiquitous (doubly so thanks to AirPods and alternatives). They're nice and all, but they also have mikes, so you want to use them for calling and voice messaging too, and then you can also put notifications on them, ... with Bluetooth device switching being what it is, this complements and reinforces smartphone's role as single device for everything.

EDIT: I wonder if it's possible to have some kind of mixer wearable that would accept wireless audio streams (both in "music" and "headset" modes) from multiple devices, mix them together, and route to a single set of wireless headphones. That would solve a lot of the issues I have with wireless audio in practice.
You can but it defeats the purpose of typing. Makes a little bit more complicated to code and more verbose for almost no benefit. That is my point.
perhaps more of a weighting system on proper names and whether it’ll return copyrightable material, strange what works and what just doesn’t.

“lisa frank” doesn’t work, but “a clone of lisa frank” does. “deiter rams” doesn’t work, neither does “a clone of deiter rams”, “facsimile”, “design language”…
it's definitely relevant for early-stage products who deeply care about realiability. are you already handling some amount of alerts today? there's a bunch of stuff you can do with workflows to automate processes and help your users.

we do integrate with AWS Cloudwatch but not yet with Vercel's observability, but can add that if you want to give it try
If you jigger the slider fast enough, persistence of vision will give you the answer pretty quickly.
Sounds like ad-hoc lack of product/program/project management, a lack of setting customer boundaries, and manager/team lead backing you up. Also, startups do involve and sometimes need the flexibility to experiment, so not all effort will be used in the final thing. Plus, be aware not to keep it clean and proper because deferring crap too long leads to culture of tech debt that never goes away, it just gets worse geometrically and slows everything down until it's a singularly consuming 100% of bandwidth... and then so much for "worry about it later".
1. Simple Multi-WAN support in the UI. Take a look at the Fresh Tomato UI for a good example of how to do this.

2. Easy tailscale support. If my router goes wonky, I really want to be able to get to it, and there’s no guarantee that I can connect directly through my upstreams.
Small typo on your "Mapping" page
"Enirch alerts with more data from Topology, CSV, JSON and YAMLs"
I had an employer want that too, but we protested. Basically making that the case that they'd need to provide us with phones so that we don't have to install invasive apps on our personal devices. We ended up getting tiny hardware tokens that go on a key ring and couldn't access GPS, cameras, microphones, sensor data, network, etc even if it wanted to.
Multi-AP. I don’t care about “mesh”, aka wireless uplink, personally, but I do care about the ability to do a competent multiple-AP deployment. Beyond just synchronizing configuration, I consider 802.11k, v and r to be table stakes. And I don’t mean “we use hostapd and you can, in theory, turn it on”. I mean actually deploying multiple instances, using an actual supported, documented and easy configuration, and ending up with a correctly configured network or three that actually work across APs near-optimally. And I should be able to configure and manage this all from one place. Heck, this should be the default configuration.

The fact that OpenWRT can’t do this is why I don’t use it any more. Otherwise I rather like OpenWRT.

There’s an open-source implementation of a WiFi alliance spec for Multi-AP called prpl that’s even based on OpenWRT. I’m sure it’s a mess and supports all manner of undesirable crap, but the good parts could be a good place to start.
> but it seems silly to me to say oral traditions aren't durable and that writing is the only way to get at history

I mean, it is true. There are no oral traditions left of the Sumerians or the Assyrians that I know of. Meanwhile, you can find buildings and clay tablets and translate them.
They moved to nftables a release ago, fw4 uses nft under the hood, and there are hooks provided if you want to run your own rules.

https://openwrt.org/docs/guide-user/firewall/misc/nftables
> First, R2 is not 100% compatible with the S3 API. One notable missing feature are data-integrity checks with SHA256 checksums.

Maybe it was an old thing? The changelog [0] for 2023-06-16 says:

"S3 putObject now supports sha256 and sha1 checksums."

[0]: https://developers.cloudflare.com/r2/platform/changelog/#2023-06-16
Any issue with copyright? Lots of brands named right in your copy.
A strong opinion does not have to be about what tech stack to use for best results, that depends on the goal. It could also be a few notches above the actual tech. My strongest opinion would be about the usability of what I'm creating, not just what the user wants but to figure out what they really want. Sometimes they are so blind to the actual problem that the solution they want isn't quite fixing the problem in the most efficient way. Especially if they don't know enough about the tech to know other ways of fixing the workflow to their liking.
AI spurs 'revolution' for some visually impaired people
That is actually what my "try out for a day" experience with Nomad was years ago. Just run the VMs, connect them, and they auto load balance. While it took a week or so to get even the most basic stuff in Kubernetes and not even have 2 hosts in a cluster yet, while having to deal with hundreds of pages of bad documentation.

I think since then the documentation probably has improved. I would hope so. But I will only touch Kubernetes again, when I need to. So maybe on a future job.
> When I asked Denisov-Blanch if his algorithm was being used by any companies in Silicon Valley to help inform layoffs, he said: “I can’t specifically comment on whether we were or were not involved in layoffs [at any company] because we’re under strict privacy agreements.”

> I have friends, I call them at 11 am on a Wednesday and they’re sleeping, literally. I’m like, ‘Whoa, don’t you work in big tech?’ But nobody checks, and they’ve been doing that for years.”

> [he] said that he imagines a future where engineers are judged more like salespeople, who get commission or laid off based on performance.

It's amazing how much this guy clearly has an axe to grind about his "friends" and is apparently rewarded for tweeting out unsupported conclusions like "might work multiple jobs" to unpublished, un-reviewed research.

Do they not do IRB review at Stanford? Why are you allowed to enroll companies in research by touting that they can use your algorithm to lay employees off?

*Technically not a layoff if it's based on the employee's performance metric but this distinction seems not to matter to the author
The exact protocol was kept secret. But the alliance itself was no secret at all -- the whole world knew about it, and there were open "victory parades" in major cities like Brest, Lwów, and Grodno. They even built elaborate "Victory Arches" with swastikas and red stars side by side.

If that doesn't count as a signal of "enthusiasm", I don't know what does.

https://en.wikipedia.org/wiki/German%E2%80%93Soviet_military...
>In the past thirty years, the Thoreau Institute has critiqued well over one hundred forest plans, park plans, transportation plans, and urban plans. We have consistently found that the plans are flawed, and when implemented they produce disastrous results.

>The problem is with the idea of planning itself. Our new web log, The Antiplanner, promotes the repeal of federal and state planning laws and the closure of state and local planning departments.

I'll bring this up in my next engineering meeting, planning is the problem!
I used Railway as a "set it and forget it" for a client project, and I hadn't heard from him in over a year until some Railway update caused some issues with the deploy (something about group permissions). But support was very helpful in getting that fixed very quickly, so credit there! (And to be fair it did apparently work without any problems for like a year and a half, so credit there too!)
> Older computers usually guzzle power, especially if you look at the absolutely awful Pentium4 systems.

https://en.wikipedia.org/wiki/List_of_Intel_Pentium_4_proces...

The Northwood chips were 50 to 70 W. HT chips and later Prescott chips were more 80 to 90 W. Even the highest chips I see on the page are only 115 W.

But modern chips can use way more power than Pentium 4 chips:

https://en.wikipedia.org/wiki/Raptor_Lake

The i5-14600K has a base TDP of 125 W and turbo TDP of 181 W, and the high-end i9-14900KS is 150 W base/253 W turbo. For example, when encoding video, the mid-range 14600K pulls 146 W: https://www.tomshardware.com/news/intel-core-i9-14900k-cpu-r...

More recent processors can do more with the same power than older processors, but I think for the most part that doesn't matter. Most people don't keep their processor at 100% usage a lot anyway.
> I'm aware, but it seems silly to me to say oral traditions aren't durable and that writing is the only way to get at history.

no one said that

but there is a definitional issue here - to reiterate the previous poster's point:

> Historians use “history” as a technical term for events recorded in written and other durable records.

That's how the word is defined by historians. It's not a value judgement on oral traditions.

Your post is using the word "history" in a different way. You have some good points to make, but as long as you're using "history" in a different way to everyone else you're not going to get very far in conversation.
Ask HN: What framework to use to build multi agent systems in TypeScript?
These critiques/nudges/reminders about screen time are as much worth as a YouTube short: a dime a dozen. Completely shallow, thoughtless, vapid and a waste of time.[1] Anyone can make the point that people are staring at their phones. That they spend time on social media.

It’s the equivalent of getting up on a soapbox and exclaiming that we live in a society. (Except everyone is on their phone and won’t give you any attention)

Why? Why are you on your phone? Well, have you, the critiquer of the supposed malaise given any real thought to that? Or do you have no insights to offer, nothing more than a rhetorical one-word question to ask, nothing that penetrates the surface of the supposed problem?

Have you, OP?

At least propose a theory. Like: maybe people are overstimulated and have choice fatigue. Then what the hell does yet another automated nagger help? One more reminder that you should drink a cup of coffeine-free green tea and smile at a stranger?

Nothing was uncovered. Nothing was gained.

[1] This is not true. Making YouTube shorts takes some editing skills.
I'd settle for not getting sued when I try to jailbreak it.
I've been the guy who nailed it, and I've also been the guy who proves that frauds are everywhere and resumes are meaningless because he can't do FizzBuzz.[0]

I'm not doubting there are people who apply and just aren't qualified. But if your evidence that there's a ton of fraud is coming from a fraud detector which keeps finding fraud, confirming that you need the fraud detector, and showing you how good it is at finding fraud, how would you detect if it was finding fraud that isn't there?

[0] https://news.ycombinator.com/item?id=16915511
Have you tried the Intellij paid AI plugin? I haven't used it for the tasks you describe but it sounds like the sort of thing it might do.
Japan is the worlds first steady state economy and got that way due to a sudden stagnation in trade and then demographic crash over a generation.

They've tried just about anything (except unrestrained foreign immigration or forced breeding) to jump start the economy but nothing has worked.

Inflation is effectively zero...
The Internal Ramp of the Great Pyramid (2023)
I agree, no-signup is really nice, esp. since I'm hesitant to have my kids signup for things, and of course free is nice. That said, if you do want or need to monetize, one idea would be to slap a donation link like 'Buy me a beer' on it. I could see some people being willing to send a few bucks to your daughters' college fund in exchange for infinite coloring pages for their kids. Also, it probably makes sense to cache if you're not already - once someone generates "Paw Patrol vs Scooby Doo", put it in CDN and serve up from there instead of generating again.
I love Skunk works! the book right next to it is called the Goal and is my highest recommendation, so you two should check that one out as well.
What good is thousands losing their jobs?
That's a risky way to do it. Start something on the side and get it going generating positive cash (validated) before jumping ship. Not doing so risks bankruptcy and lots more stress.

Ideas aren't profitable, only that which is shipped and paid for by customers is.
> Plastic (and clothing) on the other hand, is now mostly just collected and afterwards discarded (burned, shipped overseas to dumping grounds, etc.).

This is not true for drink bottles. (though they are not 100% recyclable due to material degradation, and there might be safety challenges for products made of recycled feedstock) I can't claim nothing is burned/etc, but it's most certainly not "mostly" for countries with a collection scheme.
Get pigs.
Starlink gets FCC nod for space calls, but can't dial up full power
Gradient Boosting Trees and LLMs for Tabular Data Few-Shot Learning
I never knew there was a name for this :)

When I was a demo coder my artist friend would just haphazardly go through all my assembler code and snip random lines out until it stopped working to improve performance.
> I recommend against trying to use Emacs bindings in Vim if you can help it

This is fine, I think. Using C-w is more convenient than <Esc>diw. I also find C-a and C-e quite convenient, although you need plugins for these (tpope's vim-rsi is good).

I might be worth starting without them, though, so they learn not to rely on them too much.

That being said, I use home-row mods, which makes Control a lot easier to use than regular keyboards.
Research Provides Complex Answers to the Effects of Aircraft Contrails
> The Stanford research has not yet been published in any form outside of a few graphs Denisov-Blanch shared on Twitter. It has not been peer reviewed.

While I don’t doubt the existence of some useless engineers and people secretly working two engineering positions, the fact that they’re claiming 9.5% of engineers are useless based on the output of some code analysis tool and the paper isn’t even published yet makes me think this is junk science. Is their tool going to mark the engineer with decades of institutional knowledge who mainly spends their time helping others as useless? Or the tech lead who is a manager in all but name but doesn’t have time anymore for code?
Prompt engineers, basically.
Don't they also dependon the architecture you are programming? 8-16-32-64 bit computers? Or did they standardise the names since I learned C (and never used it) 30-40 years ago?
I'd guess that it's actually a requirement. Domains registered under ccTLDs (country-code top level domains) are managed by regional bodies[0]. In case of .su, it's either RIPN or ROSNIIROS[1] which manages the registry and registrations.

But again - IANA is universally queried about given TLD and redirects the query to regional body. In case of .su:

> whois yandex.su

% IANA WHOIS server
% for more information on IANA, visit http://www.iana.org
% This query returned 1 object

refer: whois.tcinet.ru
domain: SU
organisation: Russian Institute for Development of Public Networks
organisation: (ROSNIIROS)

(...)

# whois.tcinet.ru
% TCI Whois Service. Terms of use:
% https://tcinet.ru/documents/whois_ru_rf.pdf (in Russian)
% https://tcinet.ru/documents/whois_su.pdf (in Russian)

domain: YANDEX.SU
nserver: ns1.snparking.ru.
(...)
state: REGISTERED, DELEGATED

[0] USUALLY; .tk, .ga, .cf, .gq were managed by by infamous Freenom due to incapability of owners to do it themselves

[1] https://www.iana.org/domains/root/db/su.html
Emacs is just too old to be architected with security in mind. It's a great editor, but has baggage that IMHO can't be addressed on the spot.

Working on a codebase where you can't (heavily?) break things between any commit imposes such a slow pace that it's not completely unreasonable to start from the ground up and just study what made Emacs great and what didn't work too well.

It's surprising how long Emacs has been around and how good of an editor it is. It really makes rewrite attempts such a long stretch that it exhausts the motivation and time out of spirited folks that give it a go, but I think that given how complexity is being modularised and moved out (LSP, DAP, grammars) and newer languages make packaging easier that Emacs will eventually be replaced, definitely without covering everything it can do, but being strong at the average editing session.
Watch out for Pokemon usage they are super strict about that
After 3 Years, I Failed. Here's All My Startup's Code
the fact that you're engaging w/ a random human on the internet proves that my argument is strong

if you don't like it, go talk to Claude about it

Claude will even use proper punctuation & grammar which i'm not doing. it's LITERALLY an objective improvement over this comment. why the hell are you engaging with this crap?
If they want to reduce head count, then reduce head count.

If they want counter-productive results, then anoint this Magic Algorithm to do the personnel management, and watch the (purportedly) 90% of productive engineers wast a bunch of time trying to game the Magic Algorithm, if they feel it needful.
This was similar to my reaction to that question, and how I'd respond to it in the interview (with curiosity around what they're trying to get out of it). It's not that I don't have strong opinions, but they are necessarily couched in context. Strong opinions lacking in context are a sign of a lack of experience. Sometimes unit tests are a must, and in other cases they are an absolute waste of time. Sometimes microservices are the right call, and others they are an unnecessary complexity. The more experience in this field I get, the more gray and amorphous my opinions become, and "it depends" is the default, if not interesting, answer.
I am reminded of the Polynesians creating a sort of "map" using the stick chart: https://en.wikipedia.org/wiki/Marshall_Islands_stick_chart
Yeah, you would think they would be two separate devices by now...
Anything that can't be solved analytically, I suppose. That's a pretty huge range of problems!
> According to Wikipedia it is 25,000 years ago and in Eastern Europe

The person you were replying to was asking about cities. The article you are posting is about Sedentism - "the practice of living in one place for a long time". The figure of 25,000 years ago is for the first evidence of permanent settlements. These do not fit anyone's definition of a city.

The first evidence of cities are from Sumer, which is what this whole thread is about.
Ask HN: Why hasn't Hexo taken off?
I recently converted my blog to Hexo but realized it seems like it doesn't get alot of love from really anyone outside China, why not?
> Antiplanner

There should be an app for that.
That and so much that! Much as I like OpenWRT, it's still quite a pain to cover anything like an older (thick walled) house with more than one floor. I'm about to redo one of those networks as my Christmas holidays project and I dread the day I need to reconfigure the APs.
Didn’t this also happen on some Asus motherboards a couple years ago?
Two reasons

1. Updates, every single router manufacturer abandons their routers within a few years, so you either keep buying new ones when the updates stop or you use open source firmware that extends that life until it's obsolete.

2. OpenWRT (and the others) expose all the features you need where manufacturers often simplify this or charge you extra for them. The hardware becomes use to utilise as you please.

I wish Netgear and others directly supported open source firmware like they did in the past.
honestly his channel quality is notably different than the other 2 you mentioned. i'm vaguely curious what you get out of it that makes you put him on the same tier.
Are there? The assholes seem to be performing a useful service to the community, provided they aren't actually indiscriminate.
llama2psp: llama2.c running on the PSP
Is this why flight prices are skyrocketing too?
Yes, as someone living in a country with clean and tasty water from the tap, it's quite shocking see the massive bottle consumption in countries where most (?) drinking water is distributed in disposable bottles/containers.
Someone commented in a prior thread that they spent an incredible amount of time tracking down a bug that was resolved in two characters of hex. Surely, that person would be marked as a lazy engineer who should get fired. This is meaningless.
i mean yes but also how much does kaggling/traditional ML path actually prepare you for the age of closed model labs and LLM APIs?

im not even convinced kaggling helps you interview at an openai/anthropic (its not a negative, sure, but idk if itd be what theyd look for for a research scientist role)
Japan's top chip distributor eyes acquisitions in China and India
Here I thought you would bring multiprocessing and process pool in Python.
The main issues with the current upgrader is it doesn't install old packages and it can't migrate breaking config changes.
Homography Explained with Code