4 ms·
Oof. As someone who has never participated, every time a post like this shows up I'm reminded of how weird the twitterverse is. Such a microcosm of weirdness, t
by earthscienceman 5y ago
Oof. As someone who has never participated, every time a post like this shows up I'm reminded of how weird the twitterverse is. Such a microcosm of weirdness, the handles, the academic references (I don't care if you went to MIT for undergrad), the ego jockeying, the shared language of "almost-memes" like 'not all heroes wear capes', 'this is why we can't have nice things', and 'this is what peak performance is' etc et al. And tech bros navigate it as a game of sorts trying to embody some online peak performance version of themselves to signal "yes I'm part of the tech master race".
But! External cultural tear downs aside, I'd like to show some internal cultural self awareness:
Being mostly an academic but having done stints 'in industry' or collaborating with 'real' coders I can say without a doubt that all the jankiest tech lives, and thrives, in academia. Scripts that were written by some professor with no coding background in the early 90s continuing to output data for analysis today. Entire mega projects written by single-minded individuals trying to be the academic version of a 10x developer but they're creating 100x spaghetti code (I'm looking at you RHIC/CERN). Single matlab scripts that are 10s of thousands of lines long that take voltages and currents and output a number with an "uncertainty" that nobody has really ever bothered to externally validate or quality control besides the grad student who never finished his thesis 10 years ago (from an optics lab I worked in).
The list goes on and on. Hilariously, the most beautiful pieces of tech/code I've ever seen have also been in academia that will never see the light of day. There was this ~1000 line piece of OO code that ran a Kalman filter in near-real time on the all of the particles produced in Gold-Gold atom collisions (and simulations!) at RHIC that was probably the most elegant piece of work I've ever seen, written by a coffee chugging burnt out grad student that sat alone in the corner day in and day out.
- bettysdiagnose 5y agoSpeaking of BNL/CERN, there is the code SixTrack which is/was used for both RHIC and LHC for collimation studies and long-term tracking. That's the worst I've ever seen. There were a few files of "normal" length but the main sixtrack source file was fifty-five thousand lines long and featured a custom-written preprocessor's directives throughout (since Fortran has no preprocessor, or for some other erason) that allowed different features to be enabled at compile time. And this was used to design the LHC collimation system and to check the machine's dynamic aperture. I should also add that this is recent/still the case. P.S. agreed about Twitter, I always wonder what these people are like in real life.
- earthscienceman 5y agoI imagined some people would crop up with experience at RHIC/CERN. I never touched the SixTrack code directly but I've heard legend. The compile time features was a constant on all the projects I touched there and was such a hilarious relic. "The code is flexible! Just know these completely undocumented flags or spend months grokking the dense/obtuse/scattered source files and you can make the code do anything you want, all these hard coded constants will change". As ugly as things like SixTrack were, I vaguely trust them just because there were usually a lot of eyes on them... even if they were hideous. The more obscure chunks of code that were somewhere in the analysis chain were the ones that really terrified me. I worked on a lot of the code for simulating detector upgrades (I won't get more specific than that) and that was a terrifying place. Designing entire multi-billion dollar detectors systems based on hundreds of different pieces of code and output data that were glued together with no over-arching design or integration. The code 'review' usually came down to "that output looks good"... or not... Related to this, I now work in the atmospheric sciences, and a completely-unrelated-but-oddly-similar problem exists in the various modeling communities. So many fragmented pieces of code glued together and untouched or touched with no real computing oversight. So many wasted computing cycles. So many failure points.
- ethbr0 5y agoRHIC/CERN seems like the perfect storm of incredibly intelligent and motivated people, coupled with time pressures and a lack of software development knowledge. Add in the fact that their "business" logic requires a PhD, and you've got an extremely limited subset of software developers who even could work on the code. Most places, you'd figure people just wouldn't be smart enough to Rube Goldberg their way into a functional program. But someone who does high energy physics as their primary job is assuredly capable of torture a compiler as thoroughly as they want. F.ex. look at the issues: https://github.com/SixTrack/SixTrack/issues https://github.com/SixTrack/SixTrack/issues > remove gamma_e from calculation of kick by elens. the gamma_e factor comes from moving from the electron frame to the lab frame. It is actually compensated by the lorentz transformation applied to the electron current density You know you're in for fun when the docs start with "SixTrack is wonderful, but it is bloody complicated." https://twiki.cern.ch/twiki/bin/view/LHCAtHome/SixTrackDoc https://twiki.cern.ch/twiki/bin/view/LHCAtHome/SixTrackDoc
- mellavora 5y agoGod, you are making me miss my academic days. Our department's sysadmin was the real hero. He kept people's software running for years after they left the department. We were involved in some global-level public health data, so this wasn't trivial use-cases.
- earthscienceman 5y agoOoooooooooooooooooo. The health research sphere is something I've always wondered about. I imagine in some ways it could be the absolute worst, being a terrifying nexus of privacy, academic, and health concerns.
- hemloc_io 5y agoHa! I know a current coffee jugging grad student who is in a similar position. They have some survey software in a game engine which was written by a previous grad student. They re implemented textboxes using a bunch of key capture commands and if statements, in one giant file with almost no functions. Another program he showed me cleans survey data from excel and is one giant script. I pray for him every day.
- piva00 5y agoComing from the other side, as a professional SWE that helps my friends in academia with reviewing/debugging their code sometimes... You're absolutely right, some of the most mindfucking code I've seen was from academia. Some are pretty decent and elegant but mostly it's a janky mess of FORTRAN libraries being called in weird ways, code that isn't written at all to be read later on, etc.