skysight-inc/HackerNews huggingface dataset:
I think there's plenty of good advice in this post, though the OP doesn't talk as much about the evils of premature abstraction as one might like. Still, they do talk about how to avoid it using reasonable programming guidelines.

In the talk about data structures, I was reminded of Fred Brooks quote from MMM: "Show me your flowcharts, and conceal your table, and I shall continue to be mystified; show me your tables and and I won't usually need your flowchart; it'll be obvious." Several people have translated it to something like "Show me your code and conceal your data structures, and I shall continue to be mystified. Show me your data structures, and I won't usually need your code; it'll be obvious," for a modern audience.

Several years ago I was happy to work with several people with an interest in philosophical history. We whiled away the hours thinking about whether these quotes represented something of the tension between Hericlitus (You cannot step into the same river twice) and Plato (everything is form and substance.) So... I think the observation about the alternating utility of form and function is an old one.
I had also submitted a complain about the dark pattern that tradingview uses so that people get subscribed to $600+ annual subscription without being notified.

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

Does anyone subscribe to tradingview have you seen the dark pattern when you want to disable auto annual renewal. Need to confirm at least 7-8 times and most of the dialogs make it sound like you are canceling the subscription not the auto renewal. Like wtf I am not allowing you to charge me $600+ and renew subscription unknowingly
As a CTO, when your company goes down you get fired.

When every company goes down you get let off.

The sensible thing is follow the herd and centralise. You're outsourcing the risk to your own job.
Indeed, pity that we need major failures like these, for goverments to finally start paying attention to give the same kind of laws as anything else, instead of careless EULAs and updates without field testing.
What are they going to do, go back to Tanium?

Everytime there was a mysterious performance problem affecting a random subset of machines, it was Tanium. I know how difficult it is for anyone to just get rid of this type of software, but frankly it has been proven over and over that antivirus are just more surface attack, not less.
> ...delivers -407% ROI...

FTFY.
My company stays multiple versions behind latest for this exact reason, but we were still affected
Donut: Effortlessly Convert Live Streaming SRT/RTMP to WebRTC on Browsers
Although many got locked out for choosing them.
Since history is a thing? Beside being part of the USSR, part of Moldova has also been in the Russian empire. Also a good portion of the population identifies as Russian.
I contracted for a company that gave me a company issued macbook with crowdstrike. It logged my execve() or something, because I did a curl from rustup | sh, and this alerted an admin who then contacted me to ask if this was legitimate behaviour.
> you fail the external security audit

aka, you fail the cover-your-ass security, rather than actual security.
Not the person you're replying to, but in any reasonable organization with automated software deployment it should be easy to pool machines into groups, so you can make sure that each department has at least one machine that uses a different anti-virus software.

Bonus, in case you do catch a malware, chances are higher that one of the three products you use will flag it.
Windows complains about some page fault or something in a file name csagent.sys. On my machine this file hasn't changed in several days, but the issue only happened this morning like for everyone else.

This looks suspiciosly a case of "let's download random crap from the web and run it in kernel space. what could possibly go wrong?"
yandex? Are Yandex employees free to travel around Europe? Interesting.
> what is an M/M/1/∞ queue??

Infinite queue length. M/M/1/k would be a system where once k items are enqueued, some work shedding policy takes over (either rejecting new work or often preferably dropping at the head of the queue.)
I use "Ryanair check-in experience" to describe naggy interfaces because everyone understands exactly what it means. With my last easyJet flight, I counted the number of times I had to say "no" before I could get the ticket I wanted at the price I was given. It was something like a dozen.

The internet feels like that. Our devices feel like that. Everything feels like that. It's as if the entire world is turning into a Marrakech bazaar with aggressive kiosk owners. We normalised treating users like marks for aggressive sales tactics.

As a teenager I worked at a box store, and I had to keep pushing extended warranties on threat of creative dismissal. I saw how disingenuous pitches changed the relationship with customers from trust-based to adversarial. If this upsell is bullshit, how trustworthy is the actual service?

When I went freelance, I practiced radical honesty, and it worked great. Once people accept that you're honest and on their side, they'll sign blank cheques. Trust is incredibly valuable in an increasingly trustless society.
They do something very pernicious when displaying the price of extra options for return flights.

Instead of showing you the total price for the return flight, they show you the price of the option on the cheapest leg of the flight. So for example, if an option cost $10 on the outbound flight, $15 inbound flight, instead of displaying $25 total or $12.5 on average, they display "From $10 per flight". You'd expect to pay $20 but end up paying $25.
May I say that starting from "treating a heart attack" and ending up worrying about millions lost in productivity sounds a bit "wrong"?
Nice job on this, it’s a really interesting approach. I’ve been developing an open-source coding agent over the past year, and RAG just wasn’t working at all. I switched to a repo map approach (which sounds similar to what aider is doing) and that helped a bit but still wasn’t great.

However, a few weeks ago I built an agent that takes in a new GitHub issue and is given a variety of tools to do research on the background information to complete the issue. The tools include internet searches or clarifying questions to ask the person who wrote the ticket. But the most useful tool is the ability to look at the codebase and create a detailed markdown file of various files, explanations of what each file does, relevant code samples or snippets from the files, etc..

It’s still early, but anecdotally I’ve seen a huge increase in the quality of the code that uses this research as part of the context (along with the repo map and other details). It’s also able to tackle much more complex issues than it could before.

I definitely think you’re on to something here with this wiki approach. I’ll be curious to dig in and see the details of how you are creating these. Here is my research code if you’re interested: https://github.com/jacob-ai-bot/jacob/blob/feature/agent/src...

And here’s an example of the research output (everything past the exit criteria section): https://github.com/kleneway/jacob/issues/62
Half of the world's computers are down. The biggest tech failure of our time. Airports. Banks. NYSE. 298 of the fortune 500 companies. RIP.
VC is great for anything that doesn't need continuous cooperation from more than 1 domain of expertise, or where no expertise is even needed at the outset. Meritocracy, but atomized meritocracy.

Hence, great for software (and certain Schwerpunkte in hardware scaling) --- not innovation in general, but in fact solidifying a technological caste system: designers > SWE > HWE > every other kind of technical expert

Otherwise, you do need a Bell Labs to make sure your various experts are talking to one another and not constantly in fear of backstabbing by the management, their interns, other experts. (Especially considering in universities these days, rival groups in the same department have to make the same kind of calculations before cooperating)

I can see that YC does pay lip service to building community and such, but perhaps VC is too successful for its own good.
>If you want to pay 40p for a loaf of bread, Chorleywood is the way that happens. If you don't mind paying £2.50 for an artisan loaf that you can't figure out how to slice that's cool too.

And where is the magical 1GBP loaf that is done on mass scale, but is properly fermented? It's not as if in other parts of the world is not full of that type of bread.
Meanwhile: the Ryanair app actually works, unlike many others.

EasyJet App is slop, the BA app is total shite.
> Maybe it's time that critical systems switch to Linux.

I switched critical systems to illumos and BSD years ago and it's been smooth sailing ever since. Nowadays there really is no need to contribute to linux monoculturization whatsoever.
While I agree with the requirement, but it sounds like a vault would need to have an unlocked door with a sign.
Mine is the line, "You found a shell on the beach?"
Having spent time reverse-engineering Crowdstrike Falcon, a lot of funny things can happen if you feed it bad input.

But I suspect they don't have much motivation to make the sensor resilient to fuzzing, since the thing's a remote shell anyways, so they must think that all inputs are absolutely trusted (i.e. if any malicious packet can reach the sensor, your attackers can just politely ask to run arbitrary commands, so might as well assume the sensor will never see bad data..)
You're taking about how things are, the comment you're replying to is talking about how things could be. There's not a contradiction there.

Originally, x86 processors had 4 levels of hardware protection, from ring 0 up to ring 3 (if I remember right). The idea was indeed that non-OS drivers could operate at the intermediate levels. But no one used them and they're effectively abandoned now. (There's "level -1" now for hypervisors and maybe other stuff but that's besides the point.)

Whether those x86 were really suitable or not is not exactly important. The point is, it's possible to imagine a world where device drivers could have less than 100% permissions.
They surely mean that all odd number assets are running crowdstrike and even are running sential-one (or similar, %3, %4, etc etc). At least then you only lose half your estate.
> but they can't access any of the documentation to do so, because everything is down.

One of my biggest frustrations with learning networking was not being able to access the internet. Nowadays you probably have a phone with a browser, but back in the day if you were sitting in a data room and you'd configured stuff wrong, you had a problem.
Paypal does this as well.

They'll convert to your card's currency automatically and the option to revert is hidden behind an inconspicuous "See other currency options" prompt
And for much longer.
Slow startup, huge memory consumption, design that inherently favors class-based languages like Java, the frequent need to use Java libraries.
Companies using Windoze for anything touching customer business should get sued by their customers.
As strange as it sounds, this just seems way to sophisticated to be malicious.
Atari 2600 Emulator in Go
I've been working on an Atari 2600 emulator for many years. I've recently decided to end development at v0.34.0 and thought this was a good time for people on Hacker News to see it.

The emulation is complete and the 6507, TIA, RIOT and memory sub-systems are all accurate. It supports all the known cartridge formats, including those that make use of on-cartridge ARM processors and also specialist cartridge types like MovieCart.

The debugger is extensive and, uniquely, allows the emulation to be stepped at a sub-CPU-cycle level. Programs running on the ARM can be inspected at the source code level if DWARF data is available; breakpoints can be added and local/global variables can be inspected.

For the player, games can be played with a simple but effective series of CRT effects (implemented with GLSL shaders) and quick and responsive rewinding of gameplay. In fact, the rewind system plays an important part in the debugger too.

From the perspective of a Go developer, I believe it shows that the language can produce good and useful applications for the desktop. There is an undoubted performance penalty introduced by the use of supporting C libraries (SDL, Dear Imgui, etc.) but it is, in my opinion, not terrible. Other people may disagree with that and I'd be interested in hearing their thoughts.

The project is not worthy of a v1.0 tag but I now consider it complete if not bug-free. I know I've made some poor engineering choices but I believe many of these mistakes were due to my inexperience with the language - I would certainly make different choices today.

I look forward to constructive criticism from the programmers and engineers on Hacker News before moving onto my next project.
See also 'colout' to colorize a text stream.

https://github.com/nojhan/colout
To a degree, SpaceX is modern equivalent of Bell Labs when it comes to space technology. They attracted a lot of frighteningly smart people and untied their hands.

When thinking about Bell Labs etc., I often come to the conclusion that barriers matter more than anything else. If you force your engineers and scientists to hold long pointless conferences and produce some papers on regular schedule, plus submit their various work-related demands to an arbitrary set of rules and decision-makers, the result is similar to throwing sand into a mechanical machine.

But these limitations usually exist because of money shortage / funding, and few people or organizations have enough money to just shower them on their eggheads, like Bell Labs once did.
What if you have 50k workstations? Can you even do this remotely?

The problem may be fixed but I can see some companies having a really shit weekend.
> Linux isn't exactly reliable either... I'm sorry but that OS is barely capable of outputting a stable HDMI signal, god help you if you are on a laptop with external monitor.

It just just works for me, and has just worked with every laptop I have had in the last 15 years. My kids and I have several Linux installs and the only one with HDMI output issues is a cheap ARM tablet that is sold as a device for early adopters.

> For 3 computers, 2 laptops, I've never _not_ had display bugs/oddities/issues. System upgrades always make me nervous because there is a very real chance of something getting fucked up and my screen staying black the next time it boots, having to go into a TTY, and manually fixing stuff up or booting the previous version that was still saved in GRUB.

At least that number of machines (I do not know whether you mean three or five in total) for the last 20+ years and can recall one such issue.
A little function to help ;)

function searchWord(grid, word) {
const rows = grid.length;
const cols = grid[0].length;
const wordLength = word.length;
let found = false;

const directions = [
{ dr: 0, dc: 1 },
{ dr: 1, dc: 0 },
{ dr: 1, dc: 1 },
{ dr: 1, dc: -1 },
{ dr: 0, dc: -1 },
{ dr: -1, dc: 0 },
{ dr: -1, dc: -1 },
{ dr: -1, dc: 1 }
];

for (let r = 0; r < rows; r++) {
for (let c = 0; c < cols; c++) {
for (const { dr, dc } of directions) {
let match = true;
const positions = [];

for (let k = 0; k < wordLength; k++) {
const nr = r + k * dr;
const nc = c + k * dc;

if (nr < 0 || nr >= rows || nc < 0 || nc >= cols || grid[nr][nc].textContent !== word[k]) {
match = false;
break;
}
positions.push(grid[nr][nc]);
}

if (match) {
positions.forEach(cell => cell.style.backgroundColor = 'pink');
console.log(`Found the word '${word}' at positions:`);
positions.forEach((cell) => {
const index = Array.prototype.indexOf.call(cell.parentElement.children, cell);
const row = Math.floor(index / cols);
const col = index % cols;
console.log(`(${row}, ${col})`);
});
found = true;
return;
}
}
}
}

if (!found) {
console.log(`The word '${word}' was not found in the grid.`);
}

}

const gridContainer = document.querySelector('.grid.mb-30');
const gridElements = gridContainer.querySelectorAll('.letter');
const grid = [];
const rows = 100;
const cols = 10;

for (let i = 0; i < rows; i++) {
const row = [];
for (let j = 0; j < cols; j++) {
row.push(gridElements[i * cols + j]);
}
grid.push(row);
}

searchWord(grid, 'FOX');
It's funny but personally I'd feel less safe traveling to the USA. The chance of finding myself in the midst of a mass shooting terrifies me. Also being robbed, being involved in a road rage accident. If I was black I'd add to that the possibility of being subjected to police abuse. Without considering the chance I'm for some reason snatched and imprisoned in Guantanamo for the rest of my life without any legal process.
"1) Big piles of money 2) Enough of a moat that there's no immediate threat from competition"

SpaceX right now is in a very similar position.
Maybe it works, because through the app they are clable to collect much more data about you?

I'll never let companies like Ryanair execute code on my devices. I don't care how well it works.
I'm actually very fond of "fail fast" and "no blame" culture, but someone needs to get fired for this!
British Gas no longer prints their bank acc details on the invoices. They want you to create an online account and force you to set up a direct debit, so they can take money directly from their account. Disgraceful behaviour.
"destroyed" is perhaps a bit hyperbolic, with these medications HIV now has a better prognosis than diabetes.
I quite liked ReadEra. Scans your phone for all epubs, allows grouping and organizing them, but most importantly, has a good looking, customizable reading interface.
Unless he works high up at CrowdStrike lol
This is not a patch per se, it was Crowdstrike updating their virus definition or whatever it's called internal database.

Such things are usually enabled by default to auto-update, because otherwise you lose a big part of the interest (if there's any) of running an antivirus.
Specifically in Polish "wódka" (vodka) historically could describe any alcohol-based fluid, be it drinks, perfume or topical medication, so I guess it's this broader term that's used here.
While the current behavior likely is a consequence of the approach then. Their corporate lawyers don't want those legal aspects of the Unix wars, again and created their moat.
Or lose IT/security insurance for not installing or disabling it.
> A lot of organizations would rather not pay for CrowdStrike, but the premiums for not having an "EDR/XDR/NGAV" solution can be astoundingly high at-scale.

Just like a lot of homeowners would rather not pay for ADT, but insurance requires a box-ticking “professionally-monitored fire alarm system.” Nevermind that I can dial 911 as well as the “professional” when I get the same notification as they do.
When you centralize updates you get the outage which is the subject of discussion.

Or the Four Pests campaign.
Context: CrowdStrike (https://news.ycombinator.com/item?id=41002195)
> any previous century

Big call here.
> Chances if Microsoft or Crowdstrike will be held liable for financial losses caused by this outage?

Zero. Exactly Zero.

Clearly you have never been involved in buying insurance or writing contracts for IT products/services.

Loss of contracts, profits, goodwill, economic loss, loss of data and all that jazz is excluded in whole or limited to a fixed monetary value.

It is known as indirect, consequential or special loss, damage or liability.

No lawyer worth their salt will let an IT product/service company draft a contract that does not have the above type of clause..

And good luck finding an insurance contract that will pay out for such losses, indeed most of them have conditions that state your contracts with customers must exclude or limit such losses.

Most software also has clauses excluding use in safety critical environments.
In that we can agree. But I would put "build on operating systems intended for the purpose" on top of that list, too. There is no excuse for building airline or bank systems on office operating systems and trying to compensate by bolting on endpoint protection systems.

The issue here is not simply scanning for known malware, "endpoint protection" systems go way beyond that. I have never, in practice, seen any of those systems be a net benefit for security. And I mean in a very serious and practical way. Depending on your needs, there are far more effective solutions that don't require backdooring your systems. There simply shouldn't be any unauthorized changes for this type of systems.
I’ve not been happy with the state of desktop ebook readers for a while, so I recently built a simple web-based ebook reader. It’s designed to be a quick and easy way to read books while also providing decent layout and typography.

Although it’s a website, books and reading histories are saved in the browser’s local storage and it doesn’t track anything.

Here’s the link:
https://www.minimalreader.xyz
Windows breaking computers since 1985.
All of that is absolutely true and in no way affects the behavior at hand. Big companies go with whoever sells them the best, not any kind of actual technical evaluation.
That's not about experience, that's about following the regulated standards. This is well known ever since technology (not computers) got into hospitals.
From the guidelines:

> Don't solicit upvotes, comments, or submissions. Users should vote and comment when they run across something they personally find interesting—not for promotion.
Sort of. They need to be sued into bankruptcy. Current shareholders get completely zeroed out; the company still exists, but is sold to the highest bidder with the proceeds paid out to affected customers.

We need this so that every company board is always asking "are we investing enough to make sure this never happens to us?"
https://news.ycombinator.com/item?id=41002195
Canary offers more bang for the buck, and is much easier to set up. So I kind of disagree.
Oh, I agree on all points except that processes are inevitable in a sufficiently sized organization. Understanding how they affect people is critical to making them work.

I was just using sprints as an example here.
My B2C subscription management SaaS sucks
Hey fellow startup founders,

I’m looking for some advice and feedback on a challenge we’re facing with our product, Subwich. Subwich is a subscription management assistant that helps users manage all their subscriptions in one place, set reminders, and avoid unnecessary fees. We support multiple languages, currencies, and time zones, and send notifications through various channels like Line, Discord, Gmail, and Telegram.

The Issue:
We’re getting a decent amount of traffic to our landing page, but we’re struggling with conversions. Visitors are interested, but they’re not signing up for our product.

First Impressions: What do you think about our homepage and demo? Is there anything that might be causing potential users to hesitate?
Value Proposition: Do you feel our value proposition is clear and compelling enough? How can we improve it?
User Experience: Any suggestions on improving the user interface or user experience to make it more inviting?
Trust and Credibility: Are there elements we can add to build more trust and credibility with first-time visitors?
Feedback on Features: Are there any must-have features or integrations that you think we’re missing?

We’re open to any and all feedback. Thanks in advance for your help!
You’re right that it went noticed for a long time, just one clarification

> all the corps get a quiet tap on the shoulder that they need to immediately patch when MS releases it, then a few days later it hits the news

AFAIK, distros were notified and released a patched version of xz like a week before it hit the news, so at least a lot of machines received it via automatic updates.
Just to be safe, of course! In my org they try to rollout sentinel one on every ‘endpoint’ regardless of operating system.
does Russia has something to do with this?