skysight-inc/HackerNews huggingface dataset:
Smalltalk is definitely class based, though you are right for Self. It's rather unrelated to types, though I see the analogy - that said some paper on statically-typed Wyvern mentioned adopting the Self model for delegation.
TSMC second-quarter profit beats expectations as AI chip boom continues
That's the strategy I always take when designing a system. Funny that I never thought about it before, I think most PHP developers will relate to that aswell.

- Procedural single point entrance into the system (network -> public/index.php, cli -> bin/console)

- OOP core for business logic, heavily borrowed (copied) from Java OOP model

- Functional code inside classes/methods whenever possible (callables/closures, array_map/filter/reduce/walk, illuminate/collections, etc.)
sure! armurth at gmail.com
A lot of awesome predictions that ended up being true: software trials, app store (he calls it the radio station for software), computers getting smaller and smaller, internet, 13/14 year olds creating businesses with apps, computers getting cheaper to under $1000.
> Like rules for assigning molecular mechanics force field atom types.

Can you describe a bit more how prolog helped you here? Thanks!
It somehow manages to be smoothed over and blocky at the same time
cats uri: /unicorn !
It'd be nothing but appropriate.
Even that single monitor can be hidpi, vrr or hdr (this one is still wip).
I'm in Washington, USA and it's showing spanish. That's just the default and they don't even use location to set it.
Girard has some commentary scattered about his writing.

The search algorithms for logic programming are simply slow, it's a very interesting idea in programming languages, but there's a reason it's not widely used.

> PROLOG, its misery. Logic programming was bound to failure, not be- cause of a want of quality, but because of its exaggerations. Indeed, the slogan was something like « pose the question, PROLOG will do the rest ». This paradigm of declarative programming, based on a « generic » algorithmics, is a sort of all-terrain vehicle, capable of doing everything and therefore doing everything badly. It would have been more reasonable to confine PROLOG to tasks for which it is well-adapted, e.g., the maintenance of data bases.

> On the contrary, attempts were made to improve its efficiency. Thus, as systematic search was too costly, « control » primitives, of the style « don’t try this possibility if... » were introduced. And this slogan « logic + control13 », which forgets that the starting point was the logical soundness of the deduction. What can be said of this control which plays against logic14? One recognises the sectarian attitude that we exposed several times: the logic of the idea kills the idea.

> The result is the most inefficient language ever designed; thus, PROLOG is very sensitive to the order in which the clauses (axioms) have been written.
I'm a lifelong touring musician. This has all of the great things that BIRP.FM and others provided for so long, without the foolish gatekeeping that has plagued the music industry forever.

Bravo. I hope this takes off in a massive way.
I think it comes down to the fact that every mobile phone supports at least SMS if not RCS out of the box -- no new apps, no signing up for new services, etc.
The context of this discussion is my claim that "the adoption of electric, centrally controlled doors was naturally motivated in major part by timeliness."

