skysight-inc/HackerNews huggingface dataset:
IE is dead, document.querySelector and friends are sufficient where jQuery was needed. Instead of basking in this achievement, frontend tooling has heaped on bloated build steps with thousands of dependencies. According to the current trends this is the standard way to populate a dynamically updated table or serve a static landing page.
Airgapped from the Internet —- yes.
Along with the Caribbean, Bermuda, and Saint Pierre and Miquelon.
That really depends on what you're doing. Trying to feed a tensor core is pretty hard–they're really fast.
C is hard. It seems like C++ just made things way harder. I don't regret skipping it. Why not just go right to Java, C#, JS, Haskell, etc. and do what you need in C.
This is an old attack vector. No one is learning from history. The organizations being hit have poor cybersecurity.

https://en.wikipedia.org/wiki/2008_malware_infection_of_the_...
I agree with that, in the context of dynamically typed languages.

Slowly but surely, new languages are starting to develop with static duck typing. Implicit interfaces if you will.
Thing is, a lot of developers see long code and think "this is a Bad Thing" because of dogma, but in practice, a lot of developers never actually wrote anything nontrivial like that.
Isn't Qt still proprietary or semi-proprietary?
The comment to which you replied was about encoding, not decoding.

There is no reason to do decoding in software, when hardware decoding is available.

On the other hand, choosing between hardware encoding and software encoding, depends on whether quality or speed is more important. For instance for a video conference hardware encoding is fine, but for encoding a movie whose original quality must be preserved as much as possible, software encoding is the right choice.
The Joides Resolution may have sailed its last expedition
Based on other comments here, typically the USB key is destroyed after the data was copied into the network. No data is allowed to exit the airgapped network.

Read-only media or destroying the media after use is a reasonable mechanism to protect against data exfiltration.

I'm not sure how you protect against infiltration though. A computer system that cannot get data in is pretty useless methinks.
Yes. You may only legally hire an H1B visa holder for a role if you can demonstrate that you made a good faith effort to hire an American (technically someone with full right to work in the US) and couldn’t.

It’s no secret many companies don’t come close to meeting that standard hence the ramp up of enforcement on those violating the terms of these visas. A green card holder would have the same right to the role as a US Citizen but an H1B visa holder is only a secondary option if others couldn’t be hired.
How to convince engineers that formal methods is cool
On cat-human interaction from the viewpoint of physics: an equation of motion
My browser says "The connection to number-none.com is not secure". Guess it is only a matter of time until HTTPS becomes mandatory.
I really dislike how this principle ends up being used in practice.

A good abstraction that makes actual sense is perfectly good even when it's used only once.

On the other hand, the idea of deduplicating code by creating an indirection is often not worth it for long-term maintenance, and is precisely the kind of thing that will cause maintenance headaches and anti-patterns.

For example: don't mix file system or low-level database access with your business code, just create a proper abstraction. But deduplicating very small fragments of same-abstraction-level can have detrimental effects in the long run.
Who will replicate the consensus checker?
Turkey blocks instant messaging platform Discord
My body disagrees.
They're optimized for different things.

Arrow is designed for zero copy ipc -- it is, by definition, an in-memory format that is therefore mmappable.

Parquet is an on-disk format, designed to be space efficient.

So for example, Parquet supports general purpose compression in addition to dictionary and RLE encodings. General purpose compression forces you to make copies, but if you're streaming from disk the extra cost of decompressing blocks is acceptable.

