Hacker Newsnew | past | comments | ask | show | jobs | submit | deepsun's commentslogin

> unambiguous

But it's pretty ambiguous when parsing. Like a long number -- is it a floating point, BigInt or i128? Every language is different

JSON was a blessing because it was literally Javascript. It was unambiguous in Javascript only.

A true unambiguous would be "everything is a string", like TCL.


In chaotic environment it was probably human driving, or rather directing the car remotely.

Well I enjoy mowing my lawn (with a mechanic mower of course). Anything but the office chair and monitor.

I firmly believe that any thoughtful rewrite is good. Most companies just don't have resources for that. At least, it serves as a security review, but also refreshes team knowledge of the system. They usually also improve documentation if it was wrong.

While diving into R/C hobby, I learned that all the batteries within one technology are pretty much the same.

Like all Li-Ion batteries have nominal voltage about 3.6V-3.7V, and full charge at about 4.25V, depending on how risky you are today (yes, there are some minor variations in rated voltages, but not like 10x). Just because chemistry. For lower current (heat losses) you just connect the cells in series, so you got multiplies 2x, 3x, ... of the same voltages (but never fractional, like 1.5x). They typically have more wires to balance the charges between the cells (so the total wires count is #cells+1).

There are also "protected" batteries, which means there's an electronic chip that protects battery from over/under charging, but authors' doesn't seem to have that. It's just a regular unprotected 1-cell Li-Ion cell, and the device provides the protection.

That means author could as well connect to any battery of 3.5V -- 4.2V, not going through the hoops of looking for their particular reader, as long as it's thin enough to fit. Smaller batteries would just have less charge.

PS: I would double-check it's really unprotected tho.


back in my day we used to upcycle old 18650s from old laptop batteries to use for Nokia phones. Since back in the day phone batteries were basically just insert-in and held by a clip-on backplate, it was just a question of fabricating some sort of a replacement backplate, tape on some batteries, reuse the charging protection board with the connector from the original phone battery and wire it together. It easily doubled the size, looked like a prop from an amateur terrorist movie, but battery life was a week+ ;-)

Today people think that Java's main feature was OOP, but its main selling point was "no undefined behavior" (e.g. "int" means 32-bit signed integer with overflows, on any platform, no exceptions). Today it sounds normal, but back in the day that was what made Java popular.

As someone that jumped into Java already in 1996, even though it was still interpreted, JIT would only come into early 2000's, there was another big factor, the standard library.

Contrary to what people think nowadays, trying to write portable C or C++ code in the 90's was still an adventure.

C compilers were still getting C89 compliance, and POSIX wasn't as portable as folks think.

C++ was even worse, C++ARM was the C++ version of K&R C, compilers were more diverse than nowadays, each with their own frameworks, and C++98 was still a few years away.

Alongside Perl with CPAN, it was a big batteries box. Python wasn't that relevant yet.


Yes, forgot about that.

Aren't C/C++ compilers also very diverse today as well? GCC vs CLang with its intermediate representation sound like different planets.


Off topic: what is the most convenient statically typed language that don't require compilation/transpilation? To run instead of bash or Python, but types are mandatory (not just hints like python).

I know jShell has been here like 10 years, but I'm not sure it's convenient to quickly write to a file, query a url, etc.

.ksh for Kotlin? Typescript (through Deno)? Lua?



OCaml has both compilator and interpreter.

Lua isn't statically typed, and while there is Teal – a statically typed variant of Lua – it requires separate build step.


Luau is statically typed and interpreted/JIT'd: https://luau.org/

Oh, nice, I didn't know - I always thought that Luau has only type annotations and is not statically typed per se. But yeah, looked into the documentation and you can set !strict mode per script, which will cause interpreter to assert the types. Looks promising.

Can you tell me how well it works in practice?


I've only used it for small scripts and can't say how well the type system actually functions/how it scales, but what I've seen so far has pleased me. (They have a _comptime_-equivalent! https://luau.org/types/type-functions/)

You may be interested in https://lute.luau.org/, which is a node.js-style runtime for the language.



F# is good because it can easily fetch and import third party dependencies in a script.


Same thing with Google Music, it was perfect. You could stream, or could buy and download mp3, or you could upload your library to it.

