makmanalp
But I'm not sure it was anything particular about the environment per se. Like, visual basic was written to do business software, truly the most boring thing imaginable. I think it's more about being left to your own devices with something that intrigues you for hours on end without an adult trying to control or direct what you're doing. Maybe. I'm not sure :-)
I found a copy of "Write Your Own Adventure Programs" (1983 - Usborne: https://colorcomputerarchive.com/repo/Documents/Books/Write%...) as a kid in my primary school's bookshelf. I remember the code was written in BASIC and my family didn't really own a computer back then.
Fast forward a few years later I saw this "Visual Basic" thing and thought it would be similar ... it was, but only sort of. I had no book to learn from at first so I remember clicking through every single menu and button available to see what it did. Then I remember using our dialup to download every possible 3rd party VB form control and throwing them in a Form to see what they did. I don't know why I found this entertaining enough to keep doing it.
Eventually by copy pasting and changing stuff I was able to write some basic "homework helper" programs: calculate the area of a circle and stuff like that. Soon after I tried to look up tutorials which taught me basic win32 programming to do things like have an icon in the status area next to the clock, and then hiding my window to run in the background and make annoying sounds so I could build a silly little prank program to install on my friend's computers which was fun but often would fail because they were missing some .dll file which wouldn't fit on the same floppy.
It could be frustrating at times but also I feel so blessed to have lucked myself into learning programming this way and my parents pretty much just letting me do whatever I wanted to this expensive device that probably was not a small thing for us to afford at the time.
Even tutorials felt more fun at the time, it'd be "hypnoMan37's windows registry tutorial!!! HEyyeyeyy Guuyzs :-)))) gzgzgz to my irc channel #blabla on EFNet! so first you call RegistryCreateNewKey32(...." because god knows I did not have an MSDN CD either.
Learning via a code camp feels way more efficient but also so much more dry in comparison. I wonder if there isn't a substantial cost to boring the newbies to death.
Brilliant observation that never occurred to me. Around that age being allowed to sit with and listen in on adults having normal adult conversations - being one of them - felt special.
Also this is not too dissimilar to how adult life that surrounds every child is to a child. You're sort of used to living in a world that has workings beyond your comprehension and just going along with it. I didn't get what exactly was going on but I did understand /something/ was.
I'm listening to a review of The Great Mouse Detective (1986) which has a similar ethos, as did other content targeting young people from that era. Also I recall picking up books as a kid that were certainly not meant for children and adults back then didn't even blink, and I think it stoked my curiosity and interests and pushed the boundaries of my understanding, as well as prepared me for growing up. I don't think I ended up being a worse person or being traumatized in any way. Part of me wonders if kids' content being much more sanitized these days is a mistake.
> The elevator pitch behind this performance difference is > straightforward: column-stores are more I/O efficient for read-only > queries since they only have to read from disk (or from memory) > those attributes accessed by a query.
> This simplistic view leads to the assumption that one can ob- > tain the performance benefits of a column-store using a row-store: > either by vertically partitioning the schema, or by indexing every column so that columns can be accessed independently. In this pa- > per, we demonstrate that this assumption is false.
https://faculty.cc.gatech.edu/~jarulraj/courses/4420-s19/pap...
:-)
It's really the perfect language to pick up on a visit even ... except the vocabulary doesn't resemble anything that most of the rest of the world speaks. There's lots of loanwords from farsi, arabic, french and english of course but beyond that and speakers of other Turkic languages, it's struggle for most people.
But yes, it's true that we're often over the moon that someone put in the effort to speak it :-)
As a long time sufferer, I want to support the general sentiment of this post, and I hope it helps someone who finds this that is currently suffering. My core message is that managing your psychological response to your condition matters immensely. I've noticed over the years that my perception of my tinnitus gets worse when my stress levels are high, even if for unrelated reasons. For example, reading about this post might remind me of it when I wasn't thinking about it for a long while. And suddenly this might bring back unpleasant feelings I have about it and it might suddenly feel very loud and overpowering when half an hour ago I wasn't even aware of it. But then an hour or two later I'll catch myself having a normal, quiet, unimpeded conversation with someone, which can feel like a contradiction.
Unmanaged, this kind of thing can turn into an unchecked, self reinforcing doom loop that's not always necessary or helpful. As with anxiety (another long term problem I manage), one unhelpful thing doctors might say when you first get tinnitus is that it doesn't go away - this is one of those technically true statements that patients can misinterpret. The reality is that just like anxiety, in many cases there's plenty reason for hope: it's often quite possible to improve quality of life that's mostly the same as it was before. It's still there if you check, and time to time you need to manage it, but also you might go days and weeks without even noticing, living a perfectly normal and happy life rather than a miserable existence.
On the other hand, leaving your primary care doctor with "yup, it's tinnitus" (my interpretation at the time: you're fucked for life, good luck) can lead to deep feelings of despair, panic, lack of sleep, over-sensitivity to noise of any kind even within normal thresholds, and many more terrible things. And "just ignore it, you'll be fine" is trite advice that can be difficult to achieve without help, like telling someone to ignore a siren in the next room. And it might be difficult for others to understand how debilitating it can be. But slowly and step by step it's possible to get there.
Sadly compassionate and competent care for tinnitus, even among audiology specialists, is few and far between and patients are left to suffer and / or try to figure stuff out on their own, which like a hypochondriac on webmd, can leave you feeling even worse. Luckily it is more possible to find tinnitus specific care these days and I encourage you to find a clinic that does this if you can - it's worth traveling for IMHO. There's a cocktail of potential causes that indicate different treaments so take this with a grain of salt but what worked for me was a combination of various things first to manage my current state and give me some relief during my initial crisis state (psychological help with how to deal with the reality of your condition, various things to help mask it and allow me to get normal sleep), clearing out wax (it's hilariously gross and also wild how it can affect your hearing perception and tinnitus in the most unexpected ways), common sense non-doomer information on the nature of the disease, what to do next and how to slowly transition to focusing on normal life ("playing playstation"): doing things with people, being outside, working out, focusing on your interests, as opposed to catastrophizing at home in bed. This feels like a non-cure cure but the results for me are night and day - if it's a placebo, I'll take it. I still have trouble with it time to time, but lead a normal happy life most days.
That aside, while we don't have the technology to make it fully go away yet, there have been a lot of recent changes and advances in our understanding of how it works which might lead to new therapies. Disclaimer: I'm not a doctor and might be butchering this so take this with a grain of salt: There seem to now be competing theories on the exact causes e.g. arguments about whether it's the the little hairs in the ear are sending no signal or incorrect signals. Also a recent understanding that you can have a seemingly unaffected hearing AND a normal audiogram but still have tinnitus is leading people to question if it's a different type of damage (different, larger hairs) that cause it which might mean different therapies. There's promising new treatments like Lenire which seem to be low risk and whose early study results seem to be much more promising than earlier versions of similar ideas (haven't tried it). I wouldn't be shocked if we eventually got much much more in our lifetimes.
TLDR: of course you'd rather not have it - please do be careful in protecting your hearing as much as possible. But if you're at the point where you do have it, just take a bit of solace maybe that it's not always a terrible prognosis and more improvement might be possible than you think. And the psychology and managing my emotional perception of it was very helpful for me. I hope this helps you, dear reader.
The thing is - and I imagine you know this - that when you run tens of thousands of database instances it's not a matter of if, it's a matter of when. I can't chase after thousands of engineers to make sure they're not hitting some obscure pitfall nor can I demand that they know the ins and outs of the 8 different types of locks in FooDB. And "read the docs lol" definitely doesn't scale. So we build automated mass-guardrails and linters as best we can and use various shenanigans to deal with the real world.
In the context of schema migrations, there's tools like pt-osc, gh-ost and pgroll that are excellent for what they are and I'm grateful to those who created them but these are still in effect huge hacks that are bolted on top of the database. They're teeming with footguns. I can tell you about a time where badly conceived timeout / error handling code in one of these tools in their golang database driver resulted in most of a database dropped instantly with no fast rollback, for example. That was fun.
If a third party bolt on tool can implement zero(ish) downtime migrations and cutovers, at least much much much better than the regular DDL, why the heck is the database not doing whatever that thing is doing? It's tech debt, history, crud, lack of caring, etc. Schema migrations is just the tip of the iceberg too, don't get me started on replication, durability settings, resource usage vs capacities ...
My point is that academics and vendors should be taking operational problems seriously and owning them, and solving them properly at the database layer.
And just like you I also make living off of the fact that the real world operational characteristics of truly busy databases are very different than what gets benchmarked and tested. I'm just saying that some of this stuff even I don't want to have to deal with. There's better problems to be working on.
It's a world of pain, and there are so much scar tissue of third party tooling doing crazy stuff dealing with this problem among large companies that really should be the DB vendor's problem.
Since the salts are random, unique to each SSN and long: a) you'll find no existing rainbow table that contains the correct plaintext for your SSN hash and b) each SSN now requires its own bruteforcing that is unhelpful for any of the other SSNs
Combine that with a very expensive hashing method like PBKDF2 (I'm sure there's something better by now) and you've made it pretty dang hard for non state actors to bruteforce a significant chunk of SSNs. There's also peppers that involve storing some more global secrets on HSMs.
I'm sure the crypto nerds have like a dozen better methods than what I can come up with but the point is this is not a feasibility issue.
You won't find any disagreement from me that HIPAA is very complicated. However there's a certain level of whining and foot dragging that happens in the industry that we should take with a massive grain of salt. There's so many HIPAA compliant and still convenient ways these days to have patient communications, but the industry doesn't want to invest and doesn't care about patience experience enough, and then go "sorry, HIPAA :-(((" every time.
With GDPR, after Schrems II happened and it became clearer that the EU-US Privacy Shield was no longer a valid workaround, I personally observed companies (including the one I was in) suddenly moving mountains to complete migration projects and privacy upgrades in just a few months that the industry previously deemed was technically unfeasible or impossible, cost prohibitive, business destroying, etc. And they still remained massively profitable and growing. If they had just done the right thing early on it wouldn't have been on such a tight deadline either.
That was the final straw for me in terms of being very firmly convinced that we should be telling companies to shut up and comply a lot more because they will never do the right thing on their own even if it wasn't /that/ hard. Another approach here is to start holding them liable for the personal costs of data breaches etc and let the incentives take care of themselves. In fact, why not a bit of both?
That's what salts are for, right? It wouldn't be too hard to issue a very large, known, public salt alongside each SSN.
> And of course none of the data brokers have much reason to make opt-outs work well, in the absence of legislation and strict enforcement - it's in their commercial interests to say they "can't stop your data reappearing"
This is the actual reason, IMHO.
It's not perfect: more remote and less popular areas go unobserved, and what happens after an official complaint is made is anyone's guess.
But at least almost anyone can add up numbers for themselves and come to a conclusion about what to trust and not trust. And you might think no one would bother, but in my brief experience as a volunteer poll worker they surely do, and zealously so. I can't even begin to imagine what'd happen if the paper ballot was replaced with "trust us, the machine says 37 for party A" or "the magical fingerprint number you don't understand says this ballot was cast for someone else".
A similar feeling on my end too :-) That might be it - trust sounds like a big part of it for me. Taking a chance on someone who you might eventually end up being good, rather than interviewing and evaluating them 7 ways till sunday. I understand the impulse. I wouldn't want to be a new engineer out of college today though - seems rough.
I did get paid less then than some new grads seem to be now so that might have been a factor in taking the pressure off.
> because you can always walk up to get immediate feedback (people generally like to see you are actively working on their issue)
Oh absolutely!
> It still amuses me that IT was located together with finance, because we did reports xD
It was communications for me, because the software tool we built was free to use on the web, and websites are communications, obviously :D
- No one having any preconception of how you're /supposed to/ do things or whether you'd even be the type of person to know, so you just kinda figure it out yourself. You spend a lot of time on reading and learning skills. Version control? Wow, cool, what's git, let's try that! A new graphing library? Let's give that a shot, maybe it'll make things easier! You want XYZ? Let me go read about that for a day.
- No one having any idea what's even possible: (selfishly) being treated like a wizard for introducing the tiniest piece of automation or improvement that makes someone's day easier or doing something they never thought was possible. Lots of appreciation and excitement for showing and teaching people new things.
- Similarly people having no idea how long those things should take which, tbh, can be a nightmare if you're not trusted and respected enough to be consulted but also great if people believe you when you say it's gonna take 3 months.
- Beyond the basics just being mostly kinda left alone to do your job however: no standups or tickets or the 30 other kinds of daily (micro)management that is probably necessary but ends up feeling tiresome and stifling at an individual level
- Not being part of software company "culture": no performance review driven development and promo packet madness, no weird rating and ranking systems, no OGPs or KPIs. No ladder. Your bosses think you did what was required of you, so then you're good, and if it's a good year you get a raise, and that's that. No hacker ninja pirate segway mini quadcopter b.s.
- Socializing with people who are good at and love to talk about stuff other than software
Reading over that, I'm thinking maybe I lucked out a lot and that wasn't most people's experience from that era. And there's some level of rose tinted glasses going on. And/or maybe my years in the rat race are starting to show :-)
- We have a weekday (2 shifts) / weekend (1 slightly longer shift including friday morning to allow people to take long weekends) oncall rotation as well as a group-combined oncall schedule which gets finnicky.
- When people join or leave the rotation, making sure nothing shifts before a certain date or swapping one person with another without changing the rest and other things are a massive pain in the butt
- Combine this with a company holiday list - usually there's different policies and expectations during those. - Allow custom shift change times for people in different timezones.
- We have "oncall training" / shadowing for newbies, automate the process of substituting them in gradually, first with a shared daytime rotation and then on their own etc.
- Make oncall trades (if you can't make your shift simpler)
Gripes with PD:
- Pagerduty keeps insisting I'm "always on call" because I'm on level N of a fallback pager chain which makes their "when oncall next" box useless - just let me pick.
- Similarly, pagerduty's google calendar export will just jam in every service you're remotely related to and won't let you pick when exporting, even though it will in their UI. So I can't just have my oncall schedule in google calendar without polluting it to all hell.