skysight-inc/HackerNews huggingface dataset:
Or pay for it and support the people who's content you're watching and the company who's infrastructure is providing it.
I currently have the same issue while building a canvas web app. Safari shows a small magnifier glass on double tap/long press and none of the css properties will suppress it.
> ... could probably be swapped in if desired.

That's exactly my point! I do understand that in 2024, "we could probably do better than PGP if desired". But before complaining about people using PGP, maybe "we" should actually do it.

It is more convenient for me to use pass with PGP than to write my own alternative just because people complain about my using PGP, right?
could you point us to any history you've written in this style, as an example?

EDIT: for that matter, any history anyone has written in this style?

see also https://en.wikipedia.org/wiki/Berkson%27s_paradox
Are there any OSS Chromium based browsers that don’t have crypto and VPN bloatware that people recommend?
Gotcha, yeah the developer needs to implement text selection himself. I wrote how I implemented text selection between discrete blocks in a ListView in my block editor on my blog post: https://rubymamistvalove.com/block-editor
A lot of software stacks are still only optimised for ARM. TrustZone is also far more mature and supported than the RISC-V equivalents.
The culture is been driven by village idiots.
Also the ease of buying stuff increases, so more stuff needs to be produced and transported.
Well I guess your book needs a new edition. The type of gui you're referencing is typically referred to as a retained mode gui.
I mean the obvious answer, given that this is HN, is that you should make it yourself. A basic text forum in PHP wouldn't be super difficult.

But practically speaking, and unfortunately, hosted forums are a dead technology. All of the attention is on social media, Discord and federated solutions like Mastodon and Lemmy. If what you actually want to do is create a community rather than write software, you could consider existing solutions like that.
I have an Intel NUC 8i5BEH that does this repeatedly. Pain in the backside. The best way to “fix” it that I found quickly is to unplug the NUC and short the power connector for a few seconds. :/
> How about raise of "post-empathy" history?

History is about facts, not feeling. How bad it makes someone feel is irrelevant. Pretending that things were different to make someone feel better is wrong, in the same way as making someone pay for their ancestors’ ancestors acts is wrong. We should be able to discuss facts and understand why they happened rather than use history as a tool in an ideological fight.

Empathy is more important in the way History is vulgarised (to avoid glorifying or victimising people who have nothing to do with what happened) than in History itself.
And as unfortunate as it is, some people see black people running in their neighborhood as a danger to society and will call the police (or in some cases will just hunt them down and kill the person themselves https://www.justice.gov/opa/pr/federal-judge-sentences-three...)
I think you can work around it by listening on the touchstart event on your element and calling e.preventDefault(). Don't have an iPhone handy to test it right now, but I believe that's how I fixed that issue in my web game.
A Silicon Valley nudist resort is on sale for $30M
Why would that add fingerprint bits if everybody uses the same algorithm to render this?
eCAL does not rely on real-time at all. The provided samples are simple demo applications designed to demonstrate general usage. The publish/subscribe pattern supports sending messages with or without acknowledgment from the subscriber side. Latency is very low on the same machine (using shared memory transport) and depends on the Ethernet speed for inter-host connections.

You can simply use a publisher to send data to one or multiple matching subscribers, regardless of where they are running, without requiring any additional configuration. If you need RPC functionality, you can use the client/server pattern or combine multiple communication patterns to suit your needs.
Yes the heading is a bit misleading as there are other Typescript features that aren’t simply the result of type stripping, eg enums, but great to see this happening. What does this mean for Deno and Bun?
It complains in Arc on iOS, too. It‘s such a bad joke that browsers on iOS are still only a wrapper around WebKit…
Even if you are using Retina 5k 27", the subpixel rendering is still necessary to get sharper fonts.
Wow great news! ts-node has always been a bit clunky to use. Even without enums this should be useful for one-off scripts
One of the rumoured stigma is that the object-oriented flavour of COBOL goes by the unwieldy name of ADD ONE TO COBOL YIELDING COBOL.

At least it doesn't have the unrumoured stigma of older FORTRANs, which ignored whitespace, allowing:

DO 10 I=1.10

to silently compile an assignment:

DO10I = 1.10

instead of signalling an error for the syntax of the loop the flight software programmer had intended:

DO 10 I=1,10
His argument, not that I necessarily agree with it, seems to be that “the Crusades” aren’t a useful category insofar as they exclude other religiously motivated campaigns at the time that would have been considered equally important.

The Crusades were indeed horrible, and did long-lasting damage, but this wasn’t because Europeans were more “barbaric.” They were poorer, and so it’s assumed often that that would have something to do with it, but war has been a humanitarian catastrophe forever, and the medieval Europeans were no exception, but they weren’t any more or less cruel than anyone else. Armies in premodern wars were not only extraordinary destructive when they got to their destination, but also along the way—for many reasons, including the need to eat, but this wasn’t true everywhere, not only in Europe.
Huge shout out to astiga which I've used for a year and a half. It'll run a streaming service for you out of cloud storage (eg s3, but also stuff like dropbox or google drive).

I'd love to self host but have a toddler and not much time, so astiga is a great "take my money and do it for me" kind of service!

[0] https://asti.ga
> Oregon house cat dies from eating product that tested positive for bird flu

Big pharma profits have decreased, haven't they ? /s
I know. I’m diagnosed. I found that when I stopped using it as an excuse and started engaging my career and life in the ways I assumed adhd made them worse, I started succeeding in ways I thought I wouldn’t. My message is don’t become a person who identifies as a person with adhd. It will only hold you back in my experience.
Usually, with programming languages, that refers to having a wide standard library that allows you to complete many basic or common functions without downloading 3rd party or additional libraries.

https://protocolostomy.com/2010/01/22/what-batteries-include...
The PR is still open and hasn't actually been merged yet. It'll be great when it is though.
The caniuse link in the OP, under Known Issues, notes that Firefox currently does not support EventSource in a service worker. https://caniuse.com/?search=EventSource
Large microsd cards are very cheap these days. Using all this cloud stuff seems like a waste of multiple resources. And if you ever don't have a good connection then it's worthless. I've given stuff like this a try and only found it worth it on internal networks.
I feel that one big way in which engineers talk past each other is in assuming that code quality is an inherent property of the code itself. The code is meaningless without human (and computer) interpretation. Therefore, the quality of code is a function of the relationship between that code and its social context.

Cognitive load is contextual. `Option<HashSet<UserId>>` is readable to someone knowledgeable in the language (`Option`, `HashSet`) and in the system (meaning of `UserId` -- the name suggests it's an integer or GUID newtype, but do we know that for sure? Perhaps it borrows conventions from a legacy system and so has more string-like semantics? Maybe users belong to groups, and the group ID is considered part of the user ID -- or perhaps to uniquely identify a user, you need both the group and user IDs together?).

What is the cognitive load of `Callable[[LogRecord, SystemDesc], int]`? Perhaps in context, `SystemDesc` is very obvious, or perhaps not. With surrounding documentation, maybe it is clear what the `int` is supposed to mean, or maybe it would be best served wrapped in a newtype. Maybe your function takes ten different `Callable`s and it would be better pulled out into an polymorphic type. But maybe your language makes that awkward or difficult. Or maybe your function is a library export, or even if it isn't, it's used in too many places to make refactoring worthwhile right now.

I also quite like newtypes for indicating pragmatics, but it is also a contextually-dependent trade-off. You may make calls to your module more obvious to read, but you also expand the module's surface area. That means more things for people writing client code to understand, and more points of failure in case of changes (coupling). In the end, it seems to me that it is less important whether you use a newtype or not, and more important to be consistent.

In fact, this very trade-off -- readability versus surface area -- is at the heart of the "small vs large functions" debate. More smaller functions, and you push your complexity out into the interfaces and relationships between functions. Fewer large functions, and the complexity is internalised inside the functions.

To me, function size is less the deciding factor [0], but rather whether your interfaces are real, _conceptually_ clean joints of your solution. We have to think at a system level. Interfaces hide complexity, but only if the system as a whole ends up easier to reason about and easier to change. You pay a cost for both interface (surface area) and implementation (volume). There should be a happy middle.

---

[0] Also because size is often a deceptively poor indicator of implementation complexity in the first place, especially when mathematical expressions are involved. Mathematical expressions are fantastic exactly because they syntactically condense complexity, but it means very little syntactic redundancy, and so they seem to be magnets for typos and oversights.
You don’t need every single one obviously, just the major ones.

And I’m saying you should reserve your main handle - you can still have a unique one that you actually use.
Often that's not necessary for hobby use. The calibration is more about certifying the stuff that you measure with it.

For example if the magnification on the scope says 1000x but is actually 1050x, the item you manufacture and measure would have wrong dimensions that might cause issues during its use. This is why you calibrate them, so you know that something that's meant to be 1000 micrometer is actually 1000 (+ or - a certain tolerance that it's certified to). This is also needed for the certification of the products you manufacture.

However if you're just a hobbyist and want pretty pictures or you don't care too much about the accuracy, then it's not necessary.

I worked in a place with an electronics test lab and even stuff like multimeters would need to be certified yearly. This cost a lot (a significant fraction of the purchase price!) so often it would only need to be done for a few years before the meters would get replaced entirely. They'd be useless for the lab then, however they were still fully functional for home use as my need for accuracy isn't that high. Normally I use cheap chinese meters but having a real quality fluke is a big step up even if it's not calibrated officially. Unfortunately most of the stuff was scooped up by people a bit higher in the food chain than me :)
Ask HN: How do you maintain personal annotations for code you don't control?
I spend significant time reading and understanding codebases that I don't control (open source libraries, internal legacy systems, etc.). As I build understanding, I need to document my insights, gotchas, and mental models - but these notes are purely personal and shouldn't be part of the actual codebase.

My challenges:

1. These annotations need to be tightly coupled with specific locations in the source code (particular functions, variables, or even specific lines)

2. The underlying code changes regularly (new versions, updates from maintainers) which can break the connection between my notes and the code

3. My notes are private - they include half-formed thoughts, questions, and sometimes critical observations that wouldn't be appropriate as public comments

4. I want to preserve this knowledge across different machines and working environments

I've tried various approaches:
- Local IDE bookmarks (lost between sessions)
- Separate markdown files (hard to maintain precise code references)
- Private forks with comments (becomes unmaintainable as source evolves)

I'm curious how others solve this problem. Do you have a systematic approach for maintaining personal annotations on code that's not under your control? How do you handle the challenge of the code evolving while keeping your notes relevant?

Would especially love to hear from people working with large codebases or those who regularly need to dive deep into external dependencies.
That depends. To me, if you are developing an actual app, you should not be able to select text by default - its too easy to do by accident. If you're doing editing or there's an error message, those are exceptions and of course you should be able to copy those.

If what you're doing is an interactive website with texts like an article or a story, I think you should be able to copy by default, but UI elements like buttons should not have it enabled.
Presumably, ReadableStream does not auto-reconnect.
Save your bookmarks in a intelligent way
Sorry, but that analysis is too sloppy to allow any such comparisons.

If you look at the scraped document list [1]:

* Most of these are not normative! They're not specifications, they're guides, recommendations, terminology explainers, and so on.

* A lot of documents are irrelevant to implementing a web browser (XSLT, XPath, RDF, XHTML, ITS, etc.).

* A lot are obsolete (e.g. SMIL, OWL).

* There are tons of duplicate versions (all of CSS 1-3 are included; multiple versions of HTML, MathML, and of course the irrelevant XML-based standards).

* Many standards are scraped both as individual section files, and as a single complete.html file. He didn't notice this, and counted both.

As a particularly egregious example, he includes every version of the Web Content Accessibility Guidelines (WCAG) standard, going back to 1999, each of which is large.

I have not done any kind of analysis myself (which should be thorough to actually be fair), but if you prune it down to the core technologies (HTML5, CSS, ECMAScript, PNG/GIF/WebP, etc.), I'll wager it's probably less than a million, or at the very least less than 2 million. The ECMAScript spec is just 356,000 words.

[1] https://paste.sr.ht/~sircmpwn/475ad10f9ff9f63cd0a03a3f998370...
Advent of Code analysis through the years
What linker are you using? I've gotten really significant speedup over the default linker by using lld or mold.
You don't seem to understand my point: the second you are using c++, it is over.
> F* is a programming language with proof support. Lean/Coq are theorem providers that can be used to model and generate code.

Lean is also a programming language with proof support. It is very much in the same category as F* in this regard, and not in the same category as Coq (Rocq).
Thank you for the suggestion. This is also what is discussed in some stackoverflow threads on that topic.
I simply do not get why javascript is required to stop the browser from interfering with user actions.
Calling preventDefault also messes with element focus and other events.
let me improve it
with your thaught and feedback
init -> success -> red
init -> failure -> cleanup

red -> success -> red_yellow
red -> failure -> cleanup

red_yellow -> success -> green
red_yellow -> failure -> cleanup

green -> success -> yellow
green -> failure -> cleanup

yellow -> success -> red
yellow -> failure -> cleanup

cleanup -> done -> finish

init/red/etc are states.

success/failure/etc are events.

Each state is a function. The function red() for example, waits for 20 seconds, then returns success (assuming nothing went wrong).

To start the state machine, initializes state to "init", and enter a loop, in the loop you call the function for the current state (which makes that state actually happen and do whatever it does), and that function returns its event for whatever happen when it was run, and you then call a second function, which updates state based on the event which just occurred. Keep doing that, until you hit state "finish", then you're done.
Why? time_t is signed
It was deemed ableist by the White Knight Censorship company a few years ago. Something about cerebral palsy.
For actual information rather than super-vague observation, have a look at the:

-=[UN World Population Prospects Report 2024]=-

https://population.un.org/wpp/

there are bunch of online charts and a large PDF etc.
You cannot use a global trend to explain a specific situation and then explain that global trend as wanting to have kids or not, and then think that you have seriously offered a better hypothesis than OP.

As an analogy, I started playing Minecraft because my friendsand I were compelled at the idea of building stuff on our server, not "because" (to use the word you used, though there is no causal connection) people all over the world start playing Minecraft.
Analytics Pipeline for Karma Tracking
I received an empty, small blue plastic toolbox. For me, it was the most amazing thing because now I had my own toolbox, like my father and i could add anything to it. I still have that box. I love it.
needs login and credit card for paid plans, fyi the prompt is not english
javascript-walled
Russian supermarkets seem full and the trains run on time. I doubt anyone east of Moscow even thinks about the war in Ukraine very often. This won’t change until actual sanctions are in place. What we have now is just child’s play.
The benchmark results seem unrealistically good, but I'm not sure from which angles I should challenge them.
And only children more narcissistic and less social. And we're choke full of those these days...
I'm always hearing that Cobol programmers get high salaries, because they are so rare.

Did this project generate any flood of offers for work?
Show HN: After 2 weeks of learning Swift, I've published my first iOS app
Hi y'all!

I am full stack web developer, and recently I started to mess around with Swift. I've been having a lot of fun and I actually build little Countdown app ( I know, how original..), but I just wanted to share it with the world!
I assume you want to self host in order to sync locally, right? If that's the case, you can use Obsidian with git plugin and you get sync + versioning (all what git offers).
Forgot to add the link in the post ...

https://apps.apple.com/hr/app/countdownduck/id6739428834

I would love some feedback :)

Thank you
EGUI owns. It's my go-to for writing GUI PC programs.
China's 6th Generation Fighter Jet Maiden Flight [video]
I think I'm out.

I do not find the argument that the Hard Problem is a problem convincing. I don't think it's hard or even really a problem; it's people arguing about Peano derivations when discussing how many angels are dancing on the heads of how many pins.

It's irrelevant and it's not just missing the point, it's actively spreading smoke clouds around the area of the point so that nobody can see it any more.

For me, Douglas Adams nailed philosophy:

«
It is often said that a disproportionate obsession with purely academic or abstract matters indicates a retreat from the problems of real life. However, most of the people engaged in such matters say that this attitude is based on three things: ignorance, stupidity, and nothing else. Philosophers, for example, argue that they are very much concerned with the problems posed by real life. Like, for instance, “what do we mean by real?”, and “how can we reach an empirical definition of life?”, and so on.
»

I recognise that some people find these issues significant and important. I do not. If that's what interests you, I have nothing more to contribute.
About Britannica AI
This was the best explanation. I forgot I used to be this awkward as well for many years and the autopilot/manual analogy is just great. I did get much better at this though through lots of practice and patiently wasting my mental energy and having many awkward interactions, now it’s all just natural to me. I’ll be called an ableist and downvoted, however, I don’t really understand what’s stopping others from suffering through discomfort to get used to it and not see it as discomfort anymore. Although I did get lucky with my friends groups at the university and first companies I worked for.
> Private forks with comments (becomes unmaintainable as source evolves)

If swdev-grade merging tools are not sufficient to get it done then that's probably a bad sign for your requirements being possible to be met
> “It’s very clear that high-fidelity visuals are only moving the needle for a vocal class of gamers in their 40s and 50s,” said Jacob Navok, a former executive at Square Enix who left that studio, known for the Final Fantasy series, in 2016 to start his own media company. “But what does my 7-year-old son play? Minecraft. Roblox. Fortnite.”

I don't know the formal name, but this is an extremely common pattern of leadership failure and resource mis-allocation. It's just so easy to follow a sounds-good metric down an easy-at-first trail...which leads out into the desert.
Fair. I must admit that I'm not aware of the recent features of Java. Last time I really needed it was the time that we needed to instance an anonymous class for callbacks. I still find the block syntax in Ruby cleaner though.

Kotlin is another language that has this Ruby-style blocks for callbacks.
Likely CIA, as it always has been.
I remembered wrong. In most circumstances a tcp connection will be gracefully terminated by sending a FIN message. The timeout I talked about is on an ACK for a keepalive message. So after x time of not receiving a keepalive message the connection is closed. This handles cases where a connection is ungracefully dropped.

All this is done at the kernel level, so at the application level you should be able to just verify if the connection is open by trying a read from the socket.
I assume the OP recently watched the video of Ryan C. Gordon porting ioquake3 from SDL2 to SDL3 [1]. He uses the linked tool to automate a lot of the migration. SDL3 ships with a Coccinelle file [2] to handle all the Enum and API renames and it also comments areas that need manual fixing.

[1] https://ioquake3.org/ioquake3/ryan-c-gordon-ports-ioquake3-f...

[2] https://github.com/libsdl-org/SDL/blob/main/build-scripts/SD...
> journal Lancet, calling the lab leak hypothesis a conspiracy theory (…) One of the authors was Peter Daszak of EcoHealth Alliance, a nonprofit that has worked extensively on coronavirus research with the Wuhan institute.

Wasn’t that odd? The person involved with the lab said “nothing to see” and it’s all a conspiracy theory. And a prestigious journal published it, and the media then beat everyone on the head with it at the slightest hint of disagreement. Do you want for people to lose confidence in the scientific community and fuel more conspiracy theories, because that’s exactly how you do it.

> Fauci has denied ever calling the lab leak a conspiracy theory and says that scenario can’t be excluded.

There should be a name for conspiracies that were once it conspiracy theories. There is something more interesting about them than the plain ol’ boring conspiracies.