Arrow doesn't use general purpose compression because it would force copies to be made and dominate compute costs for data in memory.
I guess you were not serious about the climate, as this will have no measurable effect on it, and with things like Jevons paradox [https://en.wikipedia.org/wiki/Jevons_paradox] could even have the opposite effect (more people using the app more because it is more usable)

But yes, for the love of your users, don't make an app using electron :-).
Who are you referring too? I am really curious.
Likely that is the point. The initial process with the stick is security theater, and adding the RO requirement is just more theater. Both comments are sarcastic, imo.
Cerebras likely to postpone IPO due to CFIUS review delay on G42 deal
The Problem of Distributed Consensus (2021)
Unfortunately the Wikipedia article has multiple issues.

Found this article which claims 7500BC.

https://timesofindia.indiatimes.com/etimes/trending/10-oldes...
Teaching.

I had this problem with an overzealous junior developer and the solution was showing some different perspectives. For example John Ousterhout's A Philosophy of Software Design.
> EDIT support for file formats beyond plain text would also be a winner.

Can you say some more about this, what kind of file format do you want? JSON? XML?
> the one was application initialisation

...and then you want to parallelize as much as possible to allow for fast boot times which helps the development process immensely.

One of the things I've learned is that optimizing for developer quality of life is one of the best approaches when it comes to correctness and performance. Then, the developers would be able to run multiple iterations of the real thing.
The problem is that such third-party requirements are usually wrong.

Two decades ago some developer probably went "Yeah, obviously all names start with capital letters!", not realizing that there are in fact plenty of names which start with a lowercase letter. So they added an input validation test which checks for capitals, which meant everyone feeding that system had to format their data. A whole ecosystem grew around the format of the output of that system, and now you're suddenly rewriting the system and you run into weird and plain wrong capitalization requirements for no technical reason whatsoever.

Alternatively, the same but start with punch cards which predate ASCII and don't distinguish between uppercase and lowercase letters.

> In C# I can simply do this: "hello world".ToUpper()

... which does not work.

Take a look at the German word "straße" (street), for example. Until very recently the "ß" character did not have an uppercase variant, so a ToUpper would convert it to "STRASSE". This is a lossy operation, as the reverse isn't true: the lowercase variant of "KONGRESSSTRASSE" (congress street) is not "kongreßstraße" - it's supposed to be "Kongressstraße".

It can get even worse: the phrase "in Maßen" (in moderate amounts) naively has the uppercase variant "IN MASSEN" - but that means "in huge amounts"! In that case it is probably better to stick to "IN MASZEN".

And then there's Turkish, where the uppercase variant of the letter "i" is of course "İ" rather than "I" - note the dot.

So no, you cannot "simply" use ToUpper() / ToLower(). They might work well enough of basic ASCII for languages like English, but they have a habit of making a mess out of everything else. You're supposed to use CultureInfo.TextInfo.ToUpperCase() and explicitly specify what locale the text is in so that it can use the right converter. Which is of course essentially impossible in general-purpose text fields.

In practice that means your options are a) giving up on the concept of uppercase/lowercase conversion and just passing it as-is, or b) accepting that you are inevitably going to be silently corrupting your data.
It was a binary plugin with supported platform at the whims of Adobe, it often had security bugs and sandbox escapes, it had bad performance and killed mobile battery.

For the the web standards have replaced the use cases have improved the situation
Is it possible to extend/subclass an existing QWidget and customise it?
Location: Cyprus

Remote: Preferred; also Hybrid

Willing to relocate: Yes

Technologies: Python, Scikit-learn, PyTorch, CatBoost, MLflow, ClearML, AutoML, Hugging Face, FastAPI, Docker, PySpark

Résumé/CV: https://docs.google.com/document/d/1c_Gautwz_IGaR48nExFZxemJ...

Email: reterno12@gmail.com

Hey there! I am Boris, a machine Learning Engineer and data scientist with a strong focus on creating AI solutions that drive user engagement and optimize business outcomes. My expertise lies in building scalable recommendation systems, Classic ML, and computer vision models using tools like Python, Scikit-learn, and PyTorch to deliver measurable impact.
so less permissive = more free.

gives me something to think about.
Depends on how you define feasible.

Take Wolfram's 1-dimensional cellular automata... some of them have infinite complexity, and of course you can "run" them for infinite time, and the "current" state is constantly expanding (like the Universe). So let's define "something feasible" as some specific finite bit pattern on the 1-dimensional line of an arbitrary current state. Is that "feasible" bit pattern guaranteed to appear anywhere in the automaton's present or future? I believe, and if I understand correctly, so does Wolfram, that for any reasonably complex "feasible pattern" the answer is no; even though the automaton produces infinitely many states, it is not guaranteed to explore all conceivable states.

In other words, in a given Universe (which has a specific set of rules that govern its evolution in time) even though there are infinitely many possible states, not all conceivable states are a possible result of that evolution.
No.

(There might be side projects like the squish test framework or the MCU port that are proprietary, but Qt itself is fully free software)
"compare this with enterprise software, which is orders of magnitude more complex than video games in terms of business logic"
Maybe this was true 20 years ago, but I do not think this is true today. Game code of some games is almost as complex as enterprise software or even more complex in some cases (think of grand strategy games like Civilization or Paradox games). The difference is that it still needs to be performant, so the evolutionary force just kills programmers and companies creating unperformant abstractions. In my opinion game programming is just harder than enterprise programming if we speak about complex games. (I have done both). The only thing which is easier in game programming is that it is a bit easier to
see clearly in terms of 'business requirements', and also it is more meritocratic (you can start a game company anywhere on the globe, no need to be at business centers.) And of course game programming is more fun, so programmers do the harder job even for less money.

For people who think game programming is less complex than enterprise software, I suggest the CharacterMovementComponent class in unreal engine which is the logic of movement of characters (people) in a networked game environment... With multiple thousand lines of code in just the header is not uncommon in unreal. And this is not complex because of optimization mostly. This is very complex and messy logic. Of course we can argue that networking and physics could be done in a simple naive way, which would be unacceptable in terms of latency and throughput, so all in all complexity is because of optimization after all. But it is not the 'fun' elegant kind of optimization, it is close to messy enterprise software in some sense in my opinion.
Ask HN: Is CAPTCHA even needed anymore?
I'm running a few small sites with various forms for submitting information for my perusal.
They are used by vistors to my sites, and I've done a bit behind the scenes to guard against various types of attacks, such as length limits, rate limits and a bit other stuff. But one thing I've not put there, is CAPTCHA..

On one of the forms, I politely ask that the sender include todays date somewhere in the text, which I then validate to be within +/- 25 hours of the server time.. In other places, I've not even done that and..

I'm not getting spams, I'm not getting robot messages or massive abuse..

Did the scammers and spammers realize that stuffing every input field on the web with commercial links and javascript exploits dosen't actually work ?

Back in the day, I remember having to jump through several hoops to avoid automated spams and angry teenagers trying to flood my inboxes..

How's your experience today versus the past ?
> Browser

Brave. I keep extensions limited to reduce potential uniqueness. Unfortunately, I do use Linux. Would be nice to modify the fingerprint to be less bespoke, but I haven't taken the time to figure that out.

>Social media

I only use it through web browsers. Apps may be fine, but much harder to trust. GrapheneOS does make me feel better about it, but all the web apps now are great in mobile so it seems fine.

Extreme Privacy by Michael Bazzell[1] is an excellent read on this topic. It provides insight into mostly practical tips and can always be watered down to meet your requirements.

[1]: https://inteltechniques.com/book7.html
How funny if we eventually come full circle and such knowledge bases end up like low-background steel in the economy of AI training. Either way, Eurisko remains one of the most interesting pieces of software ever created. I'd be fascinated if someone managed to create some sort of chain of thought system based on its heuristics but driven by modern LLMs. I don't think this is the direction in which AGI lies, but in the right domains it could be a powerful exploratory or debugging system.
This discussion is about the Qt binding library for Go, not Qt. The existing Qt binding they're talking about is LGPL and cannot be bound dynamically, and therefore makes the distribution of proprietary software impossible even with a full Qt license. This new binding alleviates this problem because it's MIT licensed. You still need to adhere to Qt's licensing, i.e., buy a commercial Qt license or bind Qt dynamically like most people do. Qt has a commercial and a LGPL licensed version.
> based on bitter experience trying to convince marketing people to stop using WP and just use a static site.

