Ironlikebike
Joined 7 years ago
Joined 7 years ago
As of April-ish 2023 there are now very strict UK rules on contractors as well. They now must be hardline treated like contractors and can not be treated like employees with special contracts, e.g., no bonuses, no perks, no company supplied equipment, etc. Too many UK companies were abusing contractor employees in order to pay low wages and skirts benefits requirements whilst simultaneously treating them like full employees.
- No exercise after 18:30/6:30pm
- Absolutely avoid Vitamin D and Vitamin B supplements in the evening. These will suppress deep and REM sleep and I'll sleep lightly all night long if I take them.
- Hot sauna, shower, or bath before bed.
- Anti-histamine (cetirizine hydrochloride aka Zyrtec) as needed - I'm allergic to my wife's dog and some nights I feel like I have bugs crawling on my skin. It can even wake me up.
Things that keep me from waking up at night:
- Gas X as needed to avoid acid reflux
- Anti Inflammatory helps keep me from having to use the bathroom when I know I'm inflamed (getting old sucks).
- No alcohol in the evening
- No videogames, interesting books, or French lessons right before bed, or I'll be sleeping lightly and find myself ruminating in light sleep over these mentally engaging topics.
Compared to twenty years ago, there are significantly fewer operating systems which means fewer companies have a need for this type of work. If you're looking to get into this work I'd suggest looking at Apple, Samsung, Nvidia, Qualcomm, Google, Microsoft, Arm, and any Arm architecture licensee. It seems that the people with the most luck these days end up tinkering with Linux at university, do a Google Summer of Code project and score an internship with one of the above.
Straight out of Uni in 2001, I became an operating systems programmer bringing up a new platform and pretty much immediately started debugging C++ code almost exclusively in an asm debugger (it's what we had for an OS level debugger). I also started implementing capabilities provided by a hypervisor directly available via asm instruction because there wasn't a C construct for doing so).
After that I became a toolchain programmer (working mostly on new system libraries) and would write in C and Assembly language and debug mostly in Assembly language because, when you're working on system libraries and the toolchain for a new platform, you can't always trust the compiler, and the compiler can't always generate optimal code (or any code) based on the new instruction set. Oh, and you can't always trust the debugger either if it doesn't understand the instruction set.
While there I would work on 9 new platform bringups and would often need to stub in assembly language routines for capabilities that were in the architecture but not yet available in the toolchain. Other times, new system call routines, locking intrinsics, unwinders, exception handlers, and some optimized routines would require implementation in asm as well.
If you're only working on the non-platform part of an operating system, you might not need to learn assembly language, but if you touch platform code you will likely need to know it.
This is IBM's classic modus operandi. I worked there from 2001 - 2013 and survived 17 rounds of deep layoffs during that time. IBM constantly manipulates their financial results on the backs of their employees.
I have a friend who is a competitive seniors category swimmer, and has been competitive his whole adult (and adolescent) life. At the age of 60, after a lifetime of eating 6 small carb heavy meals a day to fuel his races he developed T2D. At the time he was 165lbs of lean muscle and he started wasting away. He has now eliminated all starchy/sugary carbohydrates and fasts 12 hours a day. He has reversed T2D, as long as he maintains the diet and fasting.