You're claiming that this is refuted by the Wikipedia article, but I don't see any evidence for that. To be clear, I'm open to evidence that this isn't the case, there just isn't any there, because it discusses motives for adopting centrally controlled doors in the 1990s when the technology for centrally controlled doors was already widely available. It doesn't tell us anything about the initial motives for developing the technology for centrally controlled train doors many decades earlier, just that later on an additional motive showed up which drove some additional (late) adoption.
> First you install VSCode then spend then next 12 hours getting docker to run dev containers inside a WSL2 image (which is just a VM that can't talk to the internet) and TADA

I hate developing on windows as much as the average arch user, but if setting up vscode with docker on windows takes you 12 hours it's a you problem. There are lots of reasons why using docker containers is appealing, especially for students.

Mostly because they generally end up installing ten different odd and outdated software packages for each eccentric overly opinionated instructor they have. Each of whom rarely care to spend enough time to help these novice students understand how to resolve the issues they sometimes create on their only computing device they need to use for all of their other classes in the process.

If the student can get docker installed, at least they are more likely to be able to keep a somewhat stable machine.
Page isn’t loading for me. Here’s a YouTube video (audio only) with the same description that I assume is the same content.

https://youtu.be/2rqwi63Q1Gs?si=W7TZqVLCAj55mHkw
You can do all sorts of things with SSH. My favorite is SSHFS, which is couplings for SFTP that treat it like a proper filesystem, and it works on everything that uses SSH. Quicker to setup than a VPN and SMB, and about as secure (you could also theoretically use PAM to authenticate with LDAP or newer MFA protocols)
> msgpack or bson. Want stuff more efficiently packed based on the message structure? Use protobuf

Everything you listed is an external dependency in Javascript/Python, base64 is baked in, everyone gets it, everyone's done it.

If you want better interchange you should be pushing it to be included along b64 at the language level not trying to get every dev to include extra dependencies at either side of the exchange.
In any multi-process software (of which Chrome is on the more complex end of the spectrum), there are dozens if not hundreds of different IPC message types sent between different components of the software.

To prompt the user for every type of IPC would make the software unusable. No desktop software does that on any platform.

It would be like a car asking the user for permission for the steering wheel to access the front axle.
Show HN: AI Copilot for Recruiting
In terms of version-pinning, the next-best idea I can come up with is to deploy your app as an HTML file with a single JS script, using subresource integrity[0] for the script. (The rest of the HTML content would need to be dynamically inserted by said script)

The developer can still change the HTML file, but if they change the script it's easy(ish) to observe that the hash has changed.

GitHub recently introduced[1] an "artifact attestation" system, which is essentially a way to demonstrate that a particular build was built by a particular source tree (although the precise security properties are more subtle than I've summarized here). Combining these two things and writing a static "load the most recent version and verify its integrity" script could be interesting.

[0] https://developer.mozilla.org/en-US/docs/Web/Security/Subres...

[1] https://github.blog/2024-05-02-introducing-artifact-attestat...
If you have SSH access you can use it as door to setup a simple VPN https://github.com/sshuttle/sshuttle
No. It's only free as in beer. There's some weird mention about the Apache 2 license, but it only applies to the binaries, for some odd reason.
If goodness is a necessary sacrifice for something, that something, whatever it may be, is not worth the sacrifice
> The idea that you didn‘t really need a large overhead of management, DEI employees and fairness committees was true all along.

Yes, and it's also true that you don't really need two lungs. That doesn't make it a good idea to have one removed.
Uncontacted indigenous people sighted in Peru [video]
Need to get a file from one box to another? Have SSH? `scp` is your friend: https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol

scp remote.host:path.txt local
scp local remote.host:path

Need a fast proxy to browse the internet securely and bypass restrictions without a VPN? SSH SOCKS proxy! Supported by most operating systems, but I tend to use it directly via Firefox so that it is isolated to one browser. This starts a socks proxy on the desired port:

ssh -D $port $host

Firefox has network settings, simply choose SOCKS, 127.0.0.1 as the IP and the specified port as the port. Then you're off to the races.

Until we had proper VPN infrastructure to enter our VPC at AWS I would utilize this to view private vpc-only RMQ dashboards.

Love SSH!
Unless the rest of the image offers details that the human observer would ignore but the AI would pick up. E.g. low res photo from 1828 of a US president - enhance to John Quincy Adams.

Surprisingly there's a daguerreotype of John Quincy Adams from 1843[1], the AI could use that; perhaps "enhance" the time backwards a bit, to make him 15 years younger.

[1]: https://en.m.wikipedia.org/wiki/File:John_Quincy_Adams_-_cop...
Well, it could also be priorities, not extra money to splurge. Private school costs way more. Kumon OTOH may be just a couple hundred a month, modest enough even a working class person can easily afford by bucking up and treating their childs' education as higher priority than having cable or being able to ever eat out, or not having to work a second job on saturday mornings.

This is how I was raised and how my family went from sugar cane peasant farmers to school teachers in one generation and from school teachers to software engineers and doctors in just one more. From 6th grade dropouts to high school degrees in one generation, and from there to masters degree in one more.

Culture matters. Values matter.

There was a time in my young life when my parents slept on the couch so the kids could have a bedroom, so we could live in a tiny place so we could pay less rent and afford to live in a really really good public school district where many kids' parents were ivy league college professors.

It paid off. It usually does. Culture. Matters.
it's just in Spanish and not dependent on location
Thought Experiments on RTO and WFH
That bag of chips on the ground represents way more than the garbage you're specifically talking about. People tend to think about what's right in front of them. It's so minuscule.

It's a comfort item, like your house. For it to exist there needs to be grocery stores. For that, there needs to be air conditioning. Otherwise the chips would be rancid from 100 degree heat, let alone the fact it would have been shipped to the "grocery store" on horseback, again making the cost very extreme.

Every damn thing you have for comfort not only depended on cheap oil, it would be impossible for our civilization to even have the internet without it. You can't expect TCP engineers to work in tents right? We wouldn't even have the ability to order up a 9 yard concrete truck in 30 minutes.

So yes, for that bag of chips to exist, literally cost trillions of dollars.
OpenAI Releases GPT-4o Mini – will replace 3.5 as default
Way over generalized. Of course there are differences in stress levels of both jobs and people.

I'm sure there are servicemembers who are super-chill under fire, and there's also anxious dog-walkers, but to say there's no meaningful distinction between jobs is ridiculous.
I've thought about trying out AFS; there are apparently open source server and clients available, and it seems to have some different design choices to let it work nicely over WAN compared to NFS. Less clear that the FOSS versions do the user/permission management stuff (though maybe they do), but that wouldn't matter as much for personal use.
backtracking is perilous in general; logic programming languages have really nice abilities for such but I don't know how to avoid pathological inefficiency.
I mean, that's fine if you discuss it up front with the company before heading on site. You severely limit your options, but I know a few companies that have agreed to payment.

Though, it's worth noting that the company is already spending a lot of money interviewing you. Especially if they're paying for flights, lodging, and meals for an on site.

It's worth figuring out what your goals in demanding compensation for being interviewed are. If it's making sure the company isn't "taking advantage" if your time, then I think that's already covered (interviews are super expensive expensive for companies) so long as 4 of those 5 hours are with actual humans. If it's due to financial hardship, most companies will be sympathetic and work with you. If it's to satisfy a sense of moral righteousness, then I think there are better options than sending and invoice after the fact (which comes across as passive aggressive and would ding you on your communication skills assessment)
btw, can you talk a bit more about how you came in touch with Rebol, what do you and other people use Rebol for, and if you are already using Rye for production apps?
I never saw Jobs promote conspiracies and racism.
I appreciate this is a personal question, but have you ever suspected you may have ADHD? I suffer from it, and it seems like our experiences are quite similar in some ways. I'm still trying to get hold of medication so I cannot confirm if that would help, sadly, but it might. If a test is easy for you to access in your area, it might be worth getting yourself checked out, or at least look at the experiences of other people online who have been diagnosed and see if they align with yours
> Some usage types don’t care, some do.

I suspect if you care about threads overhead, you won't pick Java, because there will be overhead in other areas too

> From what I gather virtual threads are an alternative to “callback-hell” (js) or async coloring (python).

there is also existing ExecutorService and futures in Java
Yes, exactly! Those are newb numbers.
SharedWorkers can't use OPFS, unfortunately.
Taiwan invested in this stuff and we didn’t.
Moving data: a visual guide to x86-64 assembly
Please elaborate and tell me what exactly you think I'm defending or not, as opposed to just linking to somebody quoting some Wiki editor. Because otherwise I have no idea what you're saying.

And I couldn't care less who agrees or disagrees with my views. When formulating a view I always engage in the same pattern - look to the falsifiable facts and data on any given issue and come to the conclusion that I think is the most logically and factually well supported. Wherever that leads is what I tend to believe. Others say they do the same of course, but I can't help but notice so few seem people comparably obsessed with reading (or providing) sources on information (and the scarce time it is provided, it often tends to be from the TellMeMyOpinionIsRight.com type sources), which makes me doubt the overall sincerity of most on this.
I think there’s a massive difference between Steve and Elon.

Perhaps if Steve had social media , things would be different. But he never took to the news to denigrate entire groups of people based on their gender and sexuality. He never had any scandals for calling people pedophiles. When he denied science, he only did so personally. Afaik I can find no evidence of him trying to influence politics significantly.

I’m not saying Steve was a saint by any means. However, the level of sociopathy one can ascribe to Steve Jobs is a minuscule fraction of that of Elons to the point I question the logic of anyone making such a vague general comparison.
Python Insider: Python 3.13.0 beta 4 released
I am quite pleased with the ability to easily use prolog from within python and vice versa. It makes it now one of the easiest and most expressive solvers to plug into for my tastes. I'm starting to accumulate useful solvers here https://github.com/philzook58/prologsolvers/tree/164297d87f6...

You need to install swi prolog https://www.swi-prolog.org/download/stable and pip install janus_swi

A simple example to get started:
https://www.swi-prolog.org/pldoc/doc_for?object=section(%27p...

import janus_swi as janus
janus.consult("path", """
edge(a,b).
edge(b,c).
edge(c,d).

:- table path/2.
path(X,Y) :- edge(X,Y).
path(X,Y) :- edge(X,Z), path(Z,Y).
""")
list(janus.query("path(a,Y)."))
to be clear, I'm not advocating some nepotist or backscratching system, of course you have to put candidates through their paces

what I'm saying is it didn't make a shred of difference for even selecting their resume out of the pile to be interviewed
Jobs' demanding personality and toxic managerial behaviour are well well well documented. Most of the documovies on him pay special attention to it.

But he also did marvellous things for the advent of human-centric tech design that has been a boon for the regular people.

An article or person is allowed to focus on his genius and invention without having to caveat them alongside his toxicity as well. This isn't intended to be an Art vs. Artist discussion.
What about an IP whitelist managed on some other website (say in AWS). If you need remote access while you are travelling, you login to that website, which will add your current IP to the whitelist. The server refreshes its firewall with the new whitelist every 5 minutes. So within 5 minutes you get access.

That creates another layer of protection (authentication to the website). I would assume a linux firewall is very hard to bypass so almost as good as not exposing the server to the WAN. And doesn't have all the problems and complexity associated with VPNs, works on any device from anywhere.
If you use container tabs in Firefox, you can also configure proxies on a per-container basis! In case that’s useful to other people besides me.
What about the pressure of a launch deadline or a system outage?
> From what I've seen in some of our new recruits, yes. And those are technically educated people.

That's really the part I can't wrap my head around.. The first thing I tend to do when I encounter something new -a new phone, a new bike, new tools, etc- is to understand how it works, to see what I can do with it, what its limits are, and most importantly, if I can bend those limits to suit my needs..

Accepting something at face value is really not an option. Partly because, more often than not, that would also mean settling for mediocrity as "quality" seems to be a secondary target nowadays. Thing will not work how you want, things will break and will need to be repaired, some artificial constraints might be need to be circumvented. And on the other hand, there is always something interesting that can be learned by being curious.

We are not all wired the same. But if the "technically educated" people are no longer "technical" than at least I shouldn't fear about future employability.
Ford spends $3B to expand large truck production in plant previously set for EVs
Although there is some degree of silliness to suggesting table layouts in 2024, it frankly really is not that bad. To me personally, the era of float: left and clearfix and 10 layers of wrapper divs was significantly more of a mess. "Oh look, I got my layout working on IE6! Oops, it's now broken in Opera..." Anyone remember using invalid CSS to write browser-dependent styles? How about using Microsoft's proprietary DirectX filters to make PNG transparency work? In the era of taking crummy PSDs full of graphics and chopping them up into images for an HTML template, these were the tools of the trade.

Not that tables were perfectly standardized or anything, because I do remember Netscape and IE not totally agreeing on how to handle column widths, but they sure were, well, simpler.
If there's an issue with Nvidia/Wayland and there isn't with AMD/Wayland or Intel/Wayland, it is Nvidia issue then, not Wayland one.
Except iPads for his children.
I don't think that requiring a VPN to use SSH is good advice for big organizations, at least in terms of usability. My uni's (Leeds) comp sci department had this and it was extremely unpleasant to use. While it is "better" from a technical standpoint, I had peers who paid for private compute time instead of using the uni's free clusters. The reality is that even undergraduate comp sci students often don't know enough IT/sysadmin stuff to be able to figure out setting these things up and there's often a benefit to making the barrier to entry lower.
Also, the whole thing about "velocity" is just weird. It's as if some marketing goon heard the word "Velocity" and decided to over load the term in a manner that does not mean Velocity in the mathematical sense. Like in Calculus... the velocity curve is the first derivative of the linear graph, and the accelleration curve is the 2nd derivative. And for that matter, who cares about velocity, we have always wanted accelleration which sorta yields velocity. The problem with velocity, it's a dumb idea, because if I drop a rock from a tall building, it builds velocity as it free-falls down, and so it goes -- you have differetn kinds of velocity, but you only really have one kind of accelleration.

Another issue, as the blog points out, story points are a simple scallar number, and you cannot easily say how that sum is factored into risk, complexity, effort, etc... So why even have it? Clearly a story needs to be a kind of vector with these properties (risk, complexity, effort...) set to possitive or negative values, and then do the typical vector math to plot the dirrection and magniture of the story in the n-dimensional space... Then, one can actually calculate stupid ideas like velocity or accelleration to speak in the language of project/program managers.

Ultimatly the managers need a way to quantize the units of work done by development staff to better plan, and that's understandable, yet really hard. I think putting the cart before the horse is usualyl a dumb idea, and things should go back to measuring performan after the work is done, instead of estimating performance before work begins. Nobody wants to commit to a performance contract for each and every task ad nausium, and thats what happens durring sprints.
> truly open-source and not copyleft

Copyleft licenses are "truly open source".
What do you think about the Structured Concurrency library Java is working with things like fork() and join()? Is that incorrectly designed? Why do you think there's a call for that if virtual threads serves every use case?
It is almost a shame modern browsers no longer support all the fun layout patterns of ol' FRAMESET. There was a layout tool to cut your teeth on (possibly literally the way it was made out of browser chrome).
There's definitely some truth to this. It's a bit harder to build trust with someone who is very far a way, and paying foreign workers can be more or less problematic depending on the size of company and the type of industry. For instance, in my current (US-government-adjacent) full-time job it's actually not legal for us to hire from foreign countries.

That said, I've done plenty of work with people from other countries. I find the difference in cultures to be very interesting. And I've worked with plenty of non-US citizens (from Russia, Brazil, India, and other English-speaking countries) who knew what they were doing, could communicate well and made good co-workers despite things like time zone differences and not being native English-speakers. In my experience the skill level isn't all that different, but it can be harder to pinpoint BS when the person speaks in an unfamiliar accent or isn't strong in English. For example, I might ask myself, is this person dodging the question I asked because they didn't understand it? Or because they're trying to BS me?
The way I see it is that what most companies hiring c++ programmers really need are good systems programmers. However, being an expert in advanced and/or esoteric features of the shitshow that is the C++ language is neither necessary nor sufficient to be a good systems programmer.