Sounds pretty user-hostile. You're talking about marketers who have a "Job to be done" which is to make content and get it in front of some target audience. Of course the editing experience trumps security and rendering speed. I'm confused why you're confused they always choose WP over figuring out text editors and git!

The experiment should be giving them a nice editing experience that behind the scenes is creating a static site and some git to deploy vs wordpress. Then maybe the secondary requirements you care mostly about will be relevant
There are forensic USB write blockers which sit between the USB device and prevent host-writeback to the device.
well .. if you offer sub-100k/year salary and no american shows up .. did you make a good faith effort?
Dyalog doesn't have an explicit implementation for maps, but you get the same effect with column-major table stores and the implicit hashmap backing of the search-like primitives [0]. E.g.

keys←'foo' 'bar' 'baz'
values←1729 42 0.5721

indexOf←keys∘⍳ ⍝ The dyadic ⍳ here is what builds a hashmap

Then you can use it like

data←(values⍪¯1)[indexOf 'bar' 'bar' 'baz' 'foo' 'invalid' 'foo']

where ¯1 is just the value you want missing keys to map to. If you're okay erroring in that case, it can be left off. For map "literals", a syntax like the following gets you there for now:

k v ←'foo' 1729
k v⍪←'bar' 42
k v⍪←'baz' 0.5721

In version 20, proper array literal notation [1] is landing, where you'll be able to do:

keys values←↓⍉[
'foo' 1729
'bar' 42
'baz' 0.5721]

In practice, I suspect that this ends up being more ergonomic than actual maps would be in the language. That said K is all about maps and the entire language is designed around them instead of arrays like APL. IIRC, there was also some discussion on the J forums a while back about whether or not to have explicit hashmap support [2].

[0]:https://help.dyalog.com/19.0/#Language/Defined%20Functions%2...

[1]:https://aplwiki.com/wiki/Array_notation

[2]:https://groups.google.com/a/jsoftware.com/g/forum/c/VYmmHyRo...
This is a major insight. Defining a local function isn't a big deal you can always just copy and pasta it out to global scope.

Any time you merge state with function you can no longer move the function. This is the same problem as OOP. Closures can't be modular the same way methods in objects can't be modular.

The smallest unit of testable module is the combinator. John Carmack literally mentioned he does pure functional programming now which basically everyone in this entire thread is completely ignoring.
They make choice, because they're the ones working with this daily. Their goal is to put content on display fast. Content varies a lot - often containing for eg. tables, which simply don't work well in markdown or images you need to host somewhere.

I spent a lot of time looking and still hasn't found toolchain, that would allow interns with zero technical experience deliver edits, without getting involved in tech details.

Closest one would be some headless CMS with Static site generator bolted on top, but honestly they all suck.
DOJ indicates it's considering Google breakup following monopoly ruling
USB can be OK however you need like a staging machine and scan the files before entry plus use of a write block device on the USB hard drive. These are commonly used in forensics.

https://www.nist.gov/itl/ssd/software-quality-group/computer...

This also tends to be a supply chain and insider threat.
> I have gotten much more bullish about pure functional programming, even in C/C++ where reasonable: (link)

The link is no longer valid, I believe this is the article in question:

https://www.gamedeveloper.com/programming/in-depth-functiona...
Yeah it is very bloated. I am suspicious that the article was bloated with AI rather than a human, though. I wonder if they either made the first section as a summary or extended sections necessarily.

For example, early on it says:
" collect interesting information, process the information, exfiltrate files, and distribute files, configurations and commands to other systems."

and later on: " they were used, among other things, to collect and process interesting information, to distribute files, configurations, and commands to other systems, and to exfiltrate files."

It also mentions several times that the attack on a South Asian countries embassy was the first time this software was seen.

Repeating info like this was kind of a sign of part-applied AI edits with RAG a while ago, might still be true today.
Not according to jon carmack. He stated he switched to pure functional programming in the intro which is basically stating all his logic is in the form of unit testable pure functions.
Starlink was offered for free to those hit by Hurricane Helene. It is not free
Yes! I work with many folks objectively way younger and smarter than me. The two bad habits I try to break them of are abstractions and what ifs.

They spend so much time chasing perfection that it negatively affects their output. Multiple times a day I find myself saying 'is that a realistic problem for our use case?'

I don't blame them, it's admirable. But I feel like we need to teach YAGNI. Anymore I feel like a saboteur, polluting our codebase with suboptimal solutions.

It's weird because my own career was different. I was a code spammer who learned to wrangle it into something more thoughtful. But I'm dealing with overly thoughtful folks I'm trying to get to spam more code out, so to speak.
And the USA and pretty much every other country. So what's the solution?

Let's all just stop and live in peace/harmony. The reality is that those countries do it and there needs to be a counterweight.

Calling something a shitty argument without offering anything viable is a shitty argument.
Its probably more about the areas that will be affected by the sonic boom. Generally people don't like them happening over populated areas.
But that's wrong. The uppercase for "in Maßen" ("in moderate amounts") is not "IN MASSEN" ("in Massen", meaning "in massive amounts").
https://github.com/OpenHFT/Chronicle-Core/blob/ea/src/main/j...

(see roundN)

Be careful and use it only if you know what you are doing and understand the limitations.
> Chrome is just a slightly upgraded Firefox

Wat. It's like saying that an apple is a slightly upgraded orange. I would understand if you mentioned KHTML and Safari as relatives, but "slightly upgraded" does not fit anyway.

> PageRank was what gave Google monopoly

I don't think so. PageRank has been successfully implemented elsewhere, and outmatched. What helped Google build a monopoly was the first mover advantage, the network effects, and the incessant streams of money from AdWords (invented by Google), DoubleClick (acquired) and a bunch of other advertisement tools.

> Maps - I can give you that.

Don't :) Google Maps is an acquisition from 20 years ago. (As is Android, AdSense, and many other core flagship products of the Google brand.)

If you want a relatively recent, successful Google service for general public, it's Google Photos.
I remember several years ago when I wanted to watch a Star Wars DVD on a computer.

This was in the UK with the DVDs purchased in the UK and with a DVD reader also purchased in the UK, as that’s where I live.

Windows Media Player told me that the region of the Disc was wrong and that if I wanted to watch it, it could instruct the firmware on the DVD player to update its allowed region, but that I could only do this (I think) five times and no more.

Rather than dealing with this pompous bullshit I watched it with VLC player which just worked without doing any of that legal nonsense.

I’ve remained a big advocate of VLC ever since.
There is a whole project devoted to ELIZA here

http://findingeliza.org/

Also see

https://sites.google.com/view/elizaarchaeology/blog/weizenba...
Discussions

(84 points, 2 months ago, 98 comments) https://news.ycombinator.com/item?id=41240716

(48 points, 4 hours ago, 58 comments) https://news.ycombinator.com/item?id=41784287
Whoa this is pretty cool! Think this will be very useful.
`<!DOCTYPE html>` is not paired with `</html>`. This is what the basic HTML5 boilerplate looks like:

<!DOCTYPE html>
<html>
<!-- content goes here -->
</html>
Back in 2011 I built a JS-based thing for making essentially any website editable:
https://bergie.iki.fi/blog/introducing_the_midgard_create_us...

This required you to add a bit of RDFa markup to identify the editable parts (including collections, so you could add a news item or whatever), and then had a Backbone.js plugin setup for implementing saving to your chosen CMS.

This all could likely be done easier today. But trick is of course figuring out how to save from browser to git. GitHub has a REST API you can use, but authentication needs a server-side component.
O1 Replication Journey: A Strategic Progress Report
Not sure what you mean. ChatGPT does a very good job at generating GitLab YAML and Terraform HCL
Discussion (19 points, 15 hours ago, 32 comments) https://news.ycombinator.com/item?id=41779554

Related Starlink offering free internet access for 30 days for Hurricane Helene victims (237 points, 6 days ago, 338 comments) https://news.ycombinator.com/item?id=41732335
Also see a giant archive of ELIZAs

https://sites.google.com/view/elizagen-org/original-eliza