HN user

simias

28,508 karma

[ my public key: https://keybase.io/simias; my proof: https://keybase.io/simias/sigs/Grl1isA9Q7l_fy0x_8XBoifZ51_bmZ00Hb-70846UaU ]

Posts4
Comments4,630
View on HN

My subjective impression as a web user since the late 90s is that now things break relatively rarely (I think it's the first time I have any such issue with DDG for instance) but when they do a huge chunk of the web becomes unreachable.

Back when things were more decentralized individual websites and services would have issues much more regularly because the individual software and hardware stacks weren't as robust and fault-tolerant, but then usually the problem would always be limited to a single website/service.

Well I suspect that eventually you just run into hard limitations with C's introspection facilities, or lack thereof.

I like C a lot but one of the reasons I like Rust more these days is the ability to trivially implement complex serialization schemes without a ton of ad-hoc code and boilerplate.

Sort of off-topic but I see a lot of round screens in sci-fi and especially retrofuturistic settings and that always wonder if there could be an alternate reality where they took off instead of rectangular monitors. After all for CRTs they were in some ways more optimal!

I dream of a polar-punk alternate reality where we address pixels not by (x, y) but by (r, θ).

Of course there's one big flaw with this line of thinking: even if we used circular (or elliptic) screens, we can't tile them with other circles. Circular windows would waste a lot of space. Maybe we could split in "slices" instead though?

While I don't use TikTok I often see videos from there and it's really spooky to me how aggressive and omnipresent filtering seems to have become in that community. Even mundane non-fashion non-influencer "vlog" style content is often heavily filtered and, even more scary IMO, I often don't notice immediately and only catch it if there's a small glitch in the algorithm for instance when the person moves something in front of their face. And sometimes you can tell that the difference from their real appearance is very significant.

I really wonder what's that doing to insecure teenagers with body issues.

I guess every generation experiences this type of nostalgia for the novelties of youth, but I still feel heavily privileged for having been able to live through the nineties and early 00's and experience the incredible technological explosion that occurred with microcomputers and the internet.

I started playing videogames on 8bit consoles and within a little more than a decade we had mainstream internet and games like Half Life 2. Every new generation of consoles and computers blew the previous one completely out of the water. We're also the last generation who knew what life was without having an always-online computer on ourselves at all times. Calling your friends on landlines to ask them if they wanted to hang out!

Meanwhile my current desktop computer that I use for work is about 8 years old and the benefits I'd get for upgrading would be relatively minimal. Tech is still progressing massively of course, but it feels like in many areas we've hit diminishing returns.

I dislike JavaScript and shell scripts equally, but sometimes I have to add a feature to a web page and I have to use JS, so I do, and sometimes I need to automate some un*x system task in a portable way and without heavy deps and shell scripts are the obvious solution.

What annoys me is using JavaScript and shell scripts when there are clearly superior alternatives and no clear advantage for it besides the familiarity (which, admittedly, can be a strong argument).

Shell scripts being an arcane mess is no excuse for Javascript being as clunky as it is, and vice-versa.

Mistral 7B 3 years ago

That's a bit of a strawman though, no? I'm definitely not worried about AI being used to write erotica or researching drugs, more about the societal effects. Knowledge is more available than ever but we also see echo chambers develop online and people effectively becoming less informed by being online and only getting fed their own biases over and over again.

I feel like AI can amplify this issue tremendously. That's my main concern really, not people making pipe bombs or writing rape fanfiction.

Mistral 7B 3 years ago

the AI safety ninnies

I am one of these ninnies I guess, but isn't it rational to be a bit worried about this? When we see the deep effects that social networks have had on society (both good and bad) isn't it reasonable to feel a bit dizzy when considering the effect that such an invention will have?

Or maybe your point is just that it's going to happen regardless of whether people want it or not, in which case I think I agree, but it doesn't mean that we shouldn't think about it...

Most people developing GameBoy emulators these days do it as a toy project, not a serious effort to create an ultra-accurate general purpose emulator. It's like writing a raytracer or a Pong clone.

The best GameBoy emulators like Gambatte predate Rust by almost a decade and are often written in C++. Since GameBoy emulation is pretty much a solved problem there's no strong motivation to innovate in the scene.

I've written several emulators in Rust, I'd argue that it's very well suited to this exercise, but it's also not an area where Rust shines particularly. There's no complex memory management in emulators usually since most memory buffers are just statically allocated constant-size arrays that mimic the physical RAM on the console.

It really is, but I still favour "unsexy" manual poll/select code with a lot of if/elseing if it means not having to deal with async.

I fully acknowledge that I'm an "old school" system dev who's coming from the C world and not the JS world, so I probably have a certain bias because of that, but I genuinely can't understand how anybody could look at the mess that's Rust's async and think that it was a good design for a language that already had the reputation of being very complicated to write.

I tried to get it, I really did, but my god what a massive mess that is. And it contaminates everything it touches, too. I really love Rust and I do most of my coding in it these days, but every time I encounter async-heavy Rust code my jaw clenches and my vision blurs.

At least my clunky select "runtime" code can be safely contained in a couple functions while the rest of the code remains blissfully unaware of the magic going on under the hood.

Dear people coming from the JS world: give system threads and channels a try. I swear that a lot of the time it's vastly simpler and more elegant. There are very, very few practical problems where async is clearly superior (although plenty where it's arguably superior).

I don't like it either but if it's like the moonlander it's fully customizable and uses QMK under the hood, so the sky is the limit.

I don't really like having a lightshow on my keyboard so the LEDs are off all the time for me but in the past I've used them to change color depending on the layout I'm using for instance. I'm sure a more creative hacker could come up with something useful.

Perhaps, but I wouldn't mind if the models just answered "I'm sorry but I don't have an answer to your question at the time". In fact I think that would be a great answer that would increase the amount of trust I have in ChatGPT.

Instead the model decides to make stuff up and pretend that it knows. That's vastly worse.

It reminds me of the early days of DuckDuckGo, when if you searched for something obscure with no matches online it would still fuzzy match some garbage like a binary blob in a Chinese PDF while Google helpfully would just tell you that it couldn't find anything.

For one, we can test the software by running it

As long as the tests are not also written by ChatGPT...

Many critical security issues require a deep understanding or the code or some intense fuzzing to discover, it's not enough to ask ChatGPT "write me X" then superficially glance at the output to validate that it looks correct. That's the part that worries me. Completely broken code will be caught immediately, but subtly broken code may linger for a long time and make it to production.

And from my limited experience with ChatGPT, it seems very good at making up broken things that look superficially correct.

I haven't tried ChatGPT for coding yet but I have used it to study human languages (I've been studying Japanese for a little while) and it's so easy to get it to spew complete nonsense with perfect aplomb that it makes me super wary of using it for any "serious" things. In particular anything you're not super familiar with where you can't easily evaluate if the output is correct or not.

The other day I was struggling to parse a Japanese sentence, a particular grammatical construction made no sense to me. I wrote the sentence in ChatGPT, asked it to break it down for me, and it came up with a plausible-sounding explanation. Problem was, I couldn't find any hit on google when I searched for the thing it was talking about. So I asked ChatGPT to give me more details, tell me what I could search for, and it would insist that its explanation was correct and then gaslight me by telling me that the reason I couldn't find anything on Google was because it was a niche subject not usually taught in grammar books.

After some more searching around and double-checking it turns out that I had misread a kanji and the sentence I typed into ChatGPT was complete gibberish as a result. ChatGPT's explanation, while sounding very plausible, was complete fabrication.

The idea that some inexperienced people are shipping software using this tool is insane to me.

All of these reasons boil down to "if it ain't broke" and "that's what we're used to".

Switching VCS for a project of this size is always complicated and OpenBSD devs are famously "old school" and conservative with their software choices.

I used to use CVS before switching to SVN and later DCVS like Mercurial and Git. The claim that "it is unlikely that any alternative versioning system would improve the developer's productivity or quality" is absolutely laughable IMO.

This is especially true nowadays where CVS support in modern tooling, if it even exists, is usually legacy and poorly maintained.

ChatGPT Enterprise 3 years ago

How else?

If you notice that some of your confidential info made it into next generations of the model, you'll be able to sue them for big $$$ for breach of contract. That's a pretty good incentive for them not to play stupid games with that.

Alternative Shells 3 years ago

I started with tcsh because it was the standard on BSD at the time, then I moved to zsh and never looked back. Using shells with non-POSIX syntax is nice in theory but the pros don't outweight the massive con of not working out of the box on most systems, at least for my usage.

The idea of using structured data instead of raw bytes always seemed like a brilliant idea, so I commend Microsoft for pushing the concept with their PowerShell, but I'm a un*x user and all the operating system and tooling is built around dumb `char[]` pipes so unfortunately that's a lost cause as far as I'm concerned.

I suppose a big player like Red Hat or Ubuntu could push for a complete migration of the kernel + userland towards structured pipes, but I'm not sure why they would. From anecdotal evidence it seems to me that shell power-usage is not as popular now than it was in the past, most junior devs I encounter seem to barely use pipes at all, let alone write complex scripts. They rely on VSCode to launch the build commands and they do everything else through GUI. When they need to do something on the CLI they usually just copy/paste from stackoverflow. Why bother overhauling the shell if it's becoming a legacy tool?

It saddens me a bit but I also get it. It's not like shell scripts and Makefiles and autotools stuff are a pleasure to work with... Maybe it's for the best.

