I was suspicious as heck of this link, but I thank you for being benign.
I was suspicious as heck of this link, but I thank you for being benign.
My most common typo is gti <random command>
and I’m considering to alias it as rm -rf --no-preserve-root /
name your function as malloc()
and see to world burn and generate bugs at factorial rate.
Lettme introduce you to ackermann’s function:
int ack(int m, int n) {
if (m == 0) {
return n+1;
} else if((m > 0) && (n == 0)){
return ack(m-1, 1);
} else if((m > 0) && (n > 0)) {
return ack(m-1, ack(m, n-1));
}
}
You won’t run out of stackoverflows any time soon.
std::chrono::neutronstar_clock
To produce 1 commit, I end up rebasing the damm thing at least 3 times. If there is an problem, it’s at least 2³ times.
volatile int blackhole;
blackhole = 1;
const int X = blackhole;
const int Y = blackhole;
Compiler is forbidden to assume that X == 1
would be true. It’s also forbidden to assume that X == Y
. const
just means the address and/or the data at the address is read only. const volatile int* const hwreg;
-> “read only volatile value at read only address hwreg”. Compiler can assume the hwreg
address won’t magically change, but can’t assume the value read from that address won’t.
Please, no, I get flashbacks from my 6-month journey (still ongoing…) of the code review process I caused/did. Keeping PR scope contained and small is hard.
From this experience, I wish GitLab had a “Draft of Draft” to tell the reviewer what the quality of the pushed code is at: “NAK”, “It maybe compiles”, “The logic is broken” and “Missing 50% of the code”, “This should be split into N PRs”. This would allow openly co-develop, discuss, and steer the design, before moving to nitpicking on the naming, formatting, and/or documentation details of the code, which is likely to drastically change. Drafts do work for this, but the discussions can get uncomfortably long and convolute the actual finishing of the review process.
Once both reviewer(s) and the author agree on the code design, the “DraftDraft” could be collapsed into a link in an normal Draft to be mocked next. The scope of such draft would be limited by the earlier “DraftDraft”.
Holy cow.
And you have bootstrapped an B compiler on that?
The day I configured git
to use Geany for commit messages with a separate config specifically tuned for this, it improved my life by 300%
~$ cat ~/bin/gitedit
#!/bin/sh
exec /usr/bin/geany -i -s -t -c ~/.config/gitgeany $@
Then in git config: git config --global core.editor "gitedit"
gdb> break before it crashes
gdb> record full
gdb> continue
(segfault)
gdb> set exec-direction reverse
Bugs that have existed for +3 years in a component and are nearly immediately visible to the end user. Oldest source line I touched was from before 2010.
It’s a FOSS project, so wish me luck, as you can now get it in the mail eventually.
I had to run a makepkg today, which now includes my self-written pieces of code in master. So I’m eating my own dog food now, and it’s good. Also, the itch from before has somehow relieved.
Reaper of the VMAs.
It happened to me when I was configuring IP geoblocking: Only whitelist IP ranges are allowed. That was fetched from a trusted URL. If the DNS provider just happened to not be on that list, the whitelist would become empty, blocking all IPs. Literally 100% proof firewall; not even a ping gets a pass.
Technical debt means how much work it takes to update legacy solution to a modern solution. E.g. each time a new C++ standard is used, all code written with the old standard should be checked. The work time needed to do this is paying up the technical dept.
Now, if you are lazy, and didn’t clean up the code, used the easy and sloppy solution, next time you have twice the work to be done. So the dept gets worse, if you do nothing.
I touched a piece code that was +10 years old, according to git. Should I be scared? Will my change it survive??
Me:
C++: you sure you want to do this? This will either: a) blow your foot off b) be too fast to be measured in micro-benchmarks.
b. B. B. a. then B.
You have chosen to simultaneously blow your arm off and be the fastest code thing on the planet. Congrats. Yes.