skysight-inc/HackerNews huggingface dataset:
Man. I really want a pinball machine. But they’re just so expensive. Though I had kinda ruled out building a virtual pinball machine. This article has convinced me to reconsider. Can anyone recommend a guide?

I’m a pinball newbie but not a woodworking newbie. So a guide with details on the software and pinball-specific hardware included would be sweet.
Been following them for a while, this episode from No Priors podcast to be honest is one of the best episodes I've listened in a while (all podcasts in).

Really happy for them on being approved to fly in the US.

Here's the episode - https://www.youtube.com/watch?v=6eIxL0NnMko
> we must verify your passport in-person before activating the UPI wallet.

How are you planning to make this scale? Presumably you want a significant portion of the 10 million traveler yearly to use this app.
Context: this comment is from a newer post whose comments were merged into this post.
Yeah, I totally get what you mean. I was focused on recreating the effects in original menu that this was inspired by, which was meant for mobile, so the context is very different.

If I was making something like this for use in a real desktop/web app, I'd certainly approach it differently.
I suspect you've blotted out some of the worst of the early years, when lots of people didn't understand that it could only transmit through bodily fluids. People were afraid of the idea of being in the same room with someone with HIV. We had education campaigns about this. PSAs. Character arcs in prime time TV shows. Maybe that period was short in California, but it was spread out over years in the midwest.

I'm not convinced that the trauma of Covid for some adults wasn't re-experiencing the trauma of the AIDS epidemic. Here's another scary disease and we don't know how it's communicated and it's killing people and ruining their lives. Will it still be killing people in ten years? Ebola and a few others threatened to do the same, but they never actually arrived.
Iirc, cjxl is smart enough to do it automatically.

cjxl input.jpg output.jxl

The cjxl --help and cjxl -v -v --help pages are very well done and you'll find the option to explicitly set the option on if you wish to do so.
https://news.ycombinator.com/item?id=37580258
Looks like we all better start learning newspeak
2.7B youtube users is about 1/3 of the people on Earth, and a solid majority of internet users.

India has the most youtube users at 570M+, though the US is highest in youtube traffic. Japan also has high youtube traffic per capita.

https://www.globalmediainsight.com/blog/youtube-users-statis...
Not sure if you meant 2002 instead of 2022 or Ukraine instead of Iraq. Either works!
Bug free code isn't pragmatic at all.

For any system that is reasonably complex; that solves a real world issue, there's simply no way to handle all the edge cases.

One thing that I've found myself doing in recent years is to simply let the program blow up and have the end user experience a 500 error. I know this isn't ideal for so many orgs but I've come to the conclusion that the worst thing you can have happen is a feature that breaks but returns a "200".
Thank you for the encouragement. I hope you get to use this app on your next visit.

> charge a lot more and make it a lot more convenient.

We're trying to introduce doorstep verification services.
And establishing good unit economics is definitely our current biggest problem.

50$ will make our investors very happy but then customers might complain.
> If your memory usage doesn't plateau you have a memory leak which would be caused by a bug in your code or a dependency.

Extremely bold claim for a framework the size of ruby on rails. I would trot out my own evidence but the receipts are lost with time.

Also—why isn't the allocation behavior tweakable at runtime? Seems pretty trivial with no downsides. It's not difficult to think of a scenario where a non-monotonically-increasing-heap-size is desirable.
Thats common knowledge because De Beers wants us to think that.

https://archive.ph/eFwVj
The URL was originally https://64.ms/ but it no longer works, so we've changed to one that does (by the submitter's request).
You're moving the goal posts. The claim isn't that Ken Thompson or whoever is flawless. The claim is that he isn't stupid.
But who exactly would want to buy it? I make good money as a software developer, but there's no way I'd drop 3 grand on some unproven beta quality headset with modest specs just to see how well it could serve as a laptop + 4k monitor replacement. I could see myself potentially paying that much for a 2nd or 3rd generation Vision Pro, provided everyone raves about the experience, but even then, I'd double check the return policy.
Python is in a larger bind because it only has function scoping and variable declaration is implicit. It does not have sub-function scopes.

So does not really have a good way to fix the issue, even by using a different keyword as JS did.

OTOH default parameters being evaluated at function definition make mitigating it relatively simple.
We plan to tie up with sim card vendors operating in airports around India.
That should hopefully make it more convenient for people to finish their activation.

Longer term solution however, will be doorstep verification facilitated by the Transcorp team / in-house agents.
This is a well written, in depth analysis of the system. Why do you think the packets are encrypted?
I’m wondering if eventually airspace will be carved out for commercial drone operations. And if in the future the FAA will attempt to stop enthusiast drone operations via costly regulations in the name of safety for commercial drone ops. As it’s very easy for someone with a DJI drone from to fly beyond LOS.

Also a Walmart in my area has blocked off part of its parking lot to launch 6 delivery drones. I’m going to miss the days of quiet skies.
> Having to translate real world requirements into abstract constructs that – when evaluated by a computer – model our problem domain to a satisfactory degree.

I tend to think of it as starting from abstract constructs and matching it to a known real world problem in an satisfactory degree. From that sense it didn't seem and feel so hard.

In mathematic theory it starts by defining 0 and 1 and the whole thing comes together shortly after and can be used to model the real world to an amazing degree. Software engineering in comparison are still quite straightforward even in its highest complexity.
Knowledge that this environment exists is also strong evidence that it was a backdoor.

If you propose a clearly questionable security practice in some arbitrary bureaucracy, the assumption is it's incompetence because that happens all the time and no one detects it until it's already in production.

If you propose a clearly questionable security practice to a cryptography standards body, the expectation is that you get laughed out of the room. Even the possibility of a backdoor would make everyone skeptical, which would be useless in a standard because no one would trust it.

And yet it made it through the standards process for some reason, but there is only one plausible reason.
> JavaScript (when using `var`)

I would argue that var is an entirely different issue. If variables last the entire function then it's far less confusing to see closures using the final value. After exiting the loop the final value is right there, still assigned to the variable. You can print it directly with no closures needed.
I never saw the value of these as opposed to other ways of indexing sites. Except for raw nostalgia, of course, which is clearly also driving this.
pwsh can be installed on *nix nowadays...

I use nushell as my daily driver but I've tried a few "alt" shells over the years, from fish to xonsh and now nushell.

oil is really two different languages, OSH and YSH. OSH is basically aimed at replacing bash with little to no code changes, just less idiosyncrasies in the interpreter. If you like the idea of using shell scripts for building/controlling critical components but hate the idea of using ([db]?a)?sh then osh is probably a good option. I have not personally used YSH as a daily driver shell.

xonsh is aimed at people who like Python so much that they want to have a Python-esque shell and it's quite nice, although sometimes it's not exactly obvious when you should switch to raw Python eval mode when it comes to the nitty-gritty (or should you just write a Python script at that point?).

fish is really nice, specifically aimed at interactive use. Includes a lot of features out of the box. If you're looking to try any interactive shell, I recommend starting with fish. I've come very close to switching back to fish during my adventures with both xonsh and nushell. Subprocess support is.. As far as I know, still quite lacking. There are workarounds for 90% of use-cases of subprocesses, though.

nushell could probably be described as heavily PowerShell inspired, but written in rust. The syntax has changed several times, it's quite experimental. One of the most annoying things about nushell is that it has built-ins that override things like ls, rm, etc. and you have to use ^ls ^rm etc. to break-out of that behaviour (or get used to the "nu" way). I believe the main reason for this is because nu pipelines aren't just working on streams of text. See https://www.nushell.sh/book/pipelines.html#behind-the-scenes for better explanation.

If you used PowerShell and simply enjoyed using PowerShell specifically, then you can also install pwsh on *nix. Perhaps the main downside is that most tutorials, modules etc. are written with Windows in mind, but as a shell it works perfectly fine.
I agree at the time it wasn’t a mistake. It allowed for vast adoption with Slack needing to implement the complexities of a single login accessing (for me) about a dozen workspaces.

But from a revenue perspective in 2023, it is a mistake. Of your list, which of work, vendor, and personal likely is a paid account? I’d argue in 2023 they only care about work and vendor and that is what they are optimizing their experience for at present. Now that adoption has saturated and the curve has flattened, the strategy of personal or even open source workspaces has served its purpose.

In short, now that they’ve got their hooks in, I’m sure they’d be happy for the personal workspaces go elsewhere, leaving just the paying professional context, and single login login, interacting with vendor/partner contexts.
We will try to get permissions to kickstart verification services in US soon.

Doing the account opening process online would be best but isn't allowed under existing regulations.
John Locke is renowned for being pragmatic, not an ideologue. I'm not sure why societal size would matter, but he lived in a period of social upheaval with lots of negative effects from intolerance and partisanship. Not really that different from today.
That was then and this is now. If you are building under endless VC money go ahead burn it. Most of us however do not have endless stacks of money to burn runing our code.
>we take action to protect the community,” the spokeswoman said.

This really exposes Google's hypocrisy, though. If they were worried about protecting the community, surely they would remove his content and not his ability to monetize it.

They must mean that "community" is being harmed by the content and not by the ads (else the responsible thing would be to shut down altogether ...)

That said, I think Brand's videos are a big pile of barf, though again, if that were the standard, YouTube would have to throw out 90+% of their content...
FairPhone exists and is great, I recommend!
Considering the scales of Amazon and Google, and their involvements with US government agencies in the US, I think it is fair to suspect that there is a lot we don't know about...
In general, the issue is with composition. Your full message is someone else field. Having a header that only occurs in message initial position breaks this.

For protobuffs in particular, I have no idea. If you look at the encoding [0], you will see that the notion of submessages are explicitly supported. However, submessages are preceeded by a length field, which makes the lack of a length field at the start of the top-level message a rather glaring omission. The best arguement I can see is that submessages use a tag-length-value scheme instead of length-value-tag. This is because in general protobufs use a tag-value scheme, and certain types have the begining of the value be a length field. This means that to have a consistent and composable format, you would need to message length to start at the second byte of the message. Still, that would probably be good enough for 90% of the instances where people want to apply a length header.

[0] https://protobuf.dev/programming-guides/encoding/
Aren't they warped by the curvature of space/time that they are spreading over?
<g> is interesting there: it’s an SVG element. SVG and MathML are fun in HTML syntax, because it becomes a little more XMLly when parsing them: XML-style self-closing tags (<tag/>) actually work, and there’s no such thing as a void element (e.g. <br> which has no closing tag because it has no contents). This can lead to fun problems in overly-simplistic filtering, e.g. <script/>alert()</script> is a syntax error in SVG or in XML-syntax HTML, is swallowed and does nothing inside SVG-in-HTML (it’s an empty script tag followed by a text node and an extraneous end tag), and alerts inside HTML (the trailing slash in the start tag reports a syntax error but they don’t do anything). This is ripe for security issues from smuggling stuff. There’s also fun like whether <script>alert("&lt;")</script> alerts “<” (SVG/XML-syntax HTML) or “&lt;” (HTML). These sorts of things are why it is said: use a real HTML parser if you’re working with HTML.

In the rest of HTML syntax, adding a trailing slash does exactly nothing—it’s just ignored by the parser¹. For my part, I firmly recommend against writing it if you’re using HTML syntax, because it gives the false impression that it does something; rather, there’s a hard-coded list of elements that have no contents and thus no closing tag. It’s not uncommon to find people writing their />, but it’s practically never consistently applied, e.g.:

<meta charSet="utf-8"/> ← ²
<link rel="…" href="…"/>
<link rel="…" href="…"> ← Where’s my /, hmm?

