@galdor@emacs.ch
@galdor@emacs.ch avatar

galdor

@galdor@emacs.ch

Contrarian software engineer. Hire me to solve your technical problems.

$argon2id$v=19$m=64,t=512,p=2$0rwNagYG9nw58bd3D5HBfw$ZDMVWlX+adPhtQKcnrqI5A

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

galdor, to random
@galdor@emacs.ch avatar

If you're trying to sell me on a programming language which uses "+" for string concatenation, you've lost. You should not have to ask why.

galdor, to random
@galdor@emacs.ch avatar

Software engineering is about precision. If you are using the term "IP" as a substitute for "IP address", you either do not know what it means or you don't care. It is a very good litmus test for skills and attention to details.

rml, to random
@rml@functional.cafe avatar

"I tried , and something I noticed was that for any simple function, takes a moment to compile, which isn't acceptable for a "

Is this really the case?? Doesn't sound right at all.

and both feel faster than , for example.

https://www.youtube.com/watch?v=dCbTw9UOuS8

galdor,
@galdor@emacs.ch avatar

@rml @nilmethod

Shameless self promotion: https://www.n16f.net/blog/counting-lines-with-common-lisp/

See the "Finding files" section. TLDR you need a "wild" pathname, and there are a few non-obvious tricks.

If I were to build anything serious in CL right now, one of the first things I would do is to bypass pathnames entirely and write a proper filesystem API.

galdor, to random
@galdor@emacs.ch avatar

Is there an Emacs package providing a visual, interactive client for PostgreSQL? Would be nice to have full introspection, table display, query saving, etc.

strypey, to internet
@strypey@mastodon.nzoss.nz avatar

"But social media also exposes movements to many vulnerabilities. The solidiarities it generates are often superficial: movement use of social media can easily devolve into repetitive messaging in echo chambers without collective gains in narrative power—a change in the stories and values that hold sway in society—or a translation to real-world militancy."

#ToddWolfson, #MalavKanuga, 2022

https://logicmag.io/pivot/when-we-were-the-media/

#SocialMedia #SocialMovements #indymedia

galdor,
@galdor@emacs.ch avatar

@screwtape @strypey @mjgardner

> Hmm @galdor did you ever consider a cooperative, such as a platform cooperative?

I'd love to see an alternate way to build software, especially if it could allow the creation of quality software without the pressure of short term profit. But I have no idea on how to build a sustainable model out of the traditional way (i.e. a company).

> It seems to be a generic term for a platform software that prioritises providing the service it is intended to provide over monetisation, but there's still monetisation.

At the end of the day, you need money to build anything, and people working on it need money to live. The Open Source world is comfortable pushing for "contributions", also known as "free labour", but it is not sustainable. It's no surprise so many big tech companies love to pretend they support Open Source software (i.e. they do the minimum to profit from this free labour).

An interesting system is one where individual developers sell support and custom development on Open Source software, Sidekiq being maybe the best example.

I have no idea how to make it work with an entire team without a traditional company though.

galdor,
@galdor@emacs.ch avatar

@mjgardner @screwtape @strypey

Mark, your approach is exactly what I'm leaning towards.

Funny thing is that at an individual level, optimizing for money is how you get to a point where you can afford the time to build Open Source software the way you want to.

galdor, to random
@galdor@emacs.ch avatar

The reason you want to cut code lines at 80 columns is not to blindly respect an old tradition, it is to improve readability. This is a well known fact in typography. Being able to have three columns in your text editor is a bonus.

galdor,
@galdor@emacs.ch avatar

@rml @veer66 Obviously my point is that you cut lines short because it makes code easier to read. The original reason is irrelevant.

Also, congratulations on the fastest Godwin point I ever saw on the Internet.

galdor,
@galdor@emacs.ch avatar

@rml @veer66 The 80 column thing comes from IBM in 1928 and has nothing to do with Hitler or any ideology.

And again, I never said 80 column was about typography. But keeping lines short is about it.

galdor, to random
@galdor@emacs.ch avatar

Gnus often asks how many messages to fetch. Annoying. If your connection is fast enough to fetch lots of messages, you can disable these prompts:

(setq gnus-large-newsgroup nil)
(setq gnus-large-ephemeral-newsgroup nil)

The first line is for groups (i.e. IMAP folders), the second for ephemeral groups (e.g. search results).

galdor,
@galdor@emacs.ch avatar

@rml I find the lag tolerable, but I imagine it depends on the IMAP servers you are connecting to.

galdor,
@galdor@emacs.ch avatar

@rml To each its own, of course, but why would you let Gnus run automatically? I run it when I want to read my emails, why would I want to be interrupted?

I could get convinced to keep Gnus but switch to a nnmaildir backend and synchronize the directory with mbsync. I haven't found the time to test it yet.

galdor, to random
@galdor@emacs.ch avatar

How to scale your server software, TLDR version:

  1. Start with a monolith and one tiny server until you have actual paying clients. Then upgrade to two tiny app servers (load balancing or failover depending on the app) and a database server if needed.

  2. Update to faster servers. Repeat until there's nothing faster on the market.

  3. Rent another server. Repeat until your CFO is looking at you funny.

  4. Pay someone experienced to tell you how inefficient your software is. Fix it and go back to step 2.

The astute reader will notice that none of that includes Kubernetes, Kafka, gRPC, autoscaling, nosql, microservices… You are welcome.

Feel free to contact me for part 3.

civodul, to random
@civodul@toot.aquilenet.fr avatar

✨ New! ✨ The 🐑 now keeps track of what happens and when.

galdor,
@galdor@emacs.ch avatar

@civodul Naïve question from someone who does not know anything about Shepherd. What do you gain compared to Systemd?

I'm aware of the controversy around Systemd (or more precisely around the way it was forced into most Linux distributions), but at the end of the day it does the job.

galdor, to random
@galdor@emacs.ch avatar

The Golang compiler ignoring invalid format strings even though "go vet" is perfectly able to detect them is infuriating. A compiler not reporting a clearly invalid construct is defective, there is no excuse.

And don't get me started on "%v" vs "%w".

galdor,
@galdor@emacs.ch avatar

@louis Of course not. I have been using it for years, and it works.

But part of being experienced with something is that you feel the pain of every little design error.

galdor, to random
@galdor@emacs.ch avatar

Daily standups and biweekly cycles are the embodiment of the assembly line mentality. They are based on the belief that you must slice and dice development into fixed parts and micro manage "human resources" at each step. Of course it does not solve anything.

galdor,
@galdor@emacs.ch avatar

@gausby I had two managers in two different companies tell me that daily standups were not for developers, they were for them to be up-to-date with what was happening. They seemed oblivious to the fact that knowing what their team is doing without micro managing them was precisely their job.

It is just micro management, nothing new.

The boasting part is expected: if you're forcing me into useless meetings where everyone is going to listen to me, of course I'm going to make myself look good. Since I'm going to be evaluated on it anyway…

galdor,
@galdor@emacs.ch avatar

@michael @gausby Daily updates via team chat are way better (at least because they are async), but still highly infantilizing. I had more autonomy as an intern.

I'm curious about this way to "signal they are blocked in their work". Surely grown ups are able to communicate without having precise slots allocated for this purpose. Unless of course you're actively hiring 12 years old employees ;)

galdor,
@galdor@emacs.ch avatar

@michael @gausby

Pretty much no one need to be up-to-date with what everyone else is doing daily, this is a huge amount of irrelevant information.

Working as part of a team has nothing to do with this level of micro control, but clearly I'm not going to convince you :)

Ultimately managers love this warm fuzzy feeling of having everyone reporting to them as often as possible. But feeling like you are on top of thing and actually being on top of things are two very different things.

galdor,
@galdor@emacs.ch avatar

@michael @gausby I'd give you that: if it works for you and your team is genuinely happy with it, then there is no problem.

galdor, to random
@galdor@emacs.ch avatar

Why would anyone be surprised by what the Rust Foundation is doing? Just look at who the sponsors are, it is that simple. These kinds of organizations are heavily influenced by big tech companies who want control on a valuable ecosystem (free labour).

galdor, to random
@galdor@emacs.ch avatar

Everytime someone talks about creating a foundation to help a programming language or software, this is what I see.

galdor, to random
@galdor@emacs.ch avatar

I'm available from contract work. Engage my services to write custom software (C/Go/Common Lisp/Erlang), design infrastructures, audit existing work.

PM or email me, I'm always interested by technical challenges.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • provamag3
  • thenastyranch
  • magazineikmin
  • InstantRegret
  • GTA5RPClips
  • ethstaker
  • Youngstown
  • everett
  • slotface
  • osvaldo12
  • rosin
  • mdbf
  • kavyap
  • DreamBathrooms
  • megavids
  • ngwrru68w68
  • Durango
  • modclub
  • cubers
  • khanakhh
  • Leos
  • tacticalgear
  • cisconetworking
  • vwfavf
  • tester
  • anitta
  • normalnudes
  • JUstTest
  • All magazines