Hauling The Kraken Out Of The Sea
It's official - this week, 25% of all run-make
tests are now successfully ported. Not exactly the most robust metric, considering certain tests are trivial and completed with a flick of the hand, while others make use of dark arcane secrets beyond the comprehension of any soul wishing to keep its sanity intact.
It's really satisfying how all I must do to search for new tests is searching "Makefile" in my text editor - as these run-make
tests really are the last remaining traces of this cursed file format.
The infection might be beyond saving at my internship workplace (it is a tentacular, multi-decade-old C++ giga-codebase with tons of dependencies scattered across directories with cp
commands in Makefiles to move them across the place). Basically the technological rendition of an ancient kraken with its circulatory system made out of cursed Bash syntax.
But, at least, the One True Programming Language is on a rightful path of healing.
Merged this week
Previously Open
- pgo-branch-weights - I found a rather glaring mistake where the
input
andoutput
functions had their function bodies swapped. However, after fixing this, there is still a test failure onaarch64
... with no error message beyond "has been running for too long". Fun. Did I... put some infinite loop somewhere?? - emit, mixing-formats, bare-outfile - Windows OS thinks it can be a special snowflake and have its own file permission rules. A fix was pushed by courtesy of my mentor, which should patch this pesky test once and for all.
- link-arg, link-dedup, no-panic-blank-output - frozen down by the fact that they need to be converted to UI tests with
.stderr
files, but I haven't managed yet to print the exact error message that should be received. Not that I spent much time on this one.
Newly Open
- symlinked-extern, symlinked-rlib, symlinked-library - was approved, then failed the basic CI over 10 times. The current error mentions something about being incapable of finding an external crate.
- suspicious-library, resolve-rename, incr-prev-body-beyond-eof - was in the merge queue, then failed the
armhf-gnu
test for an obscure reason linked to a object file "not in the right format". - Helper functions for
tmp_dir().join()
and filesystem operations - simply needs a couple patches to pass the CI. - Implementation of
nm
utility and bin-emit-no-symbols test - I tried my hand at making something with the Goblin crate, which is not currently allow-listed in the Rust repository. I will likely need to try an implementation based on the object crate instead.
Working a very "traditional" software engineering programming (I can't call myself an engineer, it's a legally protected title in my country) in conjunction with the Google Summer of Code is making me realize a really relevant dichotomy - the concept of who imposes the working schedule.
There is a huge appeal when it comes to choosing one's own schedule. I am given a contract with an expected result, and I just need to go for it, when it seems most right, sprinting intensely one day and taking the next one off. I don't need to carefully log in a virtual notebook how many hours it will take, how many I have used up, and be accountable for what I did day to day (only on a weekly basis).
I know there is a canyon of difference between these two worlds, but I feel really trusted with this latter system. The rigid, 9-to-5 planning stucture feels less like organization and more like supervision after this one-month compare-and-contrast endeavour.
That trust, I find, makes the work so much more enjoyable, because it makes me feel confident that I really can do this. I would be getting caged down much more if there were doubts!
It's a really great thing to realize now, because I am learning what I want - and what I do not want - from the years of life to come in my path.
Having these two commitments at the same time is tough, but I'd take the same decision all over again, as the juxtaposition truly is enlightening. My GSoC project has been extended to 18 weeks, so I can focus on keeping the medium and steady pace I have cultivated so far, and still enjoy the wonderful spring and summer days outside. c: