skysight-inc/HackerNews huggingface dataset:
After spending a lot of time with Scheme (which is both relatively clean, and strong at syntactic extension), but doing iOS SwiftUI work at the moment, some of the Swift sugar is a reminder that Swift is a very different language.

But I'm not above playing with sugar, including Smalltalk-inspired ones. In Racket, as an exercise, I implemented a straightforward way to do Smalltalk-like syntax for procedure calls.

If the head of a list expression is a symbol that ends in a colon, then it was assumed to be the Smalltalk-ish procedure name sugar. A syntax like this:

(foo: bar from: (+ 1 2) to: (funky 3))

would be translated by the reader to this procedure application:

(foo:from:to: bar (+ 1 2) (funky 3))

You'd probably define the procedure in the usual Scheme way, like this:

(define (foo:from:to: source start end)
...)

Of course, I wouldn't use this complicating sugar in real code without a good reason.
Letters to a Young Poet (1903)
> fan of named arguments in Swift

Keyword parameters are great. The way they are done in x.f() syntax languages is sub-optimal, and Swift is particularly weird.

> code becomes almost self-documenting

Yes, exactly!

Dan Ingalls explains this wonderfully in his Object Oriented Programming talk. Highly recommended:

https://youtu.be/P2mh92d-T3Y?t=515

The problem is that there is the Smalltalk/Objective-C style keyword syntax or the Pascal/C/C++ etc. function syntax. Both are consistent and complete ways of handling this, though I obviously think the Smalltalk way is better.

But it's either/or. When you jam them together, you get a weird mess of special cases and workarounds.

I would agree that the benefits of labels outweigh the messiness, even for the x.f() + labels case. So if you're coming from the x.f() side of things, I can fully understand and sympathize the view that they are a pure benefit without drawbacks. But once you have keyword messages, you no longer need the x.f() part of the syntax, because the syntax is completely self-sufficient. And then all the extra messiness of integrating the two makes no sense whatsoever.

As an example, the colon and the whitespace are sufficient to separate parameters. So is the comma. So we have...both?

There is also the issue that, please correct me if I got this wrong, the label that's in the signature becomes the name of the parameter inside the function. And as far as I can tell it cannot be changed/mapped. That's a horrible coupling of inside and outside.

Because of this, you actually need labels in your function declaration even for parameters that are unlabeled. Wut? And because of this, you need another special bit of syntax that says "despite the fact that I am now about to give a label, this is unlabeled". It also means that a name that is actually purely internal to the function is part of the signature. Wat?

And sometimes you get partial labels that just kind of sit there. It's really weird when you look at things closely.

I guess an analogy would be like a gasoline engine, a hybrid and a fully electric. Yes, the hybrid seems like an obvious improvement to the pure gasoline engine, if at some cost in complexity. But the pure electric car (let's assume a few more years improvement in battery tech) does away with all that extra complexity.

Hmm not entirely sure that analogy is all that good.
Agreed. I would expect learning about more edge cases here on HN. These are basic PG features you can see when looking at the INSERT definition in the docs.

I second what you said about reading a text book. I read through the entire PG documentation and a PG book my second year as an engineer and 7 years later its paid off big time. It’s one of those things where if you do it early, you get compounding benefits over your career.
Because sometimes some people choose not to go into STEM. It's an individual's choice.
For a long time I've been running many apps with a wrapper to disable fsync in SQLite integrations. Its a harsh solution.

Am I correct that out of the box it's implementing a full integrity around "commit" -- ie. The data has to fully hit the disk before the call returns?

For most applications I don't want this. Browser history for example is fine if the most recent transactions are lost on a power failure. Of course I do not want the file to be corrupted and lost.

At a previous employer we had similar issues with Chrome's internal SQLite database (Linux) in an environment with network mounted home directories. It was dealt with by a Chrome wrapper to change one of the internal flags on the user's SQLite database.

Possibly we may just have a case of a bad default here. Particularly in the context of other posts eg. "SQLite as a file format"

In the docs. I only find "PRAGMA synchronous=OFF." Did I dream it, or is there a similar setting to preserve the integrity of the file through write barriers, journaling etc., but not have a full fsync on transaction?

Because then on a power failure the file would contain "a stable commit" but not necessarily "the most recent commit" ... And it seems that for most SQLite integrations that is what we want?

Instead we're now all burning through SSDs for our trivial user settings files, a bit like everything is O_SYNC and the page cache was never invented.
Immediately loved this bit: “We spent the first two months designing the compiler. Then we coded for a month.“
Artificial diamonds are amazing more perfect in clarity and colour. Though because they target a more budget market, i’d buy a 1ct artificial stone and take it to a jeweller to set in a one of a kind ring made with platinum, gold, etc. I think you’ll still have enough cash for a small car or a long holiday.
If you like code gen, check out https://github.com/hofstadter-io/hof

There is something like this in the works, to make the clouds feel like Kubernetes, although in the case of cloud / TF, you don't need code gen at all, just cue and http
In the business world we have trademarks for this.

As models become brand names and franchises I wonder if academics will start trademarking them like many big open source projects do.
Ramana Maharshi
Raytheon shows off Multi Domain operations battle management
You wonder why the army likes gamers.
You have a point there but don't forget, suing works both ways. And while the company may assume they can sue you into bankruptcy, lawyer could assume the opposite. If they counter-sue, a big company is able to pay damages. As with most things in live, they work both ways.
Have you not learned that we haven't learned anything?
To the point where screen space is becoming tight? You are probably something like 0.001% of users.
You can mark it as deprecated with a reference to the replacing function. As long as the argument types match you can automatically refactor
Thanks, flagged it
This is where trademarks and foundations may need to be used.
I wonder what would have happened to the Linux desktop ecosystem had it embraced something like Software-ICs modeled similarly to Apple's OpenDoc project rather than to implement monolithic applications. One of my favorite Hacker News comments describing what could have been is this (https://news.ycombinator.com/item?id=13573373). My views are in line with this comment; I believe that component-based software is a more efficient development model, and I also believe that this would provide necessary differentiation of the Linux desktop ecosystem compared to commercial desktops like Windows and macOS.

I'm actually planning a side project where I want to implement a component-based application framework on top of Linux and the BSDs, but using the Common Lisp Object System as its base as part of a long-term vision to build a modern-day Lisp operating system (I want to focus on the application environment first, leveraging the wide hardware support that Linux and the BSDs have compared to lesser-known operating systems like Mezzano). I haven't heard of the term Software IC until now, but I'm familiar with the history of the OpenDoc project as well as other component-based software technologies such as SOM, COM, CORBA, and XPCOM.
Desktop computers are available waaay cheaper than phones.
I only know ST ARM chips (aside from AVR I used before I started with ARM), but some low power ones go down to 1.8V and can sleep for years on two AAAs. I see no issue soldering LQFP packages even though I have very little experience (my domain is software) but I can see how DIP is much less assuming.
Broadly speaking, WebRTC addresses P2P and does things like NAT traversal; HTTP/3 is "classic" server/client communications, with the server needing a publicly reachable hostname.

That being said, nothing specifically prevents a server from being one of the peers in WebRTC, but the overhead can be significant, so it's not commonly used like that.

I'm not aware of any way of doing something like WebSockets with datagram semantics (i.e. over UDP), but it seems like this is something that might be addressed once WebSockets can be used over HTTP/3.
This makes me wonder if there is some sort of relationship between currying and row polymorphism; that could be pretty sweet to capture succinctly in a language
It is much faster than INSERT indeed and I’m using it in places where I need to insert a lot of data into Postgres. Can you get RETURNING from COPY, though?
http://diamondssuck.com/

This helpful link explains what and why
Is "glycaemic control" a general benefit, or is that only good for people with diabetes (and other conditions?)?

I've wondered if IF makes a difference in that way. If there's a pain au chocolat for me, and I eat it at breakfast is that different to me eating all the same food in the day but eating that pain au choc after lunch?
This article says white people are underrepresented in earning science and engineering bachelor degrees. Lol.
Please don't take HN threads further into flamewar. There isn't nearly enough substance in this comment to enhance a good conversation, and we definitely don't need denunciatory rhetoric.

https://news.ycombinator.com/newsguidelines.html
There’s an industry that talks daily about masters and slaves. It needs to stop
The open source part you described is different from non-compete, and is way more common (and makes more sense). https://www.joelonsoftware.com/2016/12/09/developers-side-pr... offers a good explanation why this is needed from employer's point of view. (disclaimer: I linked that article mainly for the explanation part. I don't necessarily agree with all its advises)

I don't know which giant tech company is your employer. But at least Google has a very streamlined internal process you can apply for to let Google release the copyright of your side project to you. (disclaimer: I worked for Google, and in particular worked somewhat close with the people reviewing those cases for a few years)
Looks good to me. Nice UX. Normal users don't care about the URL and you can still copy the full URL if you want to share a link.
LSTM for Programmers
I do this as well. As an end-user, I actually find some telemetry useful to diagnose things like:

* Apple Watch battery cycle count (not viewable in any UI but is viewable in telemetry logs)

* Clues about why a particular app recently crashed
Is that what all IF it's about?
No way. Insurance and hassle are always cheaper than paying labor. My employer can bid down rental cars to $40/day or less, which is less than almost any meaningful Uber round trip. Even for a individual like me, I can get Nissan Altima or whatever for $70-80 in most places.

You also have improved safety and security for employees vs John Doe and his 2010 Odyessy Uber that is falling apart. Uber is a shitshow experience compared to what it used to be.
You’re not getting the math. It’s absolutely worth it for you to spend 2 months of your time to find something worth $150k.

A hedge fund, investing team, whatever you want to call it, has a limited capacity. They need to beat market returns on pool of money so large that spending 2 months to find a 300% return on something with a max investment of $75k is absolutely an incorrect use of time.

Read about opportunity cost to understand why there are many things “worth it” to people without access to something better.
Show HN: Yace: ~1KB code editor for browser with plugins
If you're talking about something other than manipulating the URL, I don't understand what problem you're solving. Sites which believe that breadcrumbs would be helpful for navigation already have breadcrumbs, I see no reason to force it on everyone else.

But I disagree with you that not showing the full address in Windows Explorer is a separate issue. In my experience loss of edge-case functionality is a core aspect of changing interfaces. Maybe in another world the address would be preserved, and my use case would still work. But someone else's unusual use would not.
I would say that diamonds as jewellry is a bad idea in general; it is artificially scarce, can be developed in a lab in a more perfect way (in fact, "too perfect" is how jewellers know a diamond has been created artificially) and doesn't shimmer as much as other stones.

I would instead look at Moissanite[0]; looks better, holds it's value a little bit better although debeers has killed a second hand market for this kind of jewellry..

[0]: https://en.wikipedia.org/wiki/Moissanite
Based on the feedback, Math to Code now includes a Show solution button which lets you toggle a solution on and off if you get stuck!
Social security is capped (and it isn't a tax, really). So someone making $150k really isn't taxed on their 401k contributions.
You're right, it is not controversial today that photographers have a copyright on their work. Which is why the monkey selfie is so important. In the monkey selfie case, a photographer did set up the equipment, which means that some of the parameters were indeed established by a human. However, the monkey actually created the picture, including the timing and body placement. The copyright office has determined that the work could not be copyrighted.

Which leads to the conclusion that at least in some cases,a human doing some setup is not enough to grant a copyright.
This is specifically in the context of programming work done outside of the work for the company. These onerous clauses attempt to lay claim to that work. For example, if a I work at Widgetron writing Widget APIs this clause might be used by Widgetron to lay claim to, say, a game engine I’m writing at home during the evening.
There is an interface, at time of creation when the town sets aside money to back then, and at redemption when the town takes them back and pays out cash. They feel more like gift cards with most local businesses participating.
Pandemic leads to a bicycle boom, and shortage, around world
The server needs to send a signed message to Apple for this to work on iOS; I would either have to register as a developer with Apple and get my own key, or have to route the message through the flagship someway.

(There may be a kludge like the one described above for Zulip, but last I checked about a year ago, there wasn't).
Khaaaaan!
So if a newspaper writer is working on a novel during their evening hours, the newspaper should own it? Everyone would agree that's ridiculous, why should it be tolerated in software?
I've seen this happen to a number of bankrupt companies, this just happens to be a big one. The expectation is that the stock go to zero, but somehow it bounces upwards. Happened with GM back in 2008-2009, happens to a lot of other stocks that are in bankruptcy. The stock becomes unmoored from the actual company and trades like a weird collectible.
That URL is utterly indecipherable by 99.99% of Internet users, so displaying it in full does absolutely nothing to protect users.

The onus to protect against a website takeover is on the domain/server owner, certainly not on the browser vendor although they try to mitigate simple attack vectors.

edit: added a few 9s
Whats even your point
We run over 500 concurrent desktops with Guacamole and XRDP in Kubernetes in non privileged conatiners. This allows us have a secure environment while still having it light weight and not having te resort to Citrix for example.

Anyone comparing VNC to RDP favorably is nuts. RDP is a much more optimized protocol for high latency, low bandwidth. Only Citrix compares favorably from user's point of view. Maybe NoMachine NX as well. Both i cannot get to work over https (nomachine) and kubernetes (citrix).

Not requiring a custom, vague client also helps.

XRDP uses a Xorg driver or is able to use a VNC backend. Even then its faster than VNC. It can use pam for authentication.
Advantageous to whom? The government can promise money that may or may not be there in the future, and it is up to future generations to deal with it. So current politicians get the best of both worlds - love and sympathy from their constituents who are promised guaranteed income for life, without actually having to figure out how to pay for it.
Trying to see if this fart can raise a hot air balloon.
I don't work for Google, and sadly, while there is a process for getting approval to open-source something, it involves a lot of emails and waiting. I have been waiting since December to submit contributions to the TLA+ model checker.
Discussed a bit in 2011: https://news.ycombinator.com/item?id=2856567. See also:

2011 https://news.ycombinator.com/item?id=2855508 - Oral History of Bob Barton and the Burroughs B5000 team (1985)

2012 https://news.ycombinator.com/item?id=4009999 - The Burroughs B5000 - 20 Years Later and Still Ahead of the Times?

2013 https://news.ycombinator.com/item?id=6988535 - The Architecture of the Burroughs B5000 - again in 2016: https://news.ycombinator.com/item?id=10822777

https://news.ycombinator.com/item?id=2855500 is a 2011 comment on an Alan Kay talk which gives some background

2011 https://news.ycombinator.com/item?id=2893454 - The Descriptor: a definition of the B5000 information processing system (1961)
I guess this is a nice complement to the pro-SQLite articles posted here in the last few days. It gives an interesting perspective on the possible problems one might face when using SQLite as their application format (from the link posted here yesterday).
But that's useful information that's told me redundantly by the page title and the banner at the top of the page also. I don't need the URL bar for that.

In fact, using the URL bar for it assumes that the path has semantic meaning, which is not an assumption that the URL standard actually requires.
> The public sector is never going to be able to compete with the private sector on pay

Why? I’d rather pay government employees in cash rather than with future tax money from my kids as the politicians and government employee unions will undoubtably understated benefit costs and underfund it.
That's a valid reason. But not what I asked.

I don't see a connection to "outsource tool development to some other company".

If I commission some work from another company, this company doesn't receive, modify or extend my software under the standard EULA. They do so under our contract.
If ever there were a moment for tiny violins.
The title is fine. The problem is structure of the post. If author puts actual that word with a story to follow then all is good.
oh boy. I got really excited, but having gotten used to an ortholinear layout, this just couldn't be a proper replacement for my Ergodox.
What is the story behind only using lowercase in "don knuth?"
At this point you're saying "if something that didn't have most of the features of a Ring camera would be built, it would be much simpler".

That's a tautology.

It's also ignoring market realities. We had doorbell systems with crappy analogue cameras, and nobody wanted them because they were overpriced for what they did, and what they did wasn't particularly useful. (The "good enough" low-res analog cams made for great guessing game who's at the door, but they didn't actually suffice for recognizing who was at the door without them plastering their face right in front of the camera)

And this is true for other consumer electronics too - of course you can build something inferior with less effort. But nobody wants that. (I mean, it's not like modern systems get built because somebody just wants to lose some money)

This leaves the conclusion that you're mostly arguing for it because you liked the developer "simplicity", and... it wasn't simple. It became simpler once we introduced computers. It became simpler as we built abstraction layers on top.

Yes, current systems are harder to understand top-to-bottom, and we paid for ease of development with increased systems complexity. But the rose-colored glasses of a "better past" are just that. Yes, we could understand the things we built more easily, but we couldn't build what we build today in that past.
Wouldn't Mozilla also fit that description?
Your theory is that they make more money destroying products than they would selling to another chain. That’s a pretty extraordinary claim that would require some evidence.

Remember, the capitalist nature that you are deriding means that the farmers want to, you know, make money. Why would they intentionally destroy their product if selling to customers at absolutely any price above $0 was an option?
If you think that's bad, wait til you see the bug date for X11 exploit on Linux systems.
There are many factors:
(a) Prof. Sheldon Pollock notes that there is complete silence in eight domains from 10th century to 15th century. This is due to Islamic Rule.

(b) Bhakti movement did not emerge in the south India. In fact, it is a product of North India in response to Islam. Prof. Jack Hawley made the case for its being North Indian product in his 2015 book.

(c) Prof. SN Balagangadhara in a talk provides another evidence: Bhagavadgita itself notes that gyaana maarga (the research tradition) died out even before the gita time. Upanishads and Brahma sutras were product of this group of researchers (or gyaana maarga).
> In June we were introduced to this tall college kid that always signed his name with lowercase letters. He was don knuth.
Uhh, in what way is mandatory payments to the government not a tax? If your unlikely to live to retirement age your still stuck making SS payments. The cap is also 137,700$ so it depends on how close you are to retirement age and if your making catch-up payments.

Also, medicare doesn’t have a cap and is also ignores your 401k.
Early access to social deepfake avatars API
> and it’s not uncommon for systems to have pre-FEC BER 1e-3.

Old guy here: I'm wondering when that changed. Early OC-768 requirements were 10^-12 BER preFEC (e: at least in short-haul), which was down from 10^-9 for OC-192.
A problem for when it happens. In the past, the first guys to publish theirs to the public get the first one. The other guys can just call theirs Yolo6 or miniYolo or whatever. It's not a big deal. We don't need a system for conflict resolution if no conflict is likely.

There is no controversy. Let it lie.
> So sounds like ~90% of the 189 violations maybe just not checking a box.

Like when you file you taxes and your only mistake is to forget to check that box that says you had a job?

The Talents program comes with a lot of perks, some of which would be a pretty big deal to lie about. Like committing for 1-2 months in the summer in China, then telling the NIH you are available full-time in the summer also.
Have we ever seen it scale?
The blog post doesn't give me much confidence in Actual (whatever that may be).
Developing in Production · Terse Systems
>You cannot use any GC-based language if you want to guarantee an upper bound on latency

ObjC wasn't then and isn't now an GC-based language.