296 karma · joined June 4, 2010
Since the firmware is more complicated than hard drives, they are way more likely to brick themselves completely instead of a graceful degradation. Manufacturers can also have nasty firmware bugs like https://www.techpowerup.com/261560/hp-enterprise-ssd-firmwar... . I'd recommend using a mix of SSDs at different lifetimes, and/or different manufacturers, in a RAID configuration.
How different manufacturers deal with running SMART tests under load drastically varies. Samsung tests always take the same amount of time. The length of Intel tests vary depending on load. Micron SMART tests get stuck if they are under constant load. Seagate SMART tests appear to report being at 90% done or complete, but the tests do actually run.
Different SSDs also are more or less tolerant to power changes. Micron SSDs are prone to resetting when a hard disk is inserted in the same backplane power domain, and we have to isolate them accordingly.
Manual overprovisioning is helpful when you aren't able to use TRIM.
What a drive does with secure-erase-enhanced can be different too. Some drives only change the encryption key and then return garbage on read. Some additionally wipe the block mappings so that reads return 0.
Central computers just opened a store almost right across the road from the Sunnyvale Fry's.
We're hoping to do an updated version at LinuxFest Northwest in April, assuming the presentation is accepted.
You can try this yourself by compiling:
#include <stdio.h>
int i = 0; int x() {--i && x(printf("x"));} int main() {x();}
using gcc with and without '-02'.
I've been wanting to try gerrit however: https://gerrit-review.googlesource.com/Documentation/dev-des...
Please report back on whatever you end up doing.
One caution I have is that long term you should consider moving away from the gitlab tools if they are unable to fix accessibility concerns, so that everyone is on equal ground.
I also don't know how flexible he is on which browser or operating system he uses; he may want to try some others to see if they work any better.
One thing I have not had very good discipline about is I want to use checklists both for code submitted for review and when I'm doing reviews. Lint checkers etc. can only go so far.
If anyone has published checklists for code reviews I'd be curious to see them. This one seems reasonable: https://www.liberty.edu/media/1414/%5B6401%5Dcode_review_che... though I'd add concurrency to the list.
If that is untenable, mdadm has an option --zero-superblock, lvm has pvremove, and wipefs will remove file system signatures, which you can run before changing the storage layout.
They have install times orders of magnitude less than competitors - we're talking 2 days lead time vs. 45.
And while they're not as cheap as Cogent, they are still lower cost than most other transit providers and actually have full IPv6 tables (unlike Cogent.)
The article states: "The vehicle was traveling southbound on Highway 101 in Palo Alto."
Feel out if you might be able to go part time at your current company. Half days or a day off a week may be more appealing to them than you leaving. If not the current company, then exercise your network - put out there you are looking for something part time.
Even if you are a generalist, you can look like an expert at something. I wear many hats personally.
https://www.openwall.com/lists/oss-security/2018/07/26/2
https://www.openwall.com/lists/oss-security/2018/03/17/2
The last time I really did FPGAs was over 10 years ago, but unless the tools have gotten orders of magnitudes better, in addition to the other concepts mentioned you need to understand clock domains, metastability, pipelining, etc.
I preferred VHDL to Verilog because you shouldn't need a lint checker for your HDL. But unless it's changed, Verilog is a lot more popular.
Training is available, for example https://www.xilinx.com/training/atp.html . It probably costs more than you're interested in paying, and you should have the basics covered first.
https://www.npr.org/sections/thetwo-way/2018/04/15/602598119...
The total cost to offer compute has actually gone up significantly over the last year or so due to memory prices shooting up. I believe the cost of processors has gone up too, but not as drastically.
There's also a difference between specifying a CoC and enforcing a CoC. Maybe there needs to be a different name for expectations that aren't going to be enforced, either because they're too imprecise or the people running things are incapable of doing so.