@firelizzard@programming.dev avatar

firelizzard

@firelizzard@programming.dev

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

“Flagged as spam”, “Publication Not Available”. I can’t see the article.

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

To me this is an argument for why Go should not add type inference to function/method declarations. Go is like Rust (I guess, I haven’t used Rust) - type inference works for declaring a variable (or const) and generic type parameters but not for type declarations, methods, functions, etc. I was in the “more inference is always better” camp but now I’m thinking Go has the perfect level of inference. Except for function literals/lambdas. I really want go to infer the argument and return types when I’m passing a function literal/lambda to a function.

firelizzard,
@firelizzard@programming.dev avatar
  • Scenario: I’m in the middle of writing a new feature.
  • Boss, to me: "Shit broke. Go figure it out."
  • Me, thinking: I’m in the middle of doing some complex work. If I commit/stash and close the open files, it will take a day for me to remember WTF I was doing.
  • Me: “Oh look, worktrees! I can leave my workspace intact with all the files open, pending changes, test results, terminal output, everything! And just create a new worktree to checkout the production version and debug! I’m saved!”

Also setting up a worktree is really easy. git worktree add …/hotfix prod-branch && cd …/hotfix and get working. Though in reality it’s cd …/hotfix && git checkout prod-branch because I’ve never needed more than one secondary worktree.

firelizzard,
@firelizzard@programming.dev avatar

Additionally, switch performs extra sanity checks that checkout doesn’t, for example switch would abort operation if it would lead to loss of local changes.

What checks? Under what situation does checkout lead to loss of changes? If I make changes and attempt to checkout a ref that would overwrite them, I get the following error:


<span style="color:#323232;">error: Your local changes to the following files would be overwritten by checkout:
</span><span style="color:#323232;">        some/file
</span><span style="color:#323232;">Please commit your changes or stash them before you switch branches.
</span><span style="color:#323232;">Aborting
</span>

To my knowledge it’s not possible to overwrite changes when switching branches/refs (git checkout <ref> without any other arguments or flags) so I guess what the author really means is, “If you use checkout incorrectly you can overwrite local changes.” As far as I can recall I’ve never accidentally git checkout <ref> <some/file> so I don’t see a reason to retrain my muscle memory. I do use git restore since it’s behavior is a lot more obvious than checkout/reset though sometimes I still use git checkout <ref> – <some/file> because muscle memory.

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

firefly, (edited ) 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

Who uses struct tags for comments? I’ve never used or seen them used as anything except annotations as in tag:“value”. And linters (go vet?) will tell you if you’re formatting them wrong.

firelizzard,
@firelizzard@programming.dev avatar

You are correct, Go doesn’t have enums. The const thing is a widely accepted pattern for approximating enums.

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

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

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

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
  • provamag3
  • kavyap
  • tacticalgear
  • mdbf
  • Backrooms
  • DreamBathrooms
  • magazineikmin
  • cubers
  • Youngstown
  • slotface
  • Durango
  • InstantRegret
  • everett
  • rosin
  • normalnudes
  • ngwrru68w68
  • GTA5RPClips
  • osvaldo12
  • thenastyranch
  • cisconetworking
  • modclub
  • khanakhh
  • hgfsjryuu7
  • tester
  • ethstaker
  • Leos
  • anitta
  • JUstTest
  • All magazines