There's something more constricting about there being one function to bootstrap everything than there is about one file.

As someone who basically started coding with C I feel the other way around, unsurprisingly. Even in scripting languages when I write something non trivial I tend to encapsulate everything in functions and then have a `main()` call at the bottom of the file. I think it's one of the things python got right with the `if __name__ == "__main__":` idiom that lets you import any script in a REPL to test individual methods for instance.

(Although the actual syntax of `if __name__ == "__main__":` is IMO utter trash and it amuses me that a language so obsessed with getting rid of symbols and looking like pseudocode decided that such cumbersome, obtuse and ugly looking boilerplate was just fine.)

It's perhaps not as life-changing as some of the sibling replies but one thing that has really amazed me over the past few decades is how much lighting has progressed.

When I was a kid in the 90's I already enjoyed electricity and electronics and I would play with those low power incandescent lightbulbs powered by 9V batteries. They would generate a lot of heat and very little light, to the point that it wasn't easy to tell if it was on when the sun was bright.

With a modern LED and the same setup you could generate enough light to blind yourself.

Conservation is not just about preserving info, it's also about not adding information that's not here. If you upscale without those gradients (effectively sharpening to the max with nearest neighbor extrapolation) you introduce high frequencies that could not exist in the original data. You've created new information out of nowhere.

But of course you're correct that in this case it may be the desirable outcome. I still think that this idea of creating information using algorithms in order to get a subjectively more pleasant result is really one of the biggest issues of our time. Not a day passes where I don't see AI-colorized pictures, AI-extrapolated video footage, AI-cleaned family portraits, AI-improved smartphone footage etc...

It's both amazing and a bit scary, because in a certain way we rewrite history when we do this, and since the information is not present in the original it's very difficult to ascertain how close we truly are to reality. We're creating a parallel reality, one Instagram filter at a time. Maybe that's the true metaverse.

Precisely! I also find it interesting how, from an information theory standpoint, audio processing and image processing are effectively the same thing (audio resampling is fundamentally 1D image scaling for instance) but because humans process sounds very differently from images we end up doing things pretty differently.

For instance when we want to subjectively make images more attractive we tend increase contrast and sharpness, whereas for sound we tend to compress it, effectively reducing "audio contrast".

Ten years or so ago I was working on a video chip that had an upscaler feature. While prototyping and simulating it, we first started by applying a mathematically-correct (i.e. information preserving) FIR filter to do the upscale. Then we compared the result with other solutions and found that ours looked worse. We asked our colleagues to blind-test it and they all picked third-party-scaled images over ours.

At first we assumed that we must have had a bug somewhere because the Fourrier transform told us that our approach was optimal, but after more testing everything matched the expected output. Yet it looked worse.

So we started reverse-engineering the other solutions and, long story short, what they did better is that they added some form of edge-enhancement to the upscaling. Information-theory-wise it actually degraded the image, but subjectively the sharper outlines were just so much nicer to look at and looked correct-er. You felt like you could more easily tell the details even though, again, in a mathematical sense you actually lost information that way.

I don't think it makes a lot of sense to reduce human vision to edge detection (we can still make sense of a blurry image like this one after all: https://static0.makeuseofimages.com/wordpress/wp-content/upl... ) but it's clear to me from empirical evidence that edge-detection is a core aspect of how we parse visual stimuli.

As such I'm a bit confused as to why the author seems to see this as a binary proposition. That being said, I could just be misunderstanding completely the point the author is trying to make.

Mold 2.0 3 years ago

I admit I'm mostly familiar with the Intel (formerly Altera) side. There are no restrictions at all on the Xilinx side? That's pretty neat.

Mold 2.0 3 years ago

This is unfortunately still the norm in the FPGA world, which I think is a poor decision in the long term for Intel/Xilinx. I wanted to seriously get into FPGA dev a decade or so ago, I learned to write Verilog and everything but the tooling made me give up, it was too painful to deal with all the quirks and limitations of the free tools.

Can you specify what in practice could be an issue with a "forced" password? Are some characters harder to input than others or is it a different problem?

For the non-American aspect, it's extremely common for websites to force ASCII today (either explicitly, or because using anything else breaks in various unexpected ways) anyway, I doubt that any internet user around the globe will have an issue with that. That boat has sailed in the 90s.

I think there are two approaches to the issue:

- You consider that the user getting their account pwnd is their problem. Let them set their password. That includes things like forums and other websites where an user losing their account is not critical and you can easily just tell them "too bad, use a better password next time" if something goes wrong.

- You consider that the user getting their account pwnd is going to be your problem. You're a bank, or some paid service for instance, and the user will ask for support if they lose access to their account. In this case it 100% makes sense to force a password on the user to prevent them from selecting something stupid IMO.