So if you tried loading this with XML syntax (which is still very much a thing), you’d hit a parse error. And remember, this was put in as an XHTML compatibility measure (though I’m honestly not convinced it was worth it—without the special handling, you’d just have ended up with an attribute named / with an empty string value, which isn’t so bad).

HTML/XML polyglot is a surprisingly thorny issue, and my experience is that a lot of JavaScript libraries make assumptions that don’t hold in XML-syntax documents and thus won’t work properly. In practice, almost no one uses XML syntax for anything new, and foreign content (SVG/MathML) is the last remnant of widely-used XML in HTML.

—⁂—

¹ This is a very slight simplification. Look into the self-closing flag in the spec if you’re interested in the details.

² I think that wrong capitalisation of charSet comes from Next.js, because every time I’ve seen it, Next.js has been present. It has irritated me for years, but never quite enough to dig in and find the source and beg them to fix it. No idea if Next.js supports using XML-syntax HTML, but if it does, that meta charSet will be invalid, because XML syntax is case-sensitive and it’s supposed to be charset—though I think it will still work in practice because of the charset detection algorithm actually working on the bytes, not the XML/HTML syntax, and being case-insensitive. And if Next.js doesn’t support using XML syntax, I wish they’d stop generating trailing slashes, too, because they’re just a waste of time.
Please don't use multiple accounts to upvote things (that's very much against HN's rules and will get you banned here), and please don't use HN primarily for promotion (it will eventually get your thing added to a spam filter).

Both of these points are in the site guidelines (https://news.ycombinator.com/newsguidelines.html), so if you'd please review them and stick to the rules when posting here, we'd appreciate it.
Thanks for the feedback, this is what I was hoping for.

> Scrolling up should stop auto-scroll in the chat

This is at the top-of the list for today, check the website/discord/twitter for updates. I want to do both - pin the button at the bottom, and also make sure that if you scroll, it will stay there. Currently, it's one component which contains the button and also scrolls and it was a bad idea.

> Blurring the window while installing

Agreed 100%, I definitely want to improve downloader a lot more but this was good enough for first release.

> Maybe an uninstall button for models is appropriate.

It should be there (in the upper area), I hope the 24h cache in cloudfront is not too much but the link should be pointing to 09-18 version which has Delete button.
Am I really going to have to get out the premature optimization quote?

Most businesses fail. Those that don't fail, usually don't have interesting scaling issues. (You can go a really long way on a boring monolith stack.)

So in most cases, whatever gets things out into the world and able to see if the business can be validated makes sense, and then you optimize later. A nonscalable stack that you can iterate on 50% faster is more likely to produce a viable company than a more scalable stack that's slower to work with.

If you're a hired employee, it's easy to forget that the place you're working for is already a big exception just by the virtue of it grew large enough to hire you.
Some compression formats such as gzip support encoding streams.

This is useful when you don't know the size in advance, or if you compress on demand and want the receiver to start reading while the sender is still compressing.

One example could be a web service where you request dynamic content (like a huge CSV file). The client can start downloading earlier, and the server doesn't need to create a temporary file. The web service will stream the results directly and encoding it in chunks.
My most used tag is DIV, because I write more games/apps than docs. By hand using Vanilla JS and HTML.
Dealing with databases and data scanning into custom structs, you would be writing lots Scanner/Valuer custom functions which use interface{}

If you are the lucky ones not dealing with databases, I sort-of envy you...!
(I assume you mean Shopify not Spotify)

No exactly a fair question because Shopify is much older and is valued at 70B. For a company to have done it in half the time would have been impressive regardless of tech whereas on average it takes 7 years to become a unicorn.

I do know that Aircall is relatively young, on a good trajectory and runs Rails.
We did try pushing for an online account opening process. However, it's not allowed under existing India regulations.

We plan to scale with doorstep verification services in the meantime.
I just tried this. Most of the pictures on a google image search for "ellen page" are actually Ellen and not Elliot.
LOL, OK. You've listed a lot of problems that have been largely solved already, and are trying to convince us that they are harder than a problem that has eluded the brightest people in the tech industry, armed with computational tools that the aerospace community never dreamed of and backed by more-or-less infinite capital.

Nothing is harder than self-driving cars. Nothing. We'll colonize Mars before we have a solid solution to that problem. Why? Self-driving cars have to coexist with human drivers and human infrastructure.

Nobody in aviation has that problem. If they did, they'd run screaming for the hills.
This is what I do. My only “social network” is group chats in messaging clients (and anonymous Internet forums).

Given how many more people lurk in places like Twitter than post, I wouldn’t be surprised if this is more common than extensive social network use (a little social network use is unavoidable—if my wife didn’t have a read-mostly Facebook account, I’d have to)

Stapling vacation photos to every light post in the world is what seems like the bizarro-world behavior, to me. Which is what social network posting is.

Even the forum (custom Perl, then phpnuke, then phpbb) I ran for friends in high school & college was set to no-public-registration and no visibility to unauthenticated users. Like… duh.

Modern social media’s what’s fucking weird, not what we do.
the only way to solve that is to attend/join multiple groups or clubs.

the hackerspace that i visit has one kind of demographic, and the kybernetes meetup that i recently attended, quite another, which is yet very different from the people at the irish folk session or the meetup for self employed people, or the digital nomads meetup.

a single group that has a representative distribution of all sections of society does not exist
> Because Shopify would have waited until Rust came out in 2015, instead of launching in 2006,

> PHP and Ruby apps have generated far more revenues than all the Rust and Golang code combined.

You already stated the obvious: PHP and Ruby apps generated far more revenues simply by existing longer.
The article already states this. The person you were replying to is asking about a different - but similar - case where an employee's last name is "Null".
The conformance suite tests encode and decode for single messages; you wouldn’t run it for a custom framing implementation; The gRPC interop tests are closer to what you’d want.

Framing appears higher up the stack, as an RPC transport, or structured storage like the recordio format referenced by the author. The article sounds like the client expected application/protobuf but the server sent application/custom-protobuf-framing.
Yep, and this variant to the encoding is documented at https://protobuf.dev/programming-guides/techniques/#streamin...

Definitely seems to be a routine addition to the standard supported by many libraries.
jOOQ is pretty great, and recently got good Kotlin support. My only complaint is if you use their DSL you lose the SQL syntax highlighting JetBrains IDEs have.
Btw, those are the Arabic numerals “0 1 2 3 4 5 6 7 8 9” while English one used to use Latin.

Edit: Well, It seems I’m late and already been said in the comments!
>The down-side of AI is that it commodifies everything to the point where nothing has meaning anymore. The first 2-3 spirals were cool, likewise 4-5 checkerboards, but it only took days to descend into meaninglessness — now branded as a genre.

https://twitter.com/alexjc/status/1703401287235010929
I got into Pinball because my work had a handful of machines in our breakroom. This author is not joking about how different an experience it is playing pinball when you don't have to worry about pumping in quarters or being elbowed out by the next player. Pinball machines from the 90s on are reasonably complex games. They have levels, modes, and lots of goals to attain. Multiball is a reward

> I’m fortunate enough to live near the biggest publicly accessible pinball arcade (Pinball Hall of Fame)

In danger of being rude, I'd say the Pinball Hall of Fame is about worth the price of admission (it's free to enter). Maybe I visited on an off day, but it seemed to be just a warehouse full of privately own machines, about half of which were operating. My local pinball place (Next Level Pinball Museum, outside of Portland, OR) has a very large collection which spans the history of Pinball from very early games to machines that have HD video displays on the backboard.

I strongly recommend if you've never given it a try, find a pinball place that'll let you pay a flat fee for admission and spend some time on some games. My personal favorites:

- Attack From Mars

- Cactus Canyon

- Medieval Madness

- Creature from the Black Lagoon

- Star Trek (based on the Abrams movies)

- Super Mario Bros (the full size table from 1992)
The LAN code is probably the same code as the online multiplayer.