The code was at times almost poetic, but a nightmare to debug.
At least some of this sounds very plausible.
The code was at times almost poetic, but a nightmare to debug.
At least some of this sounds very plausible.
Urn memory urn = urns[i][u];
Ilk memory ilk = ilks[i];
// ilk has been initialised
require(ilk.rate != 0, "Vat/ilk-not-init");
urn.ink = add(urn.ink, dink);
urn.art = add(urn.art, dart);
ilk.Art = add(ilk.Art, dart);
int dtab = mul(ilk.rate, dart);
uint tab = mul(ilk.rate, urn.art);https://etherscan.io/address/0x35d1b3f3d7966a1dfe207aa4514c1...
(kiddng, do whatever you want, but I wouldn't work on that code)
I also knew another hyper smart chap who used to argue passionately for meaningless identifiers - his argument was that you couldn't actually represent anything meaningful about what an identifier was for in a short name so why try? Mind you, he was a MUMPS developer.
So you need to know if some obscure name is the name of a star, galaxy, or a nebula, in order to know if it's a router, firewall, or server.
Still better than naming shit after greek philosophers.
I thought I was being quite daring when the lab where I worked got a load of DEC Alpha workstations and I named them after Martian surface features as I'd just read Red Mars.
But there's still a difference between SET HOST RIVENDELL and naming all your variables after hobbits.
All of my WiFi networks begin with Aardvark (shows up first in the network list) and all of my iOS devices are Aardwolf (shows up after Aardvark when used as a hotspot).
Variable names on the other hand can carry a lot of information, and naming them arbitrarily misses that opportunity for clarity.
"server three" actually does give you information. It's a server. Not a router. Not a firewall. Not a load balancer. Not a desktop. Not a laptop. Not your HSM. Not the telco gear. Etc... etc...
If "well I don't have any of those things", then sure, whatever. If you have three servers, then it doesn't matter.
But then you grow a bit. And now you have 20 servers, and kinda matters that you have a pattern that IS NOT "greek vs roman gods", but maybe "diskfulls" and "CPU-monsters". At a previous company we named these "db<n>" and "quick<n>". And did not reuse numbers, because then we could also infer the hardware generation (lower number means older hardware).
db<n> wasn't even running any relational database. We could have named them "storage<n>", and it wouldn't have made a difference to the fact that the name was incredibly useful.
Sometimes you can save the company your entire year's salary by reducing an outage by the few minutes not making typos or misunderstanding about "is this part of prod or not?". Communication is important, and coming up with the "funniest" name is not so funny when the site is down and you're trying to figure out the problem.
I do get a bit tired of the Everything is Enterprise approach to software. We aren't all trying to scale to the moon, and enterprise tooling has it's own costs.
Your laptop? Barely matters. Won't show up in a traceroute.
However, the internal applications I maintain at my day job have fun, easy to spell names. The servers they go on are prefixed with that name with their function after it. e.g.“snowplow db”. Everyone knows (or learns) that snowplow is the custom UI for the big SNP printers.
I’ve found having a name that’s short and relatively related in some way keeps different departments from coming up with their own shorthand way of referring to the programs.
Sitting logged in to server00831 from laptop firstlastname2016 all days is just soulcrushing.
A traceroute showing herodotus? Magellanic? Jesus fucking christ I can't even spell that into google to find out if it's a router or a firewall. I've worked at places like that and I can't figure out if the other people in the company hate each other, are super elitist (oh, you don't know who herodotus was? Did you even take ancient greek history at your public school?), or are some sort of double agent productivity saboteur.
I find it extremely disrespectful to get in the way of other people getting shit done, and some of these names are about as funny as wiping a colleague's hard drive (containing all their work in progress) for fun.
Don't make me spell empedokles when everything's on fire at 4am. That's insanely disrespectful.
You have three servers? Go nuts. You have at least 831 (per your example)? A thousand servers and your servers are still pets? I'd request a mandate to fix what is clearly broken culture and infrastructure, or quit.
At 4am the funny name is a joke at your expense, and shows that whoever named this machine does not respect you.
MU-TH-UR 6000, HAL 9000, Multivac, Deep Thought, Earth, etc
https://theculture.fandom.com/wiki/List_of_spacecraft
I guess Minds count as "fictional computers" ;-)
We would have got away with it due to the general lack of external code reviews but our boss heard us discussing a bug that involved one of them.
[0] https://www.reddit.com/r/programming/comments/24g6al/i_have_...