HNHacker News
TopNewBestAskShowJobs

Cyberdog

3,013 karma · joined December 10, 2015

Cyberdog is the internet alias of a guy with interests in:

- Swift programming language

- Cryptocurrency

- Vidya gaems

- Unix and macOS (though I don't hate Microsoft/Windows - you do you)

- Instinctively distrusting Google

- East Asia culture, language, politics, and especially food

submissionscomments
Cyberdog··on “The days of using untyped languages on non-trivial projects are over.”
> Instead of worrying about types, why not worry about the actual code quality?

I'd argue that a sign of good code quality is using types even in languages and contexts where you don't have to.

PHP is technically still a duck-typed language, but the community has embraced its relatively new strict typing features with open arms and the PHP ecosystem is all the much better for it.

Cyberdog··on Perl first commit: a “replacement” for Awk and sed
As I said above, there are dozens if not hundreds of substitutes for Perl (as a general-purpose scripting language) now.
Cyberdog··on Learn electronics by practice
I agree that learning with an Arduino/Pi Pico is personally more fun and gets you to the stage of making something practical, or at least interesting, much more quickly. That said, doing things fully at the resistor and diode level still has its place, since someone has to understand stuff well enough at that level to design the Arduinos and Picos that the rest of us play with.
Cyberdog··on Perl first commit: a “replacement” for Awk and sed
I don't think comparing Perl to SQL quite works. There are currently plenty of other widely-used scripting languages that can do the same sort of thing that Perl does (if we consider it in the context of a general purpose scripting language rather than a sed/awk alternative), but the usage of SQL alternatives for querying relational databases is a rounding error.
Cyberdog··on When an app asks for permissions, it should have a “feed fake data” option
> Or how Apple is being a gigantic bunch of assholes by not using something other than vanilla SMS if you're not an iMessage user.

What alternative would you suggest? And is that alternative as universal as SMS?

Cyberdog··on The Horror Game of the Year Is a Doom II Mod
As mentioned elsewhere in the thread, you can download the Windows offline installer from GOG, then use innoextract to extract the desired files: https://constexpr.org/innoextract/

A Mac GUI version of innoextract can be found here: https://macsourceports.com/utilities

Aside from Doom engine games, this also works for Build engine (Duke Nukem 3D), idTech games, and countless others. Very useful tool for being able to play these games legitimately with a modern engine.

Cyberdog··on The Horror Game of the Year Is a Doom II Mod
It’s more unnerving than outright scary. I wouldn’t call it a horror game.
Cyberdog··on A FactoryFactoryFactory in Production (2017)
When I got my IT degree (after being full-time in the industry for over a decade), I had to do some projects in Java, and… it was fine. It was pretty much the same stuff I had learned to do in Obj-C and Swift and PHP with just different syntax to varying degrees. In the end I was like, "this is it? What's there to hate here?" I assume it has to do with the cruft that comes from its age) but from the little I've seen of C++, it had the same sort of cruft) and just its association with enterprisey corporate environments.

That being said, for those that have drunk deeply of the functional Kool-Aid, I guess they're going to have an aversion to anything as strongly OOP-oriented as Java is. And I certainly have my own choices of tech I'd rather avoid wherever I end up going in my career, like JavaScript outside the browser. So in broad strokes I understand the "I feel disgusted coding in X" mindset.

Cyberdog··on Tailwind and the Beauty of Ugly Code
"No adoption" is certainly superlative. That existing sites rarely go through top-down redesigns is part of the slow adoption, though. Are there really designers who have been exposed to the idea of semantic design and yet are still making designs with <div> soup instead of <main>, <header>, etc? I would certainly hope not.
Cyberdog··on Tailwind and the Beauty of Ugly Code
Sure. That's not a problem exclusive to CSS, though, and I don't see how it's one fixed by allowing bad coding practices.
Cyberdog··on Tailwind and the Beauty of Ugly Code
How did it fail? Are you speaking just in terms of its slow adoption?
Cyberdog··on Tailwind and the Beauty of Ugly Code
No, that sounds like a tangental problem born of inexperienced developers and/or poor communication.
Cyberdog··on Tailwind and the Beauty of Ugly Code
That may be an issue with inconsistent design elements on your site, then. Simplify, reuse as much as possible, simplify again, repeat.
Cyberdog··on Tailwind and the Beauty of Ugly Code
I guess it depends on what we mean by "arrived." Are the technologies present and can they be used well? I think so. Are they as widely used as they should be? Of course not. Is there room for improvement? Always.
Cyberdog··on Tailwind and the Beauty of Ugly Code
Note that I'm a Tailwind hater.

Tailwind and similar frameworks divorce the concept of a semantic web we as a society have been building towards for decades. It works against the idea that you mark up areas of your code with descriptive labels like "header" and then put the code describing how the header should appear in another easily-editable file, and instead encourages you to use generic style descriptors to describe how the header area of your site should appear in the HTML itself. This is how we built web sites before CSS was widely adopted and, though it was "easier" to do things like `<p color="#999999">` in HTML 3 rather than separate the code from the appearance markup, it was generally considered to be a really bad idea. But Tailwind and the like drag us back in that direction.