And the best feature: "I am feeling lucky" -- play a random song you ever liked and keep playing a generated playlist off it.

But they killed it due to internal wars with YouTube Music that sucks. There's still nothing like Google Music.


The thing that sucks about Google Music is that they could have merged them but kept the good parts of both. Youtube Music is still missing features of Google Music. It would have been more than "just", but Google Music with Youtube backend and branding would have worked. It is the backend song licensing they wanted to merge.

The same happened with Google Podcasts. Merged into Youtube Music, not even separate Youtube Podcasts, and it sucks.


GPM was amazing for keeping my library accessible on a device with all of 16GB of storage space, but for recommendations, Grooveshark took the cake. Spotify, Pandora, Tidal, Youtube... None have ever gotten close to GS in terms of showing me songs completely outside my wheelhouse that I immediately loved. Also likewise cruelly cut down by cynical forces.

The thing that pissed me off was that I had uploaded so many indie local bands' CDs, none of which were ever on YouTube, so I lost more than half of my music library when they forced that change and there was nothing I could do about it, having long since gotten rid of the disks because I believed them that they would never delete my stuff.

(Degoogled not long after that, actually. Fool me twice...)


I am not sure what you mean here. I just checked my uploads and all my live music stuff is still there, as well as obscure published records.

I had CDs from all my high school friends' dumb little bands. All gone.

I don't care that nobody else on YouTube would ever have wanted to hear them. I don't even really care that the band members themselves would probably be embarrassed that I still had a copy. The point of buying the disk (and uploading it in the first place) was so that I word continue to have access to it.


Cloud is an unnecessary evil, in the Stallmanesque sense.

Why anyone trusts any streaming music service is absolutely beyond me. It will always get enshittified. I have 65GiB of mp3s I've accumulated from ripping CDs over the years and it used to be a burden to transfer around between machines. Now it easily fits on a thumb drive or microsd and it's easy to copy it onto all of my machines.

Yes, because you did not need to copy it to all devices. You could stream your own library at any device.

Probably you could set up a homelab server and there are tools/apps for streaming it to your own devices, but I havent bothered yet.

AND discovery part -- I'm feeling lucky let me listen to new music. If I liked it I bought it. But it's hard to find new music, get out of your bubble.


I trusted it in 2008 because none of these things had been around long enough to have a track record of enshittification.

Google Music's song radio feature was really good. It would play similar songs obviously but it exposed you to actually new artists. Meanwhile, spotify basically encourages you to listen to the same stuff all the time, It's like listening to my old CD collection.

They could have Spotify market and just decided not to.

I liked Google Play Music a lot but like any Google product it had a lot of issues. Still way better than YouTube Music.

> "I am feeling lucky"

YouTube Music still has this feature and it even uses the die icon, just like always.

> you could upload your library to it.

You can also do this in YouTube Music.

> But they killed it

They rebranded the exact same code base with largely the same staff. I don't know why you perceive this to have been a break.


> They rebranded the exact same code base with largely the same staff. I don't know why you perceive this to have been a break.

This is actually completely false. (Source: I worked at Google at the time this transition was made, though not on GPM or YTM).

Two completely different codebases and teams and in fact YTM launched missing a boatload of features that Play Music had. Including annoyingly the ability to use our own Chromecast features on the desktop/browser version. (I worked on the Cast team). There were quite a few angry internal buganizer tickets.


Yeah, but if the songs in your Google Music library weren't on YouTube Music, you just lost them forever. End of story.

It was the betrayal that turned me off Google.


Are you talking about uploaded music? All of mine is still available and a lot of it definitely isn't on YouTube. Did you try looking for the uploaded music tab? It can be hard to find

This isn't true. I have tons of stuff that I uploaded that they've never heard of

I lost my entire local indie music collection. I'm glad your interests were apparently more mainstream, but I can't listen to my high school classmates' songs ever again.

Cool, as a further research, I think it may be good for GPU/SIMD. Because as a human you quickly see where is the boundary between groups, where to split. But our eyes are parallel to some degree, while computer needs to scan items one-by-one to find the boundary. But GPU is faster may do it in one call.

Glancing at the code it has three nested loops (two "while"s, and one "reverse" call), which makes it O(N^3) before optimizations.


Legal in California, illegal in New York (typically 2-3 years).

Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: