skysight-inc/HackerNews huggingface dataset:
the 'trusted flag' (my term) == the thing that you touch when you Unblock-File (pwsh) or uncheck in the file properties UI => lives in an alternate data stream.
FPTP is a ranked choice system.
'

open /Applications/Microsoft Excel.app/
"Only sure-fire way is to toss it in one of those big grinders data destruction companies like Iron Mountain have. They even let you watch it go in."

This is what rsync.net does with drives that need to stop existing.

I do, indeed, watch it go in and I strongly recommend a canister respirator when entering a shredding/destruction facility.

I cannot believe the operators of these devices - which are pulverizing glass and circuitry, among other things - don't wear lung protection as they stand over the machine-turning-drive-into-dust.

To my sibling who wondered about sleight of hand:

I can only speak for the machine I take drives to but it is an immediate and brutal reaction with sparks flying and pieces flying up ... and sometimes the machine jams and they back it out and re-feed it ... there is no question as to what is occurring to that specific drive.
Tired of Bookmark Chaos? Try This New Tool
After struggling with countless open tabs and disorganized bookmarks, I created a tool to make life easier. Our platform allows you to save, tag, search, and organize your bookmarks seamlessly. I'm eager to improve it based on community feedback. If you are willing to try it out comment "Bingo" and I'll reach out to you. Thank you
Yep, I have this with Tibber[1] in Sweden. We haven’t hugely changed how we consume electricity for small stuff, but for bigger things like car charging or even things like pyrolytic cleaning of the oven it’s easy to pick times when the prices are low, especially at the moment when electricity often goes down to near-zero or even negative.

[1] https://tibber.com/en
The obvious downside is the number of examples computed. A simple unit test can easily take 100 times as long when property-tested.

Besides, it would be really cool to have property-based integration or hybrid unit/integration tests. Or even property-based E2E tests. Unfortunately, the setup of the example will almost always take too long for a relevant set of runs.

For instance: If you have a basic data model (say in sqlalchemy) and want to write property-based tests (say in hypothesis), you can relatively quickly derive strategies for the models (but beware of recursion and primary keys). But writing that model instance into the DB for running an example just takes too long for swift testing.
This catches my eye every time, but for day-to-day work I always fall back to Google sheets. In light of that, this browser extension I found recently has been an absolute game changer: https://github.com/philc/sheetkeys

Because really, do you want all of vim in sheets, or just navigation (`i/h/j/k/gg/G/^u/^d`) and selection (`v/V`)? It has some other basic stuff, like `dd` and `o/O`, but otherwise conflicts with browser and Google functionality keep me away.
Clickspring is the most skilled machinist of youtube. Watching him work is so incredibly satisfying.
The problem here is that hell is exciting and heaven is dull. I enjoyed the John Ciardi translation of hell a lot and purgatory in a sort of academic way and couldn't make progress thru heaven.
alias: V
interests: gardening (no dig, organic, regenerative), music (post rock, rock, metal, rap/hip hop, some electronic/pop), programming/software, politics (I just like observing from a distance), economics, astrophysics/space (not deeply into science anymore, but sometimes I like to think about things)
language(s): English
link to something you think is cool: clickable link below
contact info: postrock <A T> fastmail <D 0 T> com

https://en.wikipedia.org/wiki/Timeline_of_the_far_future
As someone with 14+ years in the California tech scene, they're both fairly terrible for large pushes unless you have a stellar product team that can pull all of the small scoped work together into a larger effort.

Generally, there is a reason enterprises use standard Waterfall and the like; they're not looking for agility and quick-response, they're building large scale applications and iterating upon them.

(I'm a startup kinda person and prefer that environment, just pointing out the merits of more glacial enterprise style development cycles/pipelines)
This seems to be a special case.

The blog post was rebutted by Seth in the comments 2 weeks ago, same as Colin Percival's HN rebuttal, and Andrew didn't reply. It seems like a weird goof. Andrew was "buggin".
I'd like to see the LaTeX that generated that paper, it does look really nice.
People started paying me to develop software in 1986. First time I ever used version control software was 1996. It was TERRIBLE. Two years later I left to start my own software company, but my experience with it to that point was so bad I went without version control the first few years. Around 2002 I started using CVS (or RCS? long time ago!) and quickly switched to Subversion. After learning git to work on Raku circa 2009, I switched my main $WORK repo to git in maybe 2012. Every repo I've created since then has been in git, but I still haven't moved all my svn repos over to git.
Kinda reminds me of QAM
This article is the what, but it is missing the why. I'm supremely biased against scrum, so basically ignore what I am saying if you're a fan of it. Fundamentally, Kanban is pull-based, and Scrum is push-based. That's the difference.

Scrum spends time determining how long things will take, and then attempts push it into a schedule via story pointing and other ceremony where people pretend they're not guessing how long thing will take by using points and t-shirt sizes and anything other than time to guess how much they can get done in some arbitrary amount of time. Then devs do what they were going to do anyway, and everyone slaps each other on the back because they're measuring the success they're having. It's a dream for people who like to count things and build check lists and check them off. Its success has little to do with the process and much to do with the team's ability to gather requirements and do their job. It's ideal for contract gigs where it's as important to track how much time it takes you to do things as it is to actually do things.

In Kanban you put what you want to do in a list, and pull the things from the list in order as you complete them. If customers need things quicker, you change the order of things in the list while communicating to them what will slip and what will accelerate. They take as long as they take (because that's how the world works, yes, even in scrum), but with 100% less ceremony and pointless coordination. Kanban is about constantly managing constraints and eliminating waste. You don't need to strictly measure how long things are taking. You pay attention when things don't move off the board, and modify resourcing in whatever way will get things unstuck. It's less fun because you don't get to pretend you know how long something will take, but it's more fun because you get to be an adult professional instead of a servant to the processes of people who don't actually build things.

This is somewhat tongue-in-cheek, but in my career I've never seen switching to pull-based patterns make things worse, and I've often seen them make things better, including morale. It doesn't seem like it will work, but in practice there are so many efficiencies gained in pull-based processes that it usually ends up being faster and feeling better while doing it.
I recently saw a device that vibrates drives apart into it's components for easy recycling.
To be honest this is both unsurprising and IMO very irrelevant.

Spoofing a CAN or ARINC429 bus requires physical access. At that point an attacker has access to the physical systems of the plane, at which point the plane is compromised anyway. What he uses to take over the plane is essentially arbitrary and there is absolutely nothing that would give any protection.
alias: G.
interests: computers, programming languages, programmatic puzzles, bacteriophages
language(s): en, fr
link to something you think is cool: https://google-research.github.io/self-organising-systems/2022/diff-fsm/
contact info: moeie.gyj/btfgxnc (Vigenère cipher, the key is this website's name)
Although it's not my stack of choice, it's generally a good starting point:

https://github.com/ixartz/SaaS-Boilerplate
It is unfortunate, to be sure, and I strongly disagree with Red Hat's decision to cut important projects like JRuby.

When we joined Red Hat in 2012, it was the most exciting career move of my life. A company I had long respected for its dedication to and support of OSS... this was a place I could finally do good work for the community for the rest of my career.

I was still cautiously optimistic when IBM bought the company, since for several years it seemed like the status quo would be maintained; Red Hat was very successful at driving new revenue to IBM, and investment in OSS continued apace. I guess being the most profitable division of IBM was not enough.

I wish my remaining friends and colleagues at Red Hat the best of luck.
Haha, I appreciate it. Perhaps the perks of having worked both on set and post production , and both on the creative and technical side.
I'm in PowerShell 7.4.2 and they're definitely absent. I hadn't thought to install directly from GitHub, given part of the whole shtick of winget is it's The One True Package Manager and bundled, but I can't say I'm surprised, either...
I believe a NAND gate is required as the base on which all other possible circuits can be built, so they need just to add an inverter for potential turing completeness.
An awful lot of the destruction can be done with a torx screwdriver:

Step 1: take the screwdriver, dismantle the drive, and remove the platter(s).

Step 2: take the screwdriver and gouge the platters.

Step 3: take the screwdriver, lay each platter across it on the floor and stamp your foot down, hard.

Destroying the metal casing is fun but it doesn’t really do an awful lot in terms of making your bits harder to read.
Thank you for a clear and courteous answer to my silly question. (I am so used to not thinking about spinning hard disks that I didn't even notice that I'd used the term to refer to SSDs.)
> How does that help existing Apple owners in Russia?

Existing Apple owners in Russia intentionally bought a hyper-expensive phone with no side-loading. They had 99 options and of those they selected the one that costs a significant multiple of a monthly salary.

> Wouldn't it be better if all phones had side loading capability by default?

No, because I want to buy a phone that doesn't have side loading capability by default, so I choose Apple phones.

The more doors you build into a system, the more likely someone is to use one of them with ease, maliciously.
The cheap ones are fairly common in Britain where the user isn't choosing (student houses, cheap rentals etc). The installation cost is low, but the running cost is high.

They are crap. 8kW is typical, and the pressure for a reasonable water temperature is low.

I haven't knowingly used a more powerful one. I suspect that would negate the cheap installation cost, as it would need a three phase circuit.
Highway TL here. The integration is a work in progress; what has been integrated so far is VQSort :)
This ability to look things up on the fly is why I love ereaders, despite the newproblem of finishing one book on my TBR list and having bought more than one book referred to in the first book. A divergent sequence of books I fear.
He projects (at current growth and experience rates) that battery cells will reach $8/kWh by 2030. Wow!
To have an idea of monads being sequential, think about a JS Promise:

promise.then(...).then(...).then(...)...

Promises are (almost) monadic, and the chain is sequential. You can't make it parallel, and that's the point: monadic binding represents sequential computation, aka "the semicolon operator".

To have an idea about applicatives being parallel, think about a list of functions, and a list of values; each function would be applied to a corresponding value, resulting in a list of results:

results = []
for ix in range(functions):
f = functions[ix]
x = values[ix]
results.append(f(x))

It's pretty obvious that you can do each f(x) in parallel and in any order, instead of the sequential code above.

(Why would one care about this all? Because many daily things are functors, applicatives, and monads, e.g. a list is usually all three.)
Sure, this is how negotiate and hiring have always worked.
Oh, StarDat.mpq, brings back memories. That was one of the major reasons I'm in this industry now - the file itself is a "virtual file system" (MOPAQ, with MO being IIRC the authors' initials) file with some CRC and obfuscation. As a kid, I was hell-bent on learning how it works, writing code to decode and encode it, and then use it in my own hobby projects. I learned a lot of concepts from that little rabbit hole. Hell, the way StarDat.mpq, BrooDat.mpq, and Patch_something.mpq interacted, was what you'd call "overlay FS" today.
So we’re stuck with git because of rails, how amazingly poetic.
alias: spud
interests: books (Austen atm), emacs, songwriting, cooking, guitar, politics, writing, databases, weight loss, health
language(s): English
link to something you think is cool: https://songfight.org
contact info: In my HN bio!
Another question would be: "Can we create systems intended to be permanently disconnected from the Internet?". Unfortunately, the answer seems to be no. You can see indications in the way that small water purification systems connect to the net just to save engineers from going in a weekends.
I hate to imagine how much ewaste is produced from destroying these drives, rather than simply wiping them and reselling them as refurbs.
For anyone who's not familiar, "this guy" is Chris Budiselic of Clickspring, who's mentioned as an inspiration for this research:

> In 2020, new X-ray images of one of the mechanism’s rings, known as the calendar ring, revealed fresh details of regularly spaced holes that sit beneath the ring. Since the ring was broken and incomplete, however, it wasn’t clear how just how many holes were there originally. Initial analysis by Antikythera researcher Chris Budiselic and colleagues suggested it was likely somewhere between 347 and 367.
Nice work, OP. Looking at the graph, I sure hope we did not hit "Peak HN" in Q2 2023.
As a frontend dev, can I ask what your web app is? The stack you choose should depend on the needs of your project. An e-commerce site needs something different than a blog or a game or a map or a dashboard.

I normally use Next for sites that are write-rarely-read-often. Its strength is in offloading some work to a light backend and caching the results, so clients don't have to do that. It's not appropriate for use cases that are either real-time or simple/low-volume enough to not need server caching.

Depending on what you're trying to build, simpler solutions like Astro or Remix or Vite might be better. Or static HTML with some JS thrown in only where needed (check out HTMX and Alpine).

You might not even need React either. You can check out Svelte and Vue too. If your project is like jQuery powered sites of old, today's vanilla Ecmascript is about as powerful and can do a lot by itself.

It really just depends on what you're trying to build. They all output some combination of HTML, JS, CSS, and occasionally Canvas or SVG UIs. So the choice is really about developer ergonomics and out of the box features that support whatever you're trying to build.

The batteries included frameworks are more powerful to support more complex projects with server-side needs. If you don't need all that, a simpler client based solution will be easier to reason about and troubleshoot. If you don't need heavy client side interactivity, sometimes a backend driven solution is better.

-----

If you're not sure, just default to learning Next and especially React. Not because it's the most appropriate, just that it's the most popular. Easy to get help for and to hire for if you need it.
Sequence points in C and CPS/ANF compilation in Lisp are kind of related to this. Both monads and applicatives enable you to define f(g(), h()), where f, g, and h are stateful computations of some sort, but monads force you to specify which of g and h is invoked first [so it’s more like x = g(), y = h(), f(x, y)] while with applicatives the implementor of the stateful model can decide what happens in such cases.

[Disclaimer: I don’t know how QuickCheck actually works, so I’d appreciate a sanity check (hah) of the following from somebody with actual knowledge on the matter.]

GP’s point, if I understood it correctly, is as follows. If you’re doing randomized testing, then g and h could perhaps be defined as { for (i=0; i<n; i++) { int x = rand(); if (!fork()) return x; } } (and yes, in monad-land the moral equivalent of fork() is admissible as what I vaguely called a “stateful computation”). You see how strict ordering of side effects enforced by monads essentially forces you into a depth-first search of the state space (although I guess you could do iterative deepening?), while applicatives can allow for different exploration strategies (ones more interesting than C’s official behaviour of “that’s UB, you fool”).
> But it is true that there are extreme differences regarding this across the diverse sections of Indian society. The tech/management crowd in cities like Bangalore and Hyderabad is practically indistinguishable in its tendencies as against similar crowds in the West, for example.

Yes I think also that Modi's conservative success is based on this, a lot of the rural hindus seem to view the tech centres as "cities of sin" and view them as running out of control. It is a very diverse country of course. They don't all emancipate at the same speed.

> LOL, Is there some kind of massive inheritence waiting for your friends that they stand to lose if they don't get married on time?

No, they come from pretty humble backgrounds generally, but the prospect of losing touch with their family is a much bigger deterrent as far as I understand.

One of my friends said her family wasn't really to blame either, as they would be ostracised in the village too. Not even for her 'living in sin' so to say (I'm not sure if that's even a thing there) but because her family attended many wedding parties and it's expected to reciprocate. There's a lot of social pressure on them too. At least this is how I understood it. I'm sure my understanding is coloured through the lens of my western background.
What level of subsidy do we give to batteries?
Not just AI. AI is just the latest in hopeful technologies to get us out of this debt rut we are in. Every time something fails to get us out it drags us deeper in.
It appears to support XLSX, so for certain level of sharing it should work.
If it requires physical access an attacker can also attack the analog systems which are controlled by the software.

>I wish that vehicular systems all had air-gap level separation of messages, rendering it physically impossible to disrupt messages to critical systems like flight controls.

This is just false. There is nothing in the world which makes physically separating two airplane systems impossible.

>Can we really live with avionics platforms as a setting for the same kind of perpetual arms race against attackers that we have for general operating systems?

The comparison is false. OSs are exposed to the entire world. Airplane systems require physical access.
Th64: Tiny Hash Function in C
OS/2's HPFS also had alternate data streams, called Extended Attributes. You'd make two calls to DosQueryFileInfo() - the first time to get the size of any EAs so you could allocate a buffer, then call it again to read the contents into the buffer.

It got used occasionally - not a lot. I had a newsgroup reader that would store the date of the last time you downloaded items for a group in an EA (of the file that had the items).
Ask HN: Can any US site be targeted via DMCA?
I feel like something is wrong with my understanding of DMCA.

Let’s say I want HN to change its logo for 10 days.

1. Find HN’s host, data center, or data center’s ISP.

2. Send a DMCA takedown notice claiming that HN’s logo violates my copyright. Signed: Jane Doe

3. The host/datacenter/ISP is required to process all properly submitted DMCA notices, lest they lose their Safe Harbor status. HN submits a counter-claim, but the logo still has to stay down for 10 days according to DMCA.

This probably can’t actually work in practice. Why?
Some orgs crush entire computers, so crushing just the drives is at least better than that.
e.e. cummings
RE ".... build in "bad network emulation" into your software....." I expect there would be network emulators that would be able to emulate these situations. How good these emulators are would be the next question.
>"Can we create systems intended to be permanently disconnected from the Internet?"

Any modern jet will function without internet.
- Added a bunch of functions like volume adjustments.
- New build system makes it easy to build.
- Code structure is completely changed and tests are updated (it's still API compatible)
As a growing developer, I always craved 'real-world' experience—something that was rare and almost non-existent back then. Fast forward a few years, and I've successfully launched a hobby side-project that exceeded all expectations:
* Over 3,700 users signed up
* Really positive user feedback
* Zero marketing budget (just one Reddit post and a tweet!)

It took a few months to build (partially working on it on my free time) and was really fun. This solo project allowed me to wear multiple hats:
* Product Manager: Setting requirements and collecting user feedback
* Designer & Architect: Crafting the overall structure and user experience
* Full-Stack Developer: Building both frontend and backend
* DevOps Engineer: Handling deployment and operations

Realizing I had achieved what I once wished for as a software engineer, I thought this experience might interest others like me. Now, I'm excited to offer this journey as an advanced course for mid to senior-level developers.
We will build my project together from scratch. Focusing on advanced concepts, skipping basic tutorials. Get insights into the entire software development lifecycle (from concept to production).
I'll share the flaws in my initial design, bugs that were revealed, and how unexpected attention pushed the project to its limits (e.g, I had to deal with enormous amounts of egress traffic) and had me looking for solutions.

This course is ideal for developers who:
* Are familiar with basic web development concepts
* Are familiar with Go and web-servers
* Want to experience the full journey from concept to launched product
* Seek insights into building and scaling a successful application process

The tech stack is Go, SvelteKit and Postgres.
I'm currently testing the waters to see if there's market interest for a practical course based on my experience. I’ve created a simple landing page for it — https://levelup.devopsian.net/
As I explore this idea, your input is invaluable. By signing up, you're not just expressing interest in the course, you're helping to determine if and how it will be developed.

Any feedback is welcome. Also if you have tips on how to launch such project successfully, feel free to share.
Be my guest in writing about it, I hope I can help you with it.

PS: Life is sometimes a funny coincidence. My brother, who is a State attorney where I live, called me to share private matters 20 minutes ago, and already asked him for some help/directions about it. This weekend, I will speak to him in our spare time about it.
Greeks were cooking with gas (from the paper):
“However, we note that the degree of manufacturing precision is remarkable, with standard errors in hole positions of only 0.028mm radially, and 0.129mm azimuthally.
Budiselic et al. quote a standard deviation for their individual position measurements of 0.037 mm, so a good deal of the radial error may come from the measurements of the X-ray images themselves.”