There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

@firelizzard@programming.dev avatar

firelizzard

@[email protected]

Principal Engineer for Accumulate

This profile is from a federated server and may be incomplete. Browse more on the original instance.

firelizzard ,
@firelizzard@programming.dev avatar

Sure. But in a sane language doing something totally nonsensical like that is an error, and in a statically typed language it’s a compiler error. It doesn’t just silently do weird shit.

firelizzard ,
@firelizzard@programming.dev avatar

If I designed the schema it is most certainly going to be structured. Unstructured databases are awful.

firelizzard ,
@firelizzard@programming.dev avatar

I used GitLab’s version of Copilot when it was free and that was net helpful. It predicted for loops and stuff and was close enough, enough of the time that it was net positive. Not enough that I’d actually pay for it…

firelizzard ,
@firelizzard@programming.dev avatar

Of course, but OOP is typically about putting methods on classes, inheritance of behaviour etc.

You’re referring to one subtype of OOP. That may be what most people mean when they say OOP, but that doesn’t make it correct. Object-oriented programming is programming with objects, which does not require inheritance or classes.

firelizzard ,
@firelizzard@programming.dev avatar

So you’re arguing that “Object oriented” shouldn’t apply to languages that are oriented around objects?

firelizzard ,
@firelizzard@programming.dev avatar

It’s hard to distinguish whether a line is wrongly indented or not.

That’s very much not my experience. I use YAML regularly and while I’ve had copy paste indentation errors when I look at the offending line it’s always obvious to me how to fix the indentation. The only indentation thing that’s ever given me trouble is embedding YAML as a string within a file that uses tabs.

firelizzard ,
@firelizzard@programming.dev avatar

As someone whose first language was C, I plan to never use C++ for anything more than programming an Arduino precisely because of the multitude of pointer types. A pointer should just be a pointer. Having five hundred different flavors of pointers is confusing as fuck.

firelizzard ,
@firelizzard@programming.dev avatar

Ananace and the article they linked are using their dislike of Go to conclude that it’s a bad language*. It is not a bad language. Every language has hidden complexity and foot guns. They don’t like Go. Maybe you won’t like Go. That’s ok. But that doesn’t make Go a bad language. The language designers are very opinionated and you might dislike them and their decisions.

I haven’t used Rust but from what I’ve seen, it’s a lot less readable than Go. And the only thing more important than readability is whether or not the code does what it’s supposed to do. For that reason I doubt I’ll ever use Rust outside of specific circumstances.

*I’m using “a bad language” as shorthand for “a language you shouldn’t use”. Maybe they don’t think it’s bad but amounts to the same thing.

firelizzard ,
@firelizzard@programming.dev avatar

so you have to catch all exceptions then do extra work to tell what the specific situation is

That’s horrifying. That’s a solid reason to avoid Python like the plague.

firelizzard ,
@firelizzard@programming.dev avatar

I’ve done a little bit of Python in the past, the biggest thing being an automation task that borderline became an app. I certainly can imagine using it for scripts, though I default to bash because that’s almost always available but TBH mostly because inertia. Beyond that my default is Go because inertia (and I love Go). I watched a video by the Primeagen (on YT) - in his view, Rust is better for text/data pipelines and CLI tools. Being very familiar with Go and not at all familiar with Rust, that’s an interesting take because honestly writing a CLI in Go is kind of meh.

firelizzard ,
@firelizzard@programming.dev avatar

I think it’s a joke about the song being copyrighted

firelizzard ,
@firelizzard@programming.dev avatar

For references within a scope, you’re probably right. For references that cross scope boundaries (i.e. function parameters), they necessarily must consume memory (or a register). Passing a parameter to a function call consumes memory or a register by definition. If a function call is inlined, that means its instructions are copy-pasted to the call location so there’s no actual call in the compiled code.

firelizzard ,
@firelizzard@programming.dev avatar

“Feeding garbage to OCR” is a really boring way of generating text. I was assuming it would be something more interesting, like creating a symbolic representation of the splatters and generating text from that. Using OCR is basically piping /dev/urandom to perl and seeing what happens. The fact that they’re valid perl programs is worth a laugh but the generation method is totally uninteresting.

firelizzard ,
@firelizzard@programming.dev avatar

The whole point is that random character sequences are often valid Perl

When I read the headline I also assumed “valid Perl program” meant it did something interesting. I was expecting to read an article about an interesting image to text conversion process that produced non-trivial Perl programs.

firelizzard ,
@firelizzard@programming.dev avatar

Making good UX is fucking hard. I say UX because making it good is really about the user’s experience, not graphic design. An ugly front end can be good if it’s intuitive and easy to use. But a visually gorgeous front end will still be garbage if it’s clunky and confusing.

It’s really something you have to experience to fully understand. Ultimately it comes down to this: front ends have to deal with people, backends only have to deal with computers. So backends can be cleanly organized and well structured. Applying backend design principles to a front end will get you a CRUD interface - something that’s usable but no one really wants to use.

firelizzard ,
@firelizzard@programming.dev avatar

Better to not have version control!? Dear god I hope I never work on anything with you.

firelizzard ,
@firelizzard@programming.dev avatar

Ah, yeah that makes a lot more sense

firelizzard ,
@firelizzard@programming.dev avatar

Agreed. Even self-reviewing a few days after I wrote the code helps me see mistakes.

firelizzard ,
@firelizzard@programming.dev avatar

After programming in Go for nearly a decade, the idea of going back to needing semicolons brings me pain. Rust seems cool, but semicolons 🤢

firelizzard ,
@firelizzard@programming.dev avatar

The presence of semicolons is not a language killer.

I’m not saying it is. But every time I have to work in a language that requires semicolons I’m constantly forgetting them and constantly reminded of how nice it is to not have to care in Go.

firelizzard ,
@firelizzard@programming.dev avatar

I’ve written programs in C. I’ve written programs in assembly, for x86 and for microcontrollers. I’ve designed digital logic and programmed it into an FPGA. I’ve built digital logic circuits with transistors.

I’ll still take Go over C any day of the week. If I’m doing embedded, I’ll use TinyGo.

firelizzard ,
@firelizzard@programming.dev avatar

Why? I see no reason to go through the hassle of learning yet another language when Go serves my purposes perfectly and I’m happy with it.

firelizzard ,
@firelizzard@programming.dev avatar

I’d rather spend my free time doing something I enjoy

firelizzard ,
@firelizzard@programming.dev avatar

Programming languages are tools. I couldn’t care less about learning a new tool just for the sake of learning. My interest in learning tools is exclusively practical - if they help me do my work better.

I find functional languages interesting, but that’s because I find the underlying theory interesting and worth learning for its own sake, not because I actually care about the specific language it’s written in. Even then these days I’d rather learn about woodworking (which is currently my main hobby) than a programming paradigm I’m probably never going to use.

firefly , to programmerhumor
@firefly@neon.nightbulb.net avatar

Difference Between Nerd and Geek

Has anyone written a scientific treatise on the differences between nerd and geek?

On the one hand, I could instigate endless debate about the finer points of nerds.

On the other hand I could construct nerds with a 3-D meat printer.

@programmerhumor

firelizzard ,
@firelizzard@programming.dev avatar

I think the word you want is minutiae?

firelizzard ,
@firelizzard@programming.dev avatar

I’d stop being awkward if I could but I wouldn’t give up my intense interests. You?

firelizzard ,
@firelizzard@programming.dev avatar

If my IQ was higher than my body weight I’d be the smartest person on the planet…

Edit: I was thinking lbs, that makes a lot more sense in kg.

firelizzard ,
@firelizzard@programming.dev avatar

I’m a cishet white dude so I experience effectively zero discrimination directed at me, but I am on the spectrum.

I guess basically everyone I regularly interact with either is also on the spectrum or has intense interests regardless, or is used to people like that. Though TBF I have learned to not get intense if I’m in public talking to random strangers. But if someone asks me a question like, “how do computers work”, I will answer at great length.

firelizzard ,
@firelizzard@programming.dev avatar

That sounds like a great way to set yourself up for spectacular failures down the road

firelizzard ,
@firelizzard@programming.dev avatar

Objective-C does not enforce method access (e.g. private methods) at the runtime level. If you are sufficiently determined, there are no restrictions on what methods you can call, unlike Java or C# (AFAIK).

firelizzard ,
@firelizzard@programming.dev avatar

I thought there was security code to stop that kind of thing. Granted, it’s been over 10 years since I’ve done anything with Java more than tinkering with Minecraft mods.

firelizzard ,
@firelizzard@programming.dev avatar

The first part of this article is taking about naming, and then heavily implies “CSS/HTML is not a programming language” is equivalent to devaluing front end developers. But that’s not the case, at least not for me.

Front end is hard. It is obnoxiously hard and requires both artistry and technical skill. And it’s critical to the success of anything that has a front end.

But I still say, “CSS/HTML is not a programming language”, because they’re not Turing complete. A programming language is something you can write a program in, without any other languages. It’s a matter of definition, not a matter of valuation. CSS and HTML are difficult and critical to get right but they’re a different kind of thing from programming languages.

firelizzard ,
@firelizzard@programming.dev avatar

To me that ‘meme’ is like someone making an “Eggs aren’t meat” meme. Technically correct, I agree with the factual part of the statement, but the meme is dumb and pointless, like a bad joke. Unless the point is to belittle, in which case the poster deserves to be forced to do front end dev and deal with irrational user complaints until they repent or end up huddled in a corner mumbling incoherently, either or.

It’s like sexism. I don’t have time for that shit. If people were being sexist, bigoted, or belittling frontend devs at my job I’d tell them to get their heads out of their asses, or find a new job and then tell them. Fortunately I currently work with people who don’t suck.

firelizzard ,
@firelizzard@programming.dev avatar

Go is just as easy. Install the compiler, write a file, compile it, get an exe. And a lot less foot-guns.

firelizzard ,
@firelizzard@programming.dev avatar

You don’t have to be a full stack dev for that to happen to you

firelizzard ,
@firelizzard@programming.dev avatar

“I’m capable of not making a fool of myself with UI” does not equate to “I’m a full stack developer”

firelizzard ,
@firelizzard@programming.dev avatar

When it happens? That happened to me a long time ago. I’m still a backend developer. I can create UIs and I can spin up and manage docker CI infrastructure but I sure as hell don’t want to. A properly run company team should have separate professionals for UX, front end, back end, sysadmin, etc. Just because I am capable of doing those things does not mean I should.

firelizzard ,
@firelizzard@programming.dev avatar

I’m in this comment and I don’t like it

firelizzard ,
@firelizzard@programming.dev avatar

Fuck that, I don’t trust executables unless they’re signed, downloaded securely (e.g. HTTPS), and I trust the source I downloaded them from. Anything else might as well be a virus. If I can’t find a signed binary from a trustworthy source, I’m either not using it or I’m going to build it myself (after skimming through the code).

firelizzard ,
@firelizzard@programming.dev avatar

VSCode has tons of features that save a lot of time. Unless Zed manages to get close to feature parity, I don’t see how it can complete from a productivity point of view. VSCode’s UI performance isn’t stellar but it’s not nearly bad enough to counteract the productivity boost I get from its features.

firelizzard ,
@firelizzard@programming.dev avatar

You’re also a programming language design nerd? Like, “Compare the features of language A to those of language B”, or nerding out about the underlying mechanics of things like generic types, virtual method dispatch, and no-stop garbage collection? I thought I was the only one. Well not the only one but it doesn’t seem that popular of a thing to nerd out over.

firelizzard ,
@firelizzard@programming.dev avatar

I’m definitely biased because I love the language, but I think Go is a good place to start. The authors talk about the language design more than I’ve seen for other languages. The Go blog occasionally has posts like that but Russ Cox’s blog is the place to go for the gnarly details. Another good place is the proposals repo, e.g. the generics proposal. I also browse issues on GitHub and look for ones with interesting discussions.

including the syntax, which I know most nerds dismiss as superficial.

Syntax is mostly irrelevant as far as what is possible with a language, but it is a critical aspect of how easy/hard it is to use a language, and most critically how easy/hard it is to read code written in that language. IMO the only thing that’s more important than readability is whether the code works as intended.

firelizzard , (edited )
@firelizzard@programming.dev avatar

I totally agree that it’s really annoying when debugging, but go run literally builds then executes. I think what they should do is add a build flag. So debug builds can pass that flag to get the builder to shut up, and leave it those errors enabled for production builds.

firelizzard ,
@firelizzard@programming.dev avatar

You get used to it. The only time I really notice it these days is when I’m debugging and commenting out code.

firelizzard ,
@firelizzard@programming.dev avatar

*when I’m doing debugging that requires commenting out code.

Most of the time, I don’t comment out code. I run the code in a debugger, step through it, and see how the behavior deviates from what I expect. I mostly only resort to commenting out code if I’m having trouble figuring out where the problem is coming from, which isn’t that often.

firelizzard ,
@firelizzard@programming.dev avatar

Maybe these days. That definitely was not true when I was growing up, or even a decade ago.

firelizzard ,
@firelizzard@programming.dev avatar

Did I find another Sanderfan in the wild?

firelizzard ,
@firelizzard@programming.dev avatar

I agree that it is a very useful skill to know how to use the CLI. I agree that every senior developer should know how and every junior should be capable of learning. I vehemently disagree that developers should use the CLI as their regular means of interacting with Git if that is not their preference.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • lifeLocal
  • goranko
  • All magazines