joegrammer boosted

@raichoo Nah, every hipster can code Rust these days. You're a good old school C programmer, be proud of it.

And programming C without falling into every tarpit on the way is not programming, it's art!

joegrammer boosted

Software as a Service (SaaS)

Software as a Duty (SaaD)

Software as an Offer You Can't Refuse (SaaOYCR)

Software as That Which Eternal Lies and With Strange Eons Even Death May Die (SaTWELaWSEEDMD)

If is the language of the web, the. is the language of... everything! Including JavaScript.

Busy week at the but making some progress this weekend on my macOS Choosy clone for Wayland. Working on text rendering with Pango & Cairo.

joegrammer boosted

HELLvetica. Like helvetica, but with like, much shittier kerning for Halloween.

hellveticafont.com/

joegrammer boosted
joegrammer boosted

Pretty happy with the progress I have made this weekend. You can now try it out by downloading the Flatpak bundle from Gitlab.

Then assign a pointer as a shortcut like `struct Child* child = parent->child;` and assign a bunch of members on `child`. Later when I pass `parent` to a function and access `parent->child` it segfaults because `parent->child` is null. 😒

So the real problem I'm running into right now is that I have a nested struct and a function that get the parent struct. In the function I initialize a child struct (ie. `parent->child = malloc(sizeof(struct Child));`.

Recently learned about the concept of “survivorship bias”. 🤯 I have heard complaints about this in every programming community I’ve been involved in, without knowing the actual term. It’s SO prevalent in our industry I think people think it’s just the way it’s supposed to be. I don’t supposed Evan of fame is on here, but thanks to him for bringing it up and attempting to solve it!

It makes sense that passing a struct has to use a pointer. One point of confusion for me is: do I use pointer to create it initially? What about when I assign it as a member of another struct after the return? Still lots to learn...

Makes it confusing to know when to use a low-level technique vs when to trust the language to do what’s best.

I’m confused about when to use pointers with structs and when not to. As I’m searching for a good tutorial on C pointers I’m realizing that part of what makes C weird is that it’s a low-level language (memory management, no standard library) that tries to be high-level (structs, arrays as abstractions on pointers, functions as abstractions on labels, local vars going out of scope automatically, etc).

At least, that’s my impression after spending a couple weeks researching native desktop GUI development. Might as well just use C.

It feels like while is the ubiquitous language of the web, C is the language of native. And all other languages are just built on the same libraries I’d use in C. And many of them are out-of-date or no longer maintained when compared with their C counterparts.

But after strongly considering and , I settled on because that is where the innovation is happening.

Being a fan of statically typed languages, it’s strange working in the langauge that introduced the problems the others aim to solve.

As an experiment to learn GUI development in C I’m writing a browser chooser app (similar to choosyosx.com) for Linux. I’m making it native.

joegrammer boosted

adding crew requirements and quarters for different kinds of vehicles.

coding with is such a joy,

Show more
Mastodon

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!