Pinned toot

1. Reinvent a square wheel
2. Understand what's so hard about making wheels
3. Observe how a round wheel someone invented a while ago performs better than your square one.
4. Appreciate the brilliant and simple solutions to all wheel design issues that a round wheel implements.
5. Throw away your square wheel.

1. Reinvent a square wheel
2. Push it to production

Pinned toot

The purpose of an open-source project is making source code.

Finally home, after trail round of this algo contest thing.

All went well, we got the computers prepared way ahead of time, judging backend worked well too.
Surprisingly, no last-minute fixes were necessary.

So why am I so tired?

Wolf480pl boosted

A philosophy of project governance

Been sitting on this for a bit, finally cleaned it up into a publishable state

Wolf480pl boosted
Wolf480pl boosted

So, SourceHut is not hosted in anyone's cloud. I own all of the hardware outright and colocate most of it in a local datacenter.

I just built a new server for, and boy is she a beat. It cost me about $5.5K as a one-time upfront cost, and now I just pay for power, bandwidth, and space, which runs about $650/mo for *all* of my servers (10+).

Ran back of the napkin numbers with AWS's price estimator for a server of equivalent specs, and without even considering bandwidth usage it'd cost me almost TEN GRAND PER MONTH to host JUST that server alone on AWS.

AWS is how techbro startups pile up and BURN their investor money.

I should sleep but I want to code...

This thing needs to be finished tomorrow by 15 o'clock and it was going great, just a few more things to do... I figured out it'll be better to do it in the morning, but how do I fall asleep....

Reimplementing each of those things on its own is IMO teaches you a lot and is a useful experience.

And if everyone had that experience, I think it'd help our field a lot.

But is there enough time in life for one person to reimplement all those things?

I wonder how infeasible it'd be to have "reimplement a simplified toy version of the whole tech stack, from CPU to compiler to IRC and bittorrent" as a requirement to have the title of an IT professional.

Random idea (possibly stupid):

Go back in time to 2000 and make "implementing web browsers from scratch" an elective course on as many universities as possible.

Did you know, that on Debian,
if one of the scripts in /etc/X11/Xsession.d wraps ssh-agent around your DE-launching commandline (so that Xsession launches ssh-agent which then launches startxfce or whatever)...

...then it will revert your stack ulimit to 8192k, no matter what you configured in /etc/security/limits.conf?

Because ssh-agent is setgid.

Which means the kernel will sanitize its environment before it's executed.

This includes setting stack limit to 8192k

And then when ssh-agent launches whatever is given to it as an argument (in this case your desktop environment), these ulimits will stay that way.

Why does debhelper need to be so complicated...

Wolf480pl boosted

Imagine early 2000s, win98 running DOS software written in the 90s. In most of the world, a "database" is a dbf file on a network share.

A relatively big company has a few hundred people using sucg DOS software. Some of them sometimes need to work remotely. Some of them are in the warehouse on the other side of town. And maybe this software is a hassle to install or sth.

So they set up a linux server with a few hundred DOSBox instances, each exposed via VNC on a different port, each running an instance of that DOS program for a different user, all working on the same database on a shared filesystem.

Playing computer games to forget about deadlines has one drawback:

At some point, you stop playing, and remember all the stressful deadlines again. Only now they're closer, and you fall asleep knowing you've done no progress.

Wolf480pl boosted

One approach to learning git is to treat it like a necessary evil, something distracting you from the actual thing you're trying to do - you just want to write your program, god dammit. The better approach acknowledges that git is a tool you're likely to use every day, many times a day, for the next 30 years or more, and investing the next few hours into learning about it.

Wolf480pl boosted

git-via-email workflow tip:

On GitHub, many users will push several commits to their branch to build up one cohesive change gradually, with bug fixes, style fixes, and so on, along the way. In this workflow, the pull request itself acts as a container for the entire change, rather than each commit.

Technically this isn't a great habit for GitHub either, but with email the drawbacks are particularly stark. Trying to replicate this flow for email will have you sending a bunch of "fix typo" commits to a mailing list, entering them all into the record forever. Instead, so long as your original patches are unmerged, you should go back and rebase them to merge bug fixes into earlier commits. Accordingly, you shouldn't take your changes upstream until they're good and ready and tested, as to minimize this churn. Good commit discipline is especially important for email-driven projects.

If you need a refresher on rebasing:

fedi meta 

fedi meta 

Wolf480pl boosted
Those that fail to remember the past are doomed to repeat it, over HTTP

Public posts are public.
As in, anyone can see them, save them for later, scrape them on a mass scale, index them, use them against you, etc.

Wolf480pl boosted
Show more

Welcome to your niu world ! We are a cute and loving international community οΌ―(≧▽≦)οΌ― !