skysight-inc/HackerNews huggingface dataset:
> People don’t ask for estimates just to annoy developers.

No, I know, there's just a systemic difficulty with scheduling dev items that are difficult to estimate.

My team is currently working on performance improvements for a certain service in order to get it to a level that our biggest client is happy with. Based on some profiling and some intuition, I built some Jira cards with rough ideas of what changes might make some improvements and added some rough estimates of how long it would take to trial each idea. Of course, what's actually happening is that we try one idea, it counter-intuitively makes performance worse, we dig into why that's the case and refine the idea, then try a different version of it. It's fundamentally impossible to give an estimate for when we will have run through all the ideas (plus new ones we think up along the way) and how much of an improvement it will make.

I just came out of a slightly painful standup where the dev manager repeatedly asked "Is this doable by mid-August?", and I repeatedly answered that it's not possible to give such an accurate estimate, that we would do what we can in that time and hope to give a better idea of what's possible by the end of this month. Of course it's not great for the dev manager to hear, because they have a client who needs to know how quickly they can scale up their use of the service. There's a conflict between what we can possibly know and what the client "needs" to know. I wish that I knew how to resolve it. It feels wrong to agree to deliver something with such a level of uncertainty, since it just leads to a ridiculous amount of pressure like this.
> Yep. The disk was addressed by record in a fundamental manner: https://en.wikipedia.org/wiki/Count_key_data

Well, mainstream hard disks (what IBM calls "FBA") are also addressed by record in a fundamental manner. It is just that the records (sectors) are fixed length–often hard disks support a small selection of sector sizes (e.g. 512, 520, 524 or 528 byte sectors for older 512 byte sector HDDs; 4096, 4112, 4160, or 4224 byte sectors for the newer 4096 byte sector HDDs; the extended sector sizes are designed for use by RAID, or by certain obscure operating systems that require them, e.g. IBM AS/400 systems)

Floppies were closer to IBM mainframe hard disks than standard FBA hard disks are. Floppies can have tracks with sectors of different sizes, and even a mix of different sector sizes on a single track; IBM standard floppies (used by PCs) have two different types of sectors, normal and deleted (albeit almost nobody ever used deleted sectors); standard PC floppy controllers have commands to do searches of sectors (the SCAN commands–but little software ever used them, and by the 1990s some FDCs were even omitting support for them to reduce complexity).

And although z/OS still requires CKD (actually ECKD) hard disks, newer software (e.g. VSAM, PDSE, HFS, zFS) largely doesn't use the key field (hardware keys), instead implementing keys in software (which turns out to be faster). However, the hardware keys are still required because they are an essential part of the on-disk structure of the IBM VTOC dataset filesystem.

Actually, the Linux kernel contains support for the IBM VTOC dataset filesystem. [0] Except as far as Linux is concerned, it is not a filesystem, it is a partition table format. [1]

I think part of the point of this, is if you have a mixed z/OS and z/Linux environment, you can store your z/Linux filesystems inside a VTOC filesystem. Then, if you end up accessing one of your z/Linux filesystem volumes from z/OS, people will see it contains a Linux filesystem dataset and leave it alone – as opposed to thinking "oh, this volume is corrupt, I better format it!" because z/OS can't read it

> In general, MVS's "not-filesystem" world looks in a lot of ways like an intermediary between paper records/tapes and actual filesystems.

I think the traditional MVS filesystem really is a filesystem. Sure, it is weird by contemporary mainstream standards. But by the standards of historical mainframe/minicomputer filesystems, less so.

[0] https://github.com/torvalds/linux/blob/v6.10/arch/s390/inclu...

[1] https://github.com/torvalds/linux/blob/v6.10/block/partition...
I think if you look at my gift analogy it maps perfectly to your analogy. I wouldn't be surprised if I gifted code then someone contacted me and wanted to sue me or charge me for using it. That is the nature of a gift, you have no control over other people, if you have a problem with that don't give a gift, it's as simple as that.
What do you mean by hurdle? ThreadLocals work just fine with virtual threads.
I would recommend to check out feTS[0], it infers the types from the endpoints without the need of generating files, I find this easier to work with because you don't have an extra step when the schema changes. I have to say I didn't used it yet, is on my radar to try it when the opportunity arrives.

https://the-guild.dev/openapi/fets
Isn't this natural? I mean, China is now the biggest economy in the world which it wasn't in 2011. There is no way to "check" it. Being bigger it also gains more political weight.

One way in which China can't compete is trying to be more attractive. This is the America's advantage that's there to stay. But in all other respects, only way out is to wait, until China is undone by demography, which again doesn't threaten America because it is very religious so likely to maintain higher birth rates than others, and very attractive so likely to keep high positive balance of migration both in quantity and quality. But until that starts playing out some 40 years from now, there's no way to "check" China's rise.
just wanted to say actively trying to get bored is some of the best things that i've done for myself as an adult in a dopamine-driven world (exercising aside). i'm not saying to do nothing at all, but trying to be bore yourself whenever you're off work. some examples are like instead of scrolling your phone whenever you're in public transit, just do nothing.
This is why my initial flashcards on a topic would be cover a breadth of individual details, but later I'd start creating concept based flashcards where I'd ask things like "how does it make sense that....?"

After somewhat memorizing foundational knowledge, understanding concepts and having frameworks of thinking for a topic will further increase critical thinking while reducing the amount of cognitive effort required for critical thinking about unfamiliar situations.

I hope one day these more efficient models that "clean up" the review schedule by linking/identifying related flashcards become publicly available.
I mean, this could've been called "CSS Considered harmful". Also suggesting the use of attributes to mix state with style is... quite the bold strategy.

What if the same component is used multiple times in a page with a slightly different appearance and same behaviour? Do you keep adding more attributes? You're gonna end up rebuilding Tailwind, but using an even more opaque syntax.
1kg of margarine per person globally. I'd say it's pretty popular.

https://www.statista.com/outlook/cmo/food/oils-fats/margarin...
I'm interested in toying around with IBMs current mainframe offerings and found news articles from 2022 about IBM offering mainframs in the cloud as an experiment. I setup an IBM cloud account and looked around at th offered services, but could not find services related to mainframes. Probably need to be a premium customer.
Fair point. I'm sure we all agree on why using general-purpose diagramming tools is too much manual work for system design.

This is a possible solution: https://www.multiplayer.app/
It allows dynamic diagrams and keeps them automatically updated leveraging OTel.
It could also be that there just isn’t enough demand for a non-blocking JDBC. For example, Postgresql server is not coping very well with lots of simultaneous connections, due to it’s (a.o.) process-per-connection model. From the client-side (JDBC), a small thread poool would be enough to max out the Postgresql server. And there is almost no benefit of using non-blocking vs a small thread pool.
The problem is the modern webs hyper focus on appearance over content. Content first, style second.

I still say that the answer is just semantic HTML/CSS. You're coming at the problem from the wrong direction naming things for how you want them to appear. Name them for what they are. Write the HTML agnostic to how it's intended to appear, and then just use CSS as a tool to style the already existing document.

SCSS and extending placeholder[1] selectors makes this insanely easy and viable. You can write your "how things appear" classes as placeholder classes, and then simply extend those from your "what they are" classes. Super easy to keep organized.

1. https://naxoc.net/2014/01/28/placeholder-selectors-in-sass/
My vote is for https://www.multiplayer.app/
but if strongest don't interact with juniors you will also loose in long term
Tell me you've never been to the Kimberley desert without telling me you're a regular tourist ..
You don't need GraphQL for the same reasons you do not need to sync your state between the client and the backend, everything can be done with htmx and one source of truth for the state.
Despite my preference for it, I've become convinced that REST/Hypermedia is too hard of a concept for 2024-era development.

It requires a deep understanding of many ideas and people aren't able to grasp what it means and what it solves (hint: it is not meant to solve schema design). It ends up being a problem instead of a solution.

GraphQL (which is built upon REST, but has a simpler conceptual load) is way better for common everyday webdevelopment.
I'm a Linux user myself, but I've since given up on using a standalone email client, and just use the Outlook web interface...
I don't believe a CEO giving an honest answer in such a study and saying, say, (1) they enjoy the feeling of power and having tighter control over their subjects or (2) they just follow their gut feeling in spite the lack of any studies that RTO gives positive net results for the company.
Geez. You complain about disrespect, and then you explain you want everyone to cater to your particular requirements and waste their own time (instead of using the feature designed to save everyone's time) because you... "value your attention"?
If nothing else, the production of this web page is really wonderful.
I don't think the issue is with diagrams per se, but with how we create them. They are super helpful in conveying meaning but why do we need to create and update them manually?
don't write css in the class attribute, write the css in a custom attribute. even better, implement a custom element, that uses custom attributes! how totally brilliant, absolute genius, what a visionary!
End-to-End Encrypted 23andMe-Like Genetic Testing Application Using Concrete ML
"I kept crawling along a wall with no end in sight" sounds pretty infinite to me?
This is really useful! Hope they continue to add features. I don’t like directly writing markdown and would rather use a text editor like Docs or Word.
A local company has started an experiment with the 4 day workweek, as the first big company in the country to do so.

However 3 of those days are to be spent in the office. There is a dress code. And you need to be passionate, they aren't to looking for a 9-5 mentality. Office parties and company outings aren't mandatory but if you intend to never visit them, you probably aren't a good fit for the company.

Hard pass.
Subtitle is better:

> Software enabled agents to hack phone in 40 minutes, but it didn’t yield incriminating information; motive of slain shooter, son of normal, loving, pro-Trump parents, still unclear

Ignoring the obvious Israeli self-congratulation, the article is much more informative that I expected.

(Though with such a young and low-skill lone attacker - the FBI might well have cracked his phone in 20 seconds by trying a few passwords like "123123".)
We often hear that it’s important to enjoy the journey, not just the destination. But what does this really mean? It’s about finding joy in the steps we take each day, not just waiting for the end result to be happy. Here’s how you can start enjoying the process and even find joy in the tough parts.
The "talent" who wants to leave as soon as you ask them to return to office are probably not the employees you wanted to retain anyway.
You didn't miss much with this one.
Only for people using chrome.
> that’s obviously a conspiracy theory.

Of course. Google (and Apple, Microsoft not so much - but it is for your own good) will deny that they store your encryption keys.
I think the load balancer is the one forwarding all cookies to Google with this configuration. The browser has already sent this to your own domain/LB as first-party mode introduces yourdomain.com/page and yourdomain.com/metrics.
#CorrugatedPaperMachine

Quantitative: 90～150 g/m2

Net paper width: 4400mm

Roll paper width: 4460mm

https://pulppaperpump.com/200t-corrugated-paper-machine-in-l...

Welcome to send email or tell me your email to know about the price and details.

#WhatsApp: +86 13526684099

#Email: whiteboardpapermachine@gmail.com
We already have highly efficient "stand-alone" motivators, they're called video games. And for Educational video games, there's been attempts, some would say it's too difficult to integrate the two fields together, but looking at what's been attempted vs what's actually done in industry I can't say they've really tried that hard.

The problem I would imagine is that the kind of people who go on to make an educational video game probably will lack the necessary creative or aesthetic chops to do it. And no game dev is going to be dreaming of building one either. But if one were to commission a veteran studio instead we might get better results.
> [...] the plight of (non-corporate) open source maintainers who get very little money for a lot of work, while at the same time seeing billion-dollar companies that save a lot of money by using their software.

I don't dispute any of this -- it's really obviously a problem, particularly for certain "tent pole" projects where contributors have been horribly unrewarded.

I just don't think you can get from there to the first sentence of that article, because the reality of those unrewarded developers is that most will carry on until they starve rather than feel they have "the right" to money.
Why do you mention GraphQL and JSON:API in the same sentence? The latter is at least 10x more difficult to understand with all its edge cases around entity relations and filtering.
I just WISH this class of decision makers would really understand this. But knowing how stupid, stubborn and out of touch with reality most ppl from mid-upper mgmt up to CEOs can be, I see no hope. Enshittification of home office and hybrid policies are inevitable :(
I see this a lot, but it seems hard to verify. Has a scammer actually ever come out and say they deliberately use poor grammar? Would be interesting to compare scam emails/messages from scammers based in the US/UK/Australia with those in India or Nigeria, and see if the pattern holds up for both.
> Tbh the browser/email client makers are complicit in these phishing
attempts for hiding the URLs and the actual email addresses.

It's worse. Research "Scamicry".

Big business now is so fake, such a grift, drenched in PR deception,
and lacking integrity and trustworthiness, there isn't much space left
between what is "legitimate" and what is a scam.

If businesses like Google or Facebook hide URLs and email addresses
that's not a casual "mistake". It's because that's to their profitable
advantage to do so. And they know it puts you in harms way. So yes,
they're complicit in scams.

To make themselves a little more competitive businesses are always
learning from scammers, meanwhile good scammers keenly learn from
businesses to look more legit. Some ransomware "services" even have
better customer support than billion dollar companies. And big
business is certainly using the same AI tools as cybercriminals.

So a problem isn't how clever and scurrilous scammers have gotten,
it's how far legitimate services have fallen so that
ordinary folk struggle to know the difference.

How can we trust our own insticts for selecting what is good and
wholesome from what is rotten, when there are few moral differences?
The only difference resides in a digital identifier.
Has anybody used GraphQL for Data Science access?

As a strong DDD advocate, the core idea of GraphQL makes me scream on the inside. It turns explicit FE/BE contracts into implicit ones and you lose out on valuable domain insight.

However, if you have a purely read-only use-case with no way back to the BE, then maybe it's a nice tool actually? Especially since Data Guys often lament not having access to the full DB and making specific endpoints for them get tedious really quickly.
Remote working does not mean interactionless working.
Labeling? Or an accurate description? They all think alike, and they surrounded themselves with the same. That's why we get the non-journalism we get. It's so bad they don't know how bad they are.

As for Democracy, a healthy and proper Democracy requires a healthy and free-thinking Fouth Estate.

We. Don't. Have. That.

These cookie-cutter, bubble people fond of parroting narratives, yet self-proclaim as "journalists", are the root of the problem.

In short, I was being kind.

As for "news", Fox is not alone. Across the board, grade school level op-ed is passed off as journalism. They focus attention on irrelevant things that happen that don't qualify as news, yet there there are (sucking up eyeballs). Fox is not the only who practices this.

Fwiw, my filter for "fake news" is not truth or not-truth, but also relevance and importance. When a prestigious news outlet is channeling TMZ, the question then becomes, what are they NOT reporting?
Modern GPU architectures are quite different than what comes before them if you truly want to push them to their limits.
R2DBC allows to efficiently maintain millions of connections to the database. But what database supports millions of connections? Not postgres for sure, and probably no other conventional database. So using reactive JDBC driver makes little sense, if you're going to use 1000 connections, 1000 threads will do just fine and bring little overhead. Those who use Java, don't care about spending 100 more MB of RAM when their service already eats 60GB.
That’s all fair. It’s an inherently difficult problem. In a healthy organization, leadership is aware of this, has reasonable expectations and factors in the risk. Unfortunately not all organizations are mature in this way.
> With the right team, with the right use-case it's excellent. So please don't take it as GraphQL=bad.

If a framework requires you to be just as, if not more competent in its niches to achieve the same end you could've achieved without it, I think that makes it bad.

That's like if an HTTP framework could only be effective at the protocol level with a team competent in HTTP. The whole point of a framework is abstraction.

I have never once seen how GraphQL (the language) provides any sort of abstraction that the general framework itself doesn't, and the little abstraction GraphQL the framework does provide you can mostly sum up by just generating an OpenAPI over a set of schemas, with a whole host of benefits and few trade offs (on the implementation side, which is where your 10x devs usually live anyways).

It's weird. It's like the main benefit of GraphQL is that there are groups of developers who understand it, but the biggest drawback is that it is needlessly complex, which again, seems to indicate GraphQL is bad. It's an abstraction that creates needless complexity (that you necessarily can't reverse because it's apart of the spec..)
Just use web components, and use trie attributes instead.
Also paying for half empty office space must be constantly bugging all the beancounting „optimizers“
The all important question:

When there’s only one device left on the network, will it sing Daisy Bell?
Wow I like this solution a lot, and I’m sad that it’s presented after a million paragraphs of ranting and a terrible title.

The tl;dr is: if you use custom element names (instead of “.Card”) and attributes (instead of “.Card—size-big”), things get very clear and you lose many downsides of other approaches (such as name clashes and unmaintainable soup):

So write HTML like this:

<my-card data-size="big"></my-card>

And CSS like this:

my-card { /* ... */ }
my-card[data-size=big] { width: 100%; }
my-card[data-size=medium] { width: 50%; }
my-card[data-size=small] { width: 25%; }

Personally I think this idea is really great. I’m not sure yet that I prefer it over Tailwind in all situations, but it seems obviously better than eg BEM, CSS Modules, inline styles, styled-components and all those other approaches. I really love the idea, it feels like a “woa why didn’t I realize this before” kind of thing.

EDIT: Thinking on this a bit, I’m not sure I’d replace every single div with a custom element like the author suggests, I think a div-with-a-class works just as well and is easier to grok for other readers of the code cause everybody knows how a div works. Readers don’t have to figure out whether it’s a defined custom element (ie a JS class) or just a CSS level thing, etc.

But the idea of using attributes instead of .my-thing—-level-3 is genius in my book. It means you only ever need one class per element at most. No more concatenating long className props, no more repetitive prefixing, it’s scoped by definition, etc. Also all the logic in the HTML rendering code is nicely siloed:

<div
className="my-thing"
data-level={someFunc(props.foo)}
data-size={props.size ?? "big"}
etc
>

So much nicer than some nested classname object hack!
>Especially since Data Guys often lament not having access to the full DB and making specific endpoints for them get tedious really quickly.

Are the data guys in charge of the DB performance? Because if you give them GraphQL access, they are essentially going to be.
AKA the vast majority of browsers out there.
Artificial Intelligence vs. Actually Indian
The image of the flattened out brain could use some illustrations, or more specific instructions on what we should be visualising.

> First, if you look at a cross-section of the brain (eye-level with the table)

I thought it was flat on the table? Surely if we look at it side-on we just see the edge?

Without a clear idea of how to picture this, the other aspect (columns) doesn't make sense either.
Add mentoring to the list of things that need to be done more explicitly in a distributed environment than in an office environment.
You want to execute a single query for a given page for performance. But whether a field is included in the query should depend on whether a component uses that field. If you write the raw query without fragments, you introduce implicit coupling between the query declaration and the subcomponents, which (like with REST endpoints, CSS classes, etc) means the query becomes append-only. Removing fields is dangerous and requires research, which devs on a Friday won’t do. Especially if you’re making changes to a component used across many pages.

Okay, so write fragments. However, without a framework like Relay (and soon Apollo), you still receive, at runtime, the entire network response. ie there is no masking at the fragment level. This means that there still is an implicit dependency between components, and removing fields is still dangerous.

That’s why you need Relay.

I make that case here - https://youtu.be/lhVGdErZuN4?si=tOJNWl-j-Uj28RUs
Thanks a lot, I appreciate the effort required to write in detail. I will work through it.

I could not find your email in your HN bio. I wonder if you have any public "queue " people can send interesting things they are working on and perhaps seek for guidance/opinion.

Edit: found loads of emails here, http://canonical.org/~kragen/about/
:)
And most "truffle" oil is made from petroleum.

I think the newness is something people can easily get over if it actually tastes good and isn't expensive.