throwaway3neu94
throwaway3neu94 on Hacker News
At some point you're already applying all those rules of thumb, but how do you then actually measure what works and what doesn't so that you can improve beyond that?
It seems it is difficult to find resources teaching that, and also the equipment needed becomes very specialized and expensive fast.
For example, I found it useful professionally. We're releasing a new hardware model. We're doing some in-depth performance tuning/evaluation. To understand our performance characteristics, I needed us to break down the performance change into improvement due to new hardware and reduction due to new mitigations.
Linking this page in the Jira issue was the fastest way to get the point across what we needed to look into.
It is not, at all, something I would ever recommend to lay people, or use in the actual shipping product.
I set up build+test via GH actions and have GitHub run them on PR's. And make all changes through PR's.
This not only prevents "forgot to run tests" type accidents during regular development, it also helps me when I come back to a hobby project months later, and it lets me confidently do small changes (think version bumps) directly through GitHub's editor, which saves a bunch of time.
And when, against the odds, I actually do get a contribution, the infra is already there and it really cuts down my turnaround time to get it merged, bump the version and deploy the release.
Of course if a single direct push yields you the badge then I guess pretty much every solo dev gets it sooner or later. But that indirectly turns it back into a good badge, right? "Independent enough to have a life outside a standardized corporate process"?
These contacts are occasionally scheduled with organizations (schools etc.), but unscheduled for the general public.
Exchanges tend to also be one short question (how does earth look from above right now?) and one short answer (earth looks beautiful), and then it's on to the next person. Not just due to congestion, but also because the ISS is only visible for a few minutes.
What is protected is the actual radio spectrum. If a ham rented out his rig to a commercial entity for the purpose of transmitting business information over ham frequencies, that would be wrong and illegal. But here, the actual transmissions are ham radio transmissions with no commercial value (they contain no economically useful information), so it's (most likely) fine.
This is great for them. Especially since there's practically no setup overhead and no long term commitment - so you can use this one evening, then go back to doing SOTA with a portable QRP rig (and getting talked over by the folks with kilowatt output) the next weekend. It really opens up big station operation to entire new demographics - young people or others with not a lot of money, and urban people or others with no great location or not a lot of space. Ham radio has historically not been that diverse, and if this helps with diversity that's great.
I've used a big station before (at my university. Big tower, big antenna stack, big amplifier). Sure I didn't get to build it, but just operating that thing in a busy contest environment is an experience and made me appreciate how much skill there is in the actual operation of it. I wouldn't want to do it all the time, but I actually know people who do, and myself I don't want to miss the experience of having done it.
Later I worked in a scyscraper. Our floor was never exactly full, then like 80% on the floor were laid off. Entire teams gone.
Eerie is a good way to describe it. Being more or less alone with so much space, especially when you remember better days, is not fun.
I had the same experience - facilities dutifully kept doing their thing. They also worked through one week business shutdowns. First time, food kept coming too.
Now I work from home, which can be a different kind of isolating. If people left (one way or the other) I'd hardly notice unless they're on my team. (Still prefer the homeoffice overall, but eager to see my coworkers again occasionally.)
* Doing your part to wipe Covid out so we get back to normal (do you have a better plan?)
* Wiping Covid out so we don't get a worse strain like the delta strain that will affect younger people.
* The lag between a particularly bad strain circulating widely and you finding out about it.
* Long Covid including brain chronic fatigue / brain fog, potential non fatal but still permanent, debilitating lung damage, cardiovascular damage leading to increased risk of strokes later on. Which has been shown to be a risk for young people as well, more than death.
* Avoiding the massive inconvenience of a potential multi week "very bad flu".
* The medical experts (gov agencies, universities, industries) across the world all strongly recommending it. (Have you at least asked your primary care physician if you should get it? Why not?)
* Benefitting from the exemptions granted to vaccinated people such as indoor dining in NYC and entering the US from Europe and vice versa.
* Keeping your job when they mandate it unofficially or officially (I've seen both).
* The demonstrated risk of dying from covid, and even more so the risk of long covid, as a young person still being way higher than the theoretical / non demonstrated risk of the vaccine. Especially since we have already vaccinated >1.5 billion people - if anything should be seriously wrong with the vaccines, fixing that and helping affected people would likely immediately become an important topic of medical research as soon as we find out.
* Fringe benefits like the lotteries for vaccinated people.
* There being clear evidence of covid being downplayed for political reasons, especially in the US and in 2020. But everywhere else and in 2021 as well. Prominent politicians who have downplayed it still having gotten the vaccine (granted, they're all old people, and your question was about young people). The same politicians constantly retreating from one wrong position to another as they are proven wrong again and again. Whereas the "other side" has so far mostly been right on every major topic.
* Political players that normally don't agree on anything agreeing on this - Russia, China and the US all have a vaccine program and recommend vaccination for essentially everyone. Inside the US, the Democrats are obviously in favor of vaccination, but do not forget that two vaccines got emergency approval while the Republicans had control of all three branches.
* Young people being vaccinated and showing up in vaccination stats influencing older people to get vaccinated.
* Last and least all the anecdotes of people who on their deathbed said they should've gotten the damn vaccine.
It's not a coincidence, it's geography.
It is desirable for reconnaissance satellites to cover the entire planet regularly. That means high inclination orbits. That means southward launches (as opposed to eastward). That requires a launch site with ideally lots of ocean and not a lot of population to the south/southeast.
The US does plenty of military launches into other orbits from the east coast.
The `if (0==x)` style also makes it obvious that the check is correct when reviewing/reading code. Sure, a linter might catch this. But this way the reader doesn't need to rely on that. Besides many codebases allow variable assignment as part of conditional/loop expressions, and sometimes sadly it's easier to write code this way than to get a team to use a linter.
Regarding it being unnatural... you get used to it, and especially in C one needs to take care to check the return code the right way (0!=, 0==, -1!=, 0<, !, etc.), whereas the other side of the check is often more straightforward (a function call, a variable etc.), so it's nice to have the constant up front. It takes very little extra space at the front. As a bonus all the constants will visually line up nicely that way.
https://datatracker.ietf.org/doc/html/draft-wkumari-not-a-dr...
1. There are a lot of people that believe they already had Covid, but actually didn't.
2. A "vaccinated or recovered" policy is even harder to enforce, as there are vaccination certificates but no recovery certificates. (Yes, vaccination certificates can be faked, but it seems likely to me that a significant part of the population would be willing to lie but not falsify documents.)
Also most registrars will send you an email when it's about to expire. If it does get dropped, there's a grave period to recover it.
Maps also cost money and take weight and take time to ship or pick up, meaning in many groups at most one person will have one. Better hope you don't have to split the group. Everyone has their phone. Offline maps can be had for free, weigh nothing and you can download it on short notice.
I also object to maps having no failure modes. They definitely wear out, or rip, or get stains. Some aren't waterproof. They are also terrible at night, even with flashlights (especially since most people will have lights with shitty CRI). And they can't zoom - so of you're farsighted, hope you don't lose your glasses...
It'd be hard to come up with a more obvious scenario.
The references to darwinism here are especially infuriating cause in many cases it's specifically parents (older people) who are anti vaxxers. Bit late for natural selection. And also such a cruel thing to say.
We tightly regulate all those industries precisely so that people can rely on vendors and not get hurt, even if it might be more profitable to substitute a few components in a vaccine, skip the earthquake retrofit and ignore whatever animal disease popped up.
And this is without getting into the issues of oligopolies, network effects, vendor lock in and user manipulation/deception by vendors. The companies dedicate entire specialist teams worth of effort to this. The average person doesn't stand a chance without help.
IT in general is really not so special that it should be exempt from governmental consumer protection efforts. Especially since it is one of the most profitable sectors by far, so you really can't argue that there isn't room for tighter controls.
Apple and Facebook specifically are two of the most profitable companies in the world. They can afford it. And if they drop to "merely" being in the fortune 500, that is still completely fine with me. And if some exploitative business models become unprofitable, that's fine as well. That's kinda the point.
And before you argue that it would kill innovation: there is ample precedent for regulations that depend on the size of the company or the customer base.
As an engineer, I got some training by legal, followed up by a high level exec explaining to us that in this context, we report only to legal and are required to say "no" to engineering leadership when something would go against legal's policies.
Also I think the military has something similar with medical officers.
So it could be done right.
You can find them on Amazon. Doesn't matter which vendor, they're all the same. Fits most desks.
(src: merchandise printing)
(Also, at one place I worked we bought some used server racks that we were told had been painted in a very specific company standard server rack beige by the previous owner megacorp.)
At our company, we do a lot of kernel development. Most devs are issued Macs, some Thinkpads with Windows. Very few run Linux locally, as IT doesn't like it.
We have Linux shell servers for development. They compile much faster than laptops anyway. The actual test systems are separate as well. You don't want to test on the machine you develop on generally (it'd be extremely annoying to not be able to edit code while waiting for the reboot to get the new kernel, and to loose your open windows for every iteration. Also what if it oopses?), and in our case that wouldn't work anyway (special HW).
Most use vim in screen, and VS Code with it's native SSH remote host support is also very nice.
If it works for dozens of our engineers, it can work for you if you're willing.
If you can assume a compiler with statement expressions and typeof (gcc, clang, probably icc in this case):
#define SQ(x) ({ typeof(x) x_ = (x); x_ * x_ })
If not (MSVC++) then best of luck.
Anyway I 100% agree people way, way overuse macros. Very often a static inline function is a better trade-off.
I've also worked on a Delphi based CRM and I've wasted man months of my life time on a task we called "checking forms". You see, Delphi's UI designer is (was?) pixel based (widgets have fixed x/y/w/h), but strings translated to different human languages have different lengths (in pixel). (Complicated by dynamically calculated and variable length strings.)
And so for every release, for every language version (of which there were like 15), engineers would click through every single form in this product. Then fix any widgets were the text was cut off specifically for that language manually in a shitty commercial i18n tool that can show you Delphi forms, but only the outlines of controls.
It took an engineer about 3 weeks of effort to go through the product in one language. I may never forget what "Ok" and "Cancel" mean in several languages I otherwise do not know at all.
Java and C# changed everything for me with their constraint based layouts. I believe later Delphi versions added that, but it was definitely after others lead the way.
(Maybe there was a better way to do it with Delphi, but this was >10 years ago ago, and the product was _old_ even back then, and it was my first job and I didn't question why things were done this way.)
Of course that takes a lot of training, where you can control the situation to give the dog a fake choice (by leashing him) and/or ensure the bad choice is the right amount less awesome than the treat.
I am not advocating against negative reinforcement here. It can help build good habits by steering the dog towards the good choice and preventing the bad one. I'm just disagreeing with the notion that the end result should be the dog deciding based on expected reward and punishment.
(I know this is quite idealistic.)
You _can_ definitely use positive only training to teach an alternate behavior (e.g. recall or distance down) and proof it under progressively more difficult scenarios (distance/duration/distractions), backing up every time the dog makes a mistake. Until that command is such a strong habit that the dog will reliably do the behavior on cue. And in the meantime prevent the bad behavior (with a leash) to prevent ingraining the undesired behavior.
Not saying negative reinforcement _should_ not be used (it may be more effective, and may even be the difference between achieving or not achieving the desired behavior with the amount of effort any particular trainer can put in). Just that it's not as absolute as you say.