Cyberdog··on Tailwind and the Beauty of Ugly Code
It's an either/or because once you start heading down the Tailwind/Bootstrap path, it pulls you out of the habit of using proper classes and such, and now you have fifty pages where some bit of text uses "text-xl" or whatever instead of a proper and descriptive class. You get into the habit of writing HTML with a bunch of styling directives in it, just like we did in the pre-CSS days.
Cyberdog··on Chat with Andreas Kling about Ladybird and developing a browser engine
Well, that's the thing when we're talking about hobbyist FOSS development. There's no bosses and no money involved to get a developer, point them at specifications, and say "implement this top to bottom." Instead you're going to get people implementing the parts important to them and/or fun to implement and/or relatively easy. Can a new browser engine compete with the big boys when it's developed like that? No, but maybe it can get good enough for casual use, and since it was mentioned in another thread here that Kling actually has hired a dev to work on Ladybird/LibWeb, maybe the whole thing's moot anyway and we'll start seeing things like text on an SVG path and other stuff which I imagine is not so fun to implement get done in the near future.
Cyberdog··on Chat with Andreas Kling about Ladybird and developing a browser engine
Mostly stale, yes, thanks in some part to the solidification of the specs that the interview touches on. “Quirks mode” is still a thing to some degree in browser engines, but you’ll get farther than ever adhering to the spec.
Cyberdog··on Ask HN: Any hardware startups here?
What counts as an unnecessary car ride for you? If I'm going to the grocery store and there's someone else to watch my toddler, I don't need to take her with me, but I think the bit of stimulation of getting out of the house and seeing a new place, new experience, and new people has a benefit that outweighs the almost inconsequential odds of a major car accident as I drive there and back on roads with a speed limit of 35 MPH.
Cyberdog··on Deno 1.35: A fast and convenient way to build web servers
So we would have even more web sites that only work in Chrome?

Your username is "msie." Do you remember what Microsoft Internet Explorer 6 did to the web?

Cyberdog··on Problems of C, and how Zig addresses them
> Or you simply pick it because you like and want to work with it and there is no one to stop you.

Is there a problem with this? If you have a problem to solve and nobody's telling you you have to use certain tools to solve it, why not try a new tool yourself and see if it solves it better than the old ones? I do this whenever I can on client projects and I've found some rather pleasant tools this way.

Cyberdog··on Problems of C, and how Zig addresses them
I'd argue that nowadays a pre-1.0 version number usually means "this doesn't have all the features I want it to have yet" more often than "this is buggy and shouldn't be used in production yet," at least nowadays. I can't speak for Bun but I know Zig has an extensive test and timing suite to help avoid bugs or significant slow-downs making it into new releases.

As for who's using Bun in production, I don't know. But it's been around for a while and seems to have decent buzz around it in the JS community when observed from a safe distance (the proper way to observe the JS community), so I assume someone is. Take that for what it's worth.

Cyberdog··on Companies must stop using Google Analytics
Wait… People are actually using ChatGPT to write production code? That's not just a meme?
Cyberdog··on Problems of C, and how Zig addresses them
I can't answer you why Zig keeps showing up on HN (except for the surface-level answer that people keep submitting and upvoting it) but in terms of not being used in production, the Bun project, a Node/Deno alternative, is seeing a good deal of momentum by the people who like JavaScript a bit too much. It's probably the most widely used Zig project so far, including in production.

https://bun.sh

Cyberdog··on JavaScript Gom Jabbar
Why would the project have hundreds of JS files? Usually I might have something like main.js which handles universal page elements like the search bar in a site-wide navbar, then, if necessary, a few this-specific-page.js files which handles elements which are specific to this page or site section. If any libraries are needed, try first to just link them in using CDNJS or the like, so no need to store them locally or bundle them in our own scripts - I know there are downsides to relying on external CDNs for such things but in practice it just works. Easy peasy.

But first, I try to avoid using JavaScript in the first place when not strictly necessary. This means server-side rendering as much as possible rather than doing the glacial "load an almost entirely blank page, load giant JS blobs, then load the page content via AJAX and hope that nothing goes wrong in that process, sorry slow connection users, non-standard browser users, and search engine bots" approach which thankfully is finally starting to see some pushback.

Cyberdog··on JavaScript Gom Jabbar
I’ve been writing JS my entire career and never wrote a package.json file. I’m not sure what tool would even use it.

But then again, I’m a happy, sane person who only writes client-side JS.

Cyberdog··on Apple Vision Pro: Apple’s first spatial computer
Found the non-parent in the thread.
Cyberdog··on Brave Browser introduces vertical tabs
OmniWeb was great! I think Opera still did it first, though.

I moved on to Safari after it died, but I missed vertical tabs dearly and still do. Hopefully this idea catches on well enough for the Safari team to finally steal it.

Cyberdog··on The Demon Core and the Strange Death of Louis Slotin (2016)
Well, if we want to put it that way, all deaths are death by physics, aren't they? Including murder.
Cyberdog··on Certified 100% AI-free organic content
> But I think even finding out is a long way away. The main thing that ChatGPT has nailed is glibness. It produces text that sounds authoritative, whether or not it's correct. And it's often incorrect.

Perfect example I found a while back: If you know Chinese or Japanese, ask ChatGPT for the stroke order of a certain character and watch how confidently it tells you how to draw a nonsensical scribble.

Even when you ask it for the stroke order of 一, it will tell you to draw a vertical line!

← PreviousPage 6 of 34Next →