skysight-inc/HackerNews huggingface dataset:
> Start in the middle. It's the most interesting part, too. After all, that's the core of your idea.

For a programming language? Maybe if you are designing your language by feature list.

What if you are designing a programming language for ergonomics instead?

Let's be real - the differentiating factor in any modern language design is the syntax, not the features. They all mostly support a similar cross-section of features, in terms of "getting things done".

What you are really designing is a competitor to the existing languages, in which case it is beyond the scope and effort of a lone developer to match feature-for-feature of modern languages.

My experience of lone-wolf programming languages is all the same ... namely ...

Even if you do have one, single, differentiating feature, people aren't going to adopt unless you have all the other features they want. Doesn't matter how good your feature is if your language is missing some feature that people like in current mainstream languages.

You should also be careful of thinking that a single good feature will cause a little adoption; if it's any good the existing languages will simply adopt it!

Another path into darkness is thinking that the batteries included is so different to current offerings that people will adopt it, such as that recent post on HN about a language developed for cloud by the author of CDK. There's nothing in that language that can't be implemented as a library for existing languages.

For programming languages alone, going feature-first is a good way to produce an obscure language that no one is interested in. Without even a small community, the original dev themselves won't use it.

Where a new language makes sense is in ergonomics, not in features.

Can you make the syntax such that people onboard quickly? Can your syntax support something complicated in a manner that the most simple-minded developer can understand? Is your syntax amenable to collaboration? Can it be easily parsed in pieces for IDEs? Will the output be package-distributable or module-distributable? Can you ensure easy GDB integration? What build mechanism can be used (for reading the sources and figuring out dependencies).

Syntax is the major difference between writing in Kotlin and writing in Java.

My new language project, I'm still trying to nail down what the syntax should look like. I have no problem documenting the tree to support features I want, but I find that settling on what good syntax looks like to the majority of corporate developers is really really difficult.

Compare with, from an AST, emitting code for some advanced language constructs. That's almost a mechanical effort that I think I can delegate a lot of to ChatGPT.

Designing universally acceptable syntax, on the other hand, is a lot more complex and requires actual human decision-making.
As I mentioned else thread, if you do not care about parallelism you can pin your threads and use SCHED_FIFO for scheduling and then you do not need any synchronization.

In any case acq/rel is the only thing required here and it is extremely cheap.

edit: in any case we are discussing synchronization and 'has_free_space' 'had_data' are a form of synchronization, we all agree that async and threads have different performance characteristics.
You mean used by these guys? [0][1] Where do they sit on your morality scale? [2][3][4]

[0] https://www.nytimes.com/2023/06/05/world/europe/nazi-symbols...

[1] http://cup.columbia.edu/book/from-the-fires-of-war/978383821...

[2] https://www.washingtonpost.com/business/ukraine-hasbetter-he...

[3] https://www.timesofisrael.com/in-row-over-holocaust-history-...

[4] https://www.timesofisrael.com/ukraine-tells-israel-to-stay-o...
https://sophiabits.com/blog

I started a few years ago but only found a good rhythm in the past ~year. I am 75% of the way to my (arbitrary) goal of hitting 100k written words.

Lots of posts on architecture, AWS, and performance with a little bit of engineering leadership mixed in.

Some recent posts:

* https://sophiabits.com/blog/understanding-secrets-manager (did you know Secrets Manager “staging labels” can be used to colocate related secrets?)

* https://sophiabits.com/blog/using-terraform-plan-to-write-ia... (write Terraform for your infra without learning Terraform)

* https://sophiabits.com/blog/object-ids-for-humans (ID formats have surprising performance and DX impacts!)

* https://sophiabits.com/blog/evaluating-a-new-technology (my checklist for when a team member proposes adding something new to our tech stack)

RSS: http://sophiabits.com/feed.rss.xml
There are use cases where a thread pool doesn't solve your problem. If you're handling a few short-lived connections at a time, it's more than enough, but if you're developing something like a push / messaging / queuing service, with thousands of clients connected for hours at a time and receiving very little data once every few minutes, a thread pool won't help you.
Hey, recentlly wrote a little site that could be relevant here (ip-atlas.tomasdiblik.cz), basically, I download ip2asn list and list how many IPs (4s and 6es) are not routed yet and how many are owned by which entity (and what ranges). Idk it was an interesting weekend project :D (Although, I was kinda suprised that percentage-wise, number of IPv6 and IP4 is nearly identical, makes you wonder wether companies should own HUNDREDS OF MILIONS of IPv6es)

PS: The site can get laggy on low end devices, because of the number of records (sorry :(, but I didn't want to spend too much time on this project)
> * Russia chose blow up the Kakhovka dam, cutting off water to Crimea, the same Crimea that Ukraine cut water to and Russia restored.

I know you're doing your best here but you will have to try harder with this they literally admitted to blowing up the dam and then on TV threatened to blow up more dams in Kyiv.

https://twitter.com/Gerashchenko_en/status/16660615320803614...

>> "We mined everything on Kakhovka HPP. So, they'll f*king blow it up and will wash away Ukrainian Armed Forces on the other side" - a Russian says. The video was published on 10 December, 2022.

https://twitter.com/den_kazansky/status/1666003021925347328

>> Russian soldier Yegor Guzenko, who is fighting in the Kherson region, admitted that Russia blew up the dam in Nova Kakhovka to stop Ukrainian army He also said that the Russian army should also blow up other dams on the Dnieper
> and it does kill me at night on powerful monitors

Are they powerful or misconfigured? Something is wrong if the screen hurts your eyes, no matter the colors.
I thought it was odd that he got good coverage spraying with a hand sprayer bottle but then went through the effort of squeezing it out of a large syringe.
The crown of thought leadership is heavy and full of thorns.
> dark fiber is getting harder and harder to find

Only because all of it along any given route now tends to be owned by a single entity. And that entity can simply say "not for sale".

If the market were healthy dark fiber prices would skyrocket instead of availability plummeting.
dude... whether it's jesus or eternal nothingness, it takes faith to believe in both. There's no evidence for any of this so the only correct answer is we don't know.

> All empirical evidence from thousands of years of scrutiny

Yes, I'm very curious to see empirical evidence of what happens post-death and someone who lived to tell us.
In your world, I have a service that speaks only ip4v2 and a client that speaks ip4v1. How does my packet get there? Everything in between me and them needs to understand how to handle this conversation. Old routers and switches may drop or misroute packets.

What about prefixes. The vast majority of ipv4 has been allocated. It we just have more octets then we haven't actually made more available allocations because they will be under already assigned prefixes.

The smallest globally routable allocations in ipv4 is a /24. Routing hardware has a limit on the number of prefixes it can route. Just changing that to a smaller size would ease pressure, but even that is impossible without upgrading all switching infrastructure to handle the space.

The next version of IP was always going to be a brand new protocol. There wasn't even a realistic option besides that.
Show HN: ZenStack-Open source toolkit simplifies your Prisma stack
We have been polishing ZenStack for the past few months with the community. As it has been successfully used in production by some of our users, we think it’s time to share our beta with you.

ZenStack is built on top of Primsa ORM, extending it with a powerful access control layer that simplifies the development of a web app's backend. By defining authorization policies and validation rules right inside the data schema, your database client can automatically enforce these constraints at runtime.

Why we built this:

Based on our experience developing several commercial SaaS products, we have observed that a significant portion of code is wrapping around the database and providing an access-controlled CRUD API. These boring boilerplate codes are both tedious to write and error-prone to maintain because it is scattered within the codebase.

Utilizing our previous experience with DSL, we created ZenStack to bring the below clear benefits:

- Centralized access control for better security and maintainability

- Less code to be written

The core of ZenStack is a transparent proxy around Prisma client which enforces access policies while keeping the APIs unchanged. It allows you to build the backend of new projects faster with minimal TS/JS code, and can also be easily adopted into existing projects.

Some other benefits you can also enjoy:

- Automatic CRUD APIs - RESTful, tRPC

- Generating client-side data access libraries (aka hooks) - SWR, TanStack Query

- A plugin system for 3rd party extension

Finally, ZenStack is not opinionated toward any stack or framework, allowing seamless integration with the entire JavaScript and TypeScript ecosystem.

We are still in the early stages and greatly value your feedback and insights as we strive to build the best DX toolkit for developers.

Website: https://zenstack.dev/

Github: https://github.com/zenstackhq/zenstack

Discord: https://go.zenstack.dev/chat
I probably wouldn't go as far as saying "extremely dangerous" but I do agree. For the most popular use case (i.e. web services) a thread per core with an event loop in each thread is the best model.
Just like JNI, if only there were a couple of companies that would embrace JNI to create IDEs...
Just to be clear I mean if the browser bar says accounts.google.com, you get the internet "level" validation. Regardless if the IP resolved by malicious dns is 10.0.1.1

This would be an extension of the recent HSTS preload list trend of associating a particular TLD (e.g. .dev) with a particular mechanism, and would not affect other tlds than (say) .lan or ip ranges
See my other comment, would be fascinating to know if the general perception has changed in countries where the Bachelor's + Master's system has not be the norm forever, i.e. 10-15y ago I knew no one who only did a Bachelor's, then a few started doing that in Computer Science, but still kinda rare. Maybe it's different now. (Of course the degrees still being basically free compared to the US makes a huge difference if you're willing to stay another year or two..)
Java developer vs. ChatGPT: writing a Spring Boot microservice
The only way to manage scarce bounded resources fairly is with georgist taxation

https://en.m.wikipedia.org/wiki/Georgism
The novelty of Times Square wears off real fast. I work in NYC and everybody I know avoids the area if at all possible. I think even tourists realize how disgusting it is. It's an attack on the senses, a pure monument to capitalism.
(I've been playing a lot of Factorio lately)

Current public transport is like transport belts in Factorio. Fixed routes.
This works ok in a simple old-fashioned economy (a few large employers, large hubs where everyone goes to the same place).

What we need is a more flexible, on-demand model of public transport. Something like logistic bots in Factorio. Lots of small people-movers which go direct from point to point, on demand. Buses and trains were already obsoleted by cars and can only survive by targeted anti-car policy.

Some kind of taxi (which would need to be automated to be at all economical for regular use) or electric scooter hire is the next stage of evolution.

Logistic bots do require a lot of energy, but that's the nature of progress.
switch to authorize.net
There is also gevent which is a library only coroutine extension which didn't require any changes to the interpreter itself. I'm also sure it would be easier to maintain and evolve if it was part of python core.
If the blocking function would be fiber-aware, and yield execution back to the fiber runtime until the (underlying) async operation has completed, it would "just work". One could most likely write their own wrapper functions which use the Windows "overlapping IO" functions (those just have a completion callback if I remember right - PS or maybe completion Event?)

Not possible with the C stdlib IO functions though (that's why it would be nice to have optional async IO functions with completion callback in the C stdlib)

PS: just calling a blocking read
in async/await code would have the same effect though, you need an "async/await aware" version of read()
I'm not sure how people didn't get the dripping sarcasm. The renders look dystopian.
Exactly like that, but using blocking functions. Then I run the code in a worker pool or in a greenlet runtime. The kernel and runtime take care of putting threads to sleep when they hit blocking IO.
Driving London to Bath 60 years ago
It is still better than many alternatives, and the lengthy description about Ruby kind of proves my point.
Personally, I don't get much value out of TypeScript based on how I structure my code. I usually use 'any' types everywhere until my code is fully working and then, just before I open my PR, I have to painstakingly define types and replace all the 'any' references everywhere... Then whenever I get warnings while doing this, it's always related to me messing up the type definitions themselves and not related to my code. It feels like the type system is the error-prone part and my code is the reliable part... Should be the reverse; types are supposed to help me write my code but I find that it's my code (simple interfaces) which help me write my types.

Type annotation work is definitely the annoying part which slows me down and breaks my train of thought.

That said, I don't dislike TypeScript in theory as a language if used carefully. It may just be worth the annotation effort (kind of like how comments are usually worth the time they take to write). I just don't think it's worth the additional transpilation step and all the compatibility and source mapping issues that come with it.
Just (re)started my blog last week, so content is super light. I have 15 or so posts in the queue and several more ideas lined up behind them. https://dkrichards.com/

My most recent post goes into some detail as to why I'm blogging again. https://dkrichards.com/2023/07/04/on_blogging.html
Hey! You have some interesting content. If you had a rss/atom feed I'd happily subscribe to it.

A comment on your site: I have to zoom to 300% on firefox to get what seems like a 'natural' view. Without this it feels like I'm viewing a pdf. This is not serious criticism, but something that bothered me a bit. Others may feel differently.
Get to the source of incidents faster with Change Forensics
Germany Achieves Record 57.7% Renewable Energy Share for First Half of 2023
Most users don’t care about decentralization and having to select a server is a major turn off for most. Then, once you’re on, the feature that adds to Twitters network effect - the “Quote Retweet” is deliberately left out of Mastodon [1], to make conversation more civil and muted.

[1] https://mastodon.social/@Gargron/99662106175542726
>> That's part of the job. If you don't like it, too bad.

Agreed, being forced to use what frustrates you sucks.

I currently use xfce at home since its behavior and defaults more closely align with GNOME 2, Windows {XP, 7, 10}, fluxbox, blackbox, openbox, and GNUStep. All of those desktops / window managers provide enough customization and flexibility so I can setup things how I want them to work fast and be comfortable.

>> Personally, I've been using Linux at work for ages and have never been forced to use Gnome; I've always been able to switch to something else, though it's not so well supported.

The previous version of the enterprise Linux distro had more desktop environment choices.

In the new version, they threw out everything but GNOME leading to the current frustration.
Its crime, yes its a factor - but its also the fact that I don't need the bank analyzing whether I'm buying too much of something they consider an indicator for poor financial security, and then using that data in their interest calculations.

That does happen, and its not okay, but happy little decadent consumers agree to it because, convenience.
I use NeoVim and write the configuration myself. It's great with LSPs and I love the fact that I can interface with my editor in Lua.
In the same way, I love how Blenders interface is entirely scriptable with python. I wish Digital Audio Workstations like Ableton Live offered something similar.
forget stripe. just use authorize.net. you'll waste way more energy trying to get your merchant account in good standing, then just simply switching to another payment provider
VMWare wants your authentic self to work, unless of course your "authentic self" has opinions.

(Anyone thinking this about "the pony" is missing the point, probably disingenuously so.)
Tech is extremely boring on social media because there are many more opinions than those truly dedicated to the craft.

You can argue that it shouldn’t be zero sum. But time and attention both are, and you can’t focus fully if you’re trying to “grow an audience.”
A look into inter-country transactions of IPv4 ranges.

> The top net-buyers organisations of IPv4s in March were Chinese and the top net-sellers were American.

> The above produced 1,644 country pairs totalling 10,941,802 IPv4s. Below is the first record.

https://tech.marksblogg.com/ipinfo-free-ip-address-location-...
Prompt Engineering: few other rules for better prompting
I think it's very much a US-centric thing.
I mean, if you say the house "got annihilated" (edit: "there was nothing left of the house", rather) and the house is in fact still standing, I'd also call that misleading no matter how big the hole in the basement is.
Or maybe you do not need to make a tradeoff between environment and progress at all. You just need to care and spend some more to do things properly. This damage could have been easily avoided.
Golden Paints has a variety of acrylic mediums with various characteristics, so I'd start there.

https://www.goldenpaints.com/products/medium-gels-pastes/spe...

https://www.goldenpaints.com/products
There is also nobody claiming to be a pony. If you're a trans woman you shouldn't be baited so easily.

I assure you they would keep "hate criming" you no matter how many cartoons you like.
> Public. Transit.

Non-car centric development.

The Oh the Urbanity channel has a video on the (misguided) idea that "urban living" = Manhattan / Hong Kong apartment blocks:

* https://www.youtube.com/watch?v=BCmz-fgp24E

Want a front yard, back yard, and garage (attached to a laneway)? Plenty of that was built pre-WW2:

* https://en.wikipedia.org/wiki/Streetcar_suburb

* https://www.youtube.com/watch?v=MWsGBRdK2N0&t=1m8s

Examples (Streetview):

* https://www.google.com/maps/place/125+Hampton+Ave,+Toronto,+...

* https://www.google.com/maps/place/50+Geoffrey+St,+Toronto,+O...

* https://www.google.com/maps/place/70+Jackman+Ave+Toronto,+ON

See also:

* https://www.youtube.com/watch?v=cO6txCZpbsQ&t=9m28s

Fifteen minutes pedalling in one direction is downtown, fifteen minutes in the other is farm land.
On OpenSuSE Tumbleweed now because of Snap, rolling releases, best of class KDE support and pretty good testing of packages.
Yup. By the time you've gone around and meticulously picked up anything that might upset the Roomba you might as well have just rolled a vacuum behind you and done it yourself.
I'm arguing that the current rate is without the additional percentages that the insane risk premium that would be attached to these loans, if they were made at all.

> is already jacked

If you're arguing why it's not the same rate as treasuries, I'm not sure what more I can say. There's more that goes onto pricing loans than just the risk premium. It's a part of it, but not the whole story ("why are government-backed MBSes not the same interest rate as treasuries?").

Furthermore, just look around: you sure there's no "risk" with these loans? You cannot in honesty argue otherwise.
> KDE? I only speak for myself here - it is not missing anything but simplicity. Too much stuff to configure and I get lost, then frustrated.

That's a fine reason to dislike KDE. I'm just saying, the process to configure a vertical tab bar specifically, is exactly as complicated, step for step, as it was in Windows 95.

- Unlock tab bar

- Drag tab bar to the edge

- Lock tab bar

I'm asking what's missing to make that a "first class" feature.
Yeah that sounds right. I can't quite remember the details because it has been 15 years and I loved trying different distros in general. I wasn't tied to the Ubuntu platform.

I suppose if I'm tied to anything, its the Debian branch of distros.
SLS provided the SL in "SLackware", I believe.
$ rain | wall #.. my favourite thing to do to my colleagues during the end of coding marathons we'd find ourselves in, during the 80's ... on machines that weren't always fortified against the rain .. ;){
"Still standing"? Eh, debatable: https://i.insider.com/6446aa36120cd7001865df2c?width=700
That's right. They're not just a number, they are a seat at the table on the internet. That's like buying a ticket to an event and thinking that the barcode on the ticket costs hundreds of bucks. It's not about the number, it's about what the number lets you do.
This doesn't solve any of the actual problems we're facing with the migration though? If anything, the problem is now simply harder to debug since you may think you're talking to an IPv4, but actually an old device dropped the extra octets somewhere between you and an IPv6.
https://velvetshark.com
Personal, work, non-work, TILs, anything.
It's a personal blog, anything goes.

My most popular article, featured on HN (and even got into a Spanish textbook) is "Why do so many brands change their logos and look like everyone else?"
https://velvetshark.com/articles/why-do-brands-change-their-...
>> at some point there will be a "synthohol" like substance, but who knows when that might come about

Just about when the individual is entirely castrated à la Brave New World, and everyone worships health as part of their commitment to a perfectly harmonious social organism. Luckily, this will never happen - rebellious people in some godforsaken country will always find a way to give each other hangovers, as a simple Darwinian test that involves the ability to hold liquor while saying something interesting. And that country will end up more innovative than the ones that sank their population into some opioid or another as an expedient to having a healthy body and a numbed-out mind.
I don't even think that's just a joke, that's what dynamically typed languages are from a type theory point of view (well, I guess the type theory doesn't care if you call that type "hashtable" or "any" or "foobar").
But that’s a silly way to look at things, because you could say it about anything - it tells you nothing.

“I had bad diarrhea before getting into a car accident. There is no evidence it contributed, but that’s not proof it wasn’t a factor”