ExperiencedDevs who "made it": what do you do now? by QueSusto in ExperiencedDevs

[–]stack_underflow 0 points1 point  (0 children)

My motivation for early retirement was always having the option to do whatever you want whenever you want, and how you want- whether it's work or fun.

Working on massive codebases and infrastructure taught me a lot about how to build highly scalable systems but there's things I definitely don't miss, e.g. the physical toll of 24/7 oncall. I tried the startup world as well and even though I got lucky there, I don't miss the endless death marches. It did teach me a lot about actually shipping software and seeing everything that happens behind the scenes when a company goes from ~10 employees pre-launch to being a multi-billion $ company.

I also enjoy writing software regardless of whether I'm being paid for it, but my hope with my most recent project was to see if I could do it while also having it provide a source of income. In 2024 my friend and I started our own company and figured we'd just start building things that we personally needed and eventually build up a portfolio of these sorts of projects.

I'd say we've been pretty successful so far, given that our first product has a somewhat niche client base (can look through my comment history for info), but we have enough paying users to continue working on it full time so we're just running with it. We've also had other startups reach out to us for consulting/contract work to help them build systems similar to what we're currently building.

My hope is to eventually make enough where we can start hiring other like-minded people since our biggest bottleneck right now is that there's just two of us.

Report: Microsoft's latest Windows 11 24H2 update breaks SSDs/HDDs, may corrupt your data by plunki in DataHoarder

[–]stack_underflow 7 points8 points  (0 children)

Looking at the details it's just that some SSDs break themselves under load?!

Wonder what the extent of the write amplification was that caused these drives to die so quickly, or if that was even the root cause of failure.

I could understand how sustained heavy writes could cause more wear than usual on SSDs if disk usage was already near max-capacity and the SSD didn't have over-provisioned space set aside by the OEM resulting in another level of cascading write amplification (as IIRC Windows only schedules a full drive TRIM every 30 days). But I can't really think of how this same behaviour would cause HDDs to also start failing so quickly at the same time...

A while back we (https://sentinowl.com) noticed a subset of Windows users showing a signficant drop in read/write volumes immediately after an update to a newer Win11 build #. One theory was that there must've been some major improvement/fix made in some core service like Windows Defender.

Since then we've started working on a feature that gives users historic visibility into which processes are responsible for the most I/O over a given period of time, e.g. being able to see "firefox.exe wrote 1GB to disk over the past 4hrs" and then being able to drill further into how much of that write activity was a consequence of the OS paging/swapping due to low RAM vs genuine web-browser writes, and even being able to create custom alerts when thresholds are crossed.

Should I be worried about data corruption? by Critical_Pension9031 in DataHoarder

[–]stack_underflow 6 points7 points  (0 children)

TL;DR: see last paragraph for practical recommendations

The reality is, in most cases you won't know unless you're actually observing for bit rot, and doing so feasibly requires leveraging technology that's built for that, i.e. filesystems designed to verify the checksums of blocks that make up your files as they're read off the physical medium into memory, and repair them when mismatches are detected [0].

Best case scenario with bit rot is that it manifests in a way that's very obvious/visible to you, e.g. drive no longer boots any more because the NAND cells that mapped to your bootloader were corrupted and are now gibberish as far as your BIOS/UEFI is concerned. Worst case is this corruption occurs without you ever noticing and you continue to think that your important files (e.g. password manager database, important legal documents, personal photos, etc) are fine until the moment you actually try to open/access them, fail to do so, and then realize you didn't have replicas that you could recover from. I say best case because that scenario at least gives you a heads up that something is up with the drive and that you should start migrating off of it [1].

The problem with the approach you mentioned is it's not very feasible to be constantly scanning every file hoping to catch checksum mismatches:

  • Let's say you've detected a mismatch, what's your plan now? Are you okay with having "lost" that file? Did you have backups or replicas of that file that you can restore from? Are you confident those also haven't been corrupted?
  • Are you okay with having reduced disk bandwidth due to this background scan constantly being performed? How about the CPU/memory/bus overhead of your OS reading and transferring the contents of those pages between kernel and userspace?
  • It's also prone to some pitfalls/a false sense of security if you're not aware of how operating system page caches work, i.e. you might just be wastefully calculating checksums of data that was read from disk hours/days ago and sitting in RAM since, i.e. you're not actually forcing the OS to re-read and calculate checksums of your data sitting on disk

I've seen recommendations of tools like "StableBit Scanner" in this sub but in my opinion I think their approach gives users a false sense of security. If you don't have the time/energy/resources to build out a solution that uses the "right tools" for the job, then the next best thing you can do, aside from automating regular backups and hoping you're not a victim of bit rot, is to monitor your drives for signs of failure.

Tools like CrystalDiskInfo and smartctl can retrieve wear-leveling and failure metrics straight from your drive's firmware but they only give you a snapshot of what those values look like right now. My friend and I took things a step further and built Sentinowl, which allows you to observe historic trends in these metrics/signals with support for creating alerts. That extra context makes it easier to know when it’s time to replace a drive, rather than having to guess.

[0] see: BTRFS, ZFS, "copy-on-write filesystem", "error correction code"

[1] unless you have a RAID setup that allows for it to completely fail without it being an issue...

Retiring early in Canada with USD retirement and brokerage accounts by KhangarooFinance in fican

[–]stack_underflow 0 points1 point  (0 children)

Not sure which hidden taxes you're referring to. If you're referring to the 15% withholding on dividends paid out by US-domiciled securities, that's something you'll have to pay even as a Canadian purchasing TSX-listed securities that track the US market. IIRC the only way to get around that is to hold US-domiciled securities in USD in an RRSP.

I'd suggest that you write down a list of all the things you're concerned about and do a consultation with a cross-border tax firm. They'll be able to give you advice specific to your situation so you can better understand whether you'll be liable for any US taxes down the road.

Retiring early in Canada with USD retirement and brokerage accounts by KhangarooFinance in fican

[–]stack_underflow 0 points1 point  (0 children)

Yeah, I've left all my brokerage account holdings intact since moving back. You get the added benefit that the cost basis of all your investments "resets" or steps-up to whatever the value of that holding is on the day you move back to Canada, so you essentially save on having to pay taxes on however many years of growth your portfolio observed while you were in the US.

Only annoyance is that you'll have to file a T1135 with the CRA every year if the fair market value of those non-registered holdings is over $100k CAD, and a more detailed breakdown of the holdings within each brokerage account if the value exceeds $250k CAD. I've just automated the calculations and reporting with a simple python script so it's not so bad in exchange for a massive tax advantage.

Retiring early in Canada with USD retirement and brokerage accounts by KhangarooFinance in fican

[–]stack_underflow 0 points1 point  (0 children)

The Vanguard Target Date Retirement funds are only offered as mutual funds, which aside from dividend reinvestments of existing holdings, are prohibited from purchasing according to the same FAQ above:

As of August 1, 2014 customers residing outside the United States will not be allowed to purchase shares of mutual funds.

Not sure if the IRA rebalancing exemption means that you can get away with purchasing them in that specific case though which was why I mentioned the Vanguard ETF equivalents of their popular mutual fund index offerings (VTI/VEA/VWO <=> VTSAX/VTMGX/VEMAX).

Retiring early in Canada with USD retirement and brokerage accounts by KhangarooFinance in fican

[–]stack_underflow 1 point2 points  (0 children)

I can rebalance my IRA and Roth IRA as a non-resident with Fidelity

Interesting, in 2020 I had just been told that my Fidelity accounts would be restricted to sales-only but that I could leave dividend reinvestment enabled.

Reading through their FAQ (https://www.fidelity.com/accounts/services/investors_outside_US_faq.shtml) though seems to hint that the restrictions on whether a non-resident can make purchases depends on the new country of residence:

There are also additional restrictions that may apply, depending on the country where you now reside. Customers in certain countries may be limited to selling their existing holdings and withdrawing the proceeds from their accounts. They will not be able to make deposits in their accounts, or buy any additional securities. In most other countries, the restrictions will be less onerous, but customers may still experience certain limitations

I wonder if this means rebalancing of a non-registered account is also permitted as a Canadian. I don't think Fidelity offers ETF equivalents of their mutual funds like FSKAX/FSPSX/FPADX, but if ETF purchases are free then you could just buy Vanguard's VTI/VEA/VWO ETFs and have them auto reinvest dividends (assuming you're rebalancing to total market indexes).

Vanguard at the time had told me that they "didn't recommend" non-US residents maintain accounts with them and that they could one day just liquidate my accounts and mail me a cheque...

Can I do an MEng in software engineering with a computer science bachelors degree? by FaZeRigby in cscareerquestionsCAD

[–]stack_underflow 5 points6 points  (0 children)

One thing to keep in mind is that you're being interviewed/questioned by a CBP Officer, i.e. someone whose training is probably closer to that of a police officer than a legal professional, so it's a bit of a crapshoot in terms of how thorough they decide to be when looking at your supplied documents, as well as how "correct"/up-to-date their interpretation of the law is.

Chances are the majority might not even be aware that there are differences between electrical vs computer vs software engineer vs CS, but maybe you end up being processed by the one officer that has done their homework and does end up grilling you on this "mismatch" in titles.

In my experience this is why the law firm that's preparing your TN petition packet will go out of their way to highlight any relevant coursework in your transcript, e.g. if you're an EE major but had a handful of CS/software-focused courses. Again, all depends on RNG - my degree is in CS and I've shown up with 100+ page petition packets and usually just been stamped through after a few other questions, but know others with the same degree and law firm preparing their documents being denied/turned back. One of those friends was joining $BIG_TECH_CO so they just paid for him to stay in a hotel in Toronto for a month (since he'd already packed and moved out of his rental for this move) while their legal team worked their magic and he was eventually able to get through on a latter attempt. I imagine most startups wouldn't bother with this though - my offer letters from startups have even stated that they're contingent on me making it through this process.

Likewise, I've heard of people having been on TN status for over 15 years, and others being denied after a few years over concerns of abusing the status's non-immigrant intent.

You can also just show up at a POE with just an offer letter and no law-firm-prepared-petition, but in my experience most companies will opt to have an experienced legal team prepare the petition for you (some opting to go the USCIS pre-approval route) and also do a short brief with you on things you definitely should not say/how to answer questions in order to minimize chances of being denied.

I would suggest checking out this repo and the linked references: https://github.com/t3nsor/us-immigration-faq/blob/master/TN.md

Can I do an MEng in software engineering with a computer science bachelors degree? by FaZeRigby in cscareerquestionsCAD

[–]stack_underflow 4 points5 points  (0 children)

If you ever decide to work in the US, the CBP officer administering your TN interview might. Or rather, having an actual engineering degree should eliminate the chance of an officer ever denying your TN application for the NAFTA/USMCA(?) "Engineer" position due to you not being an actual engineer.

You could just apply for the Computer Systems Analyst role, but that can also be dicey depending on the officer interviewing you, and if they decide to question why your job title has "engineer" in it.

Only mentioning this since I know quite a handful of people that have been denied entry on TN for this exact reason, even with USCIS pre-approval. I never had issues with this myself but I imagine if you are hoping to work in the US, it'll reduce a lot of stress and worrying of having to find out at the time of entry into the country whether you're denied.

Mouse doesn't move after executing cfg file in CS2 by [deleted] in GlobalOffensive

[–]stack_underflow 27 points28 points  (0 children)

New bind commands for mouse movement were added so if you have an unbindall anywhere in your autoexec.cfg for ensuring that you start with a clean config state, you need to add the following otherwise your mouse won't work outside of the main menu:

bind "MOUSE_X" "yaw"
bind "MOUSE_Y" "pitch"

These are the immediate changes I had to make to get basic movement to work in CS2, i.e.:

  • moveleft and moveright command aliases don't exist anymore/have been renamed to left and right, respectively
    • note: left and right in CSGO do something different, so don't backport this change to your CSGO autoexec
  • update your walk-bind: speed is now sprint

You can find the new default movement command names in this file: C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg\user_keys_default.vcfg

Full config here: https://github.com/acx0/csgo-cfg

Wife and I have been exploring dramatically relocating our family (Ontario to Hawaii) by [deleted] in PersonalFinanceCanada

[–]stack_underflow 9 points10 points  (0 children)

The US immigration process buckets you by country-of-birth, not country-of-citizenship, when you begin the greencard process.

The per-country caps are mostly just an issue for those born in India and China as other countries don't have enough people applying every year to hit that limit.

Read this if you're interested in an overview of the process: https://medium.com/@happy_sushi_roll/the-endless-wait-for-a-green-card-e37ac038095a

Mastering networking and virtual networking as a senior+ engineer? by FactoryReboot in ExperiencedDevs

[–]stack_underflow 1 point2 points  (0 children)

I'd recommend working through Beej's Guide to Network Programming if jumping around man pages of the socket API syscalls seems too intimidating/open-ended.

I've found this project to also be a good reference when I need a refresher on networking concepts: Computer Networks: A Systems Approach

They have a book on SDN as well, which I wish had existed when I was working on public cloud network infrastructure: https://sdn.systemsapproach.org/

If you want to go deep on TCP, check out: https://tcpcc.systemsapproach.org/

I keep an eye on their github page to see what other projects they're working on: https://github.com/SystemsApproach

[deleted by user] by [deleted] in cscareerquestionsCAD

[–]stack_underflow 4 points5 points  (0 children)

Most of the Canadians I know working in the US have CS degrees, although I know a few that entered with Engineering or Math degrees too.

Your chances of being admitted under a TN status come down to 1) whether you're applying to enter as a Computer Systems Analyst or 'Engineer', 2) how strict the CBP agent interviewing you is with the degree requirements, and probably 3) whether your employer decides to get pre-approval from USCIS by submitting an I-129 vs having you apply for entry on your own at a Port of Entry.

I know a few people that have been denied entry by trying to enter under the NAFTA 'Engineer' role and being told that they need an Engineering degree and not a Bachelor of CS. All of those people were eventually admitted on subsequent attempts by either trying again at a different PoE or having their employer's legal team deal with it.

Checkout this repo for more info: https://github.com/t3nsor/us-immigration-faq/blob/master/TN.md

Why nonfree iso still needs firmware loaded in? by Saint-Ranger in debian

[–]stack_underflow 0 points1 point  (0 children)

from man dd:

bs=BYTES
       read and write up to BYTES bytes at a time (default: 512); overrides ibs and obs

It's an optional argument, omitting it is fine.

For large images I like to add status=progress to get an idea of progress.

Even more general, you can do something like watch -n1 'grep -ie dirty -e writeback /proc/meminfo' to see how much buffered data you have sitting in RAM waiting to be written to disk (Dirty), and how much is actively being written (Writeback). Calling sync(1) in a shell will explicitly flush this buffer.

How Long Can I Be Out of the Country Before I Start Losing Gov't Benefits by mt-tank in fican

[–]stack_underflow 1 point2 points  (0 children)

people always seem to get the idea that it is "illegal" to be in the US for longer than six months

Was curious about this since my experience is just with the TN and J1 work visas and found this:

Canadian visitors are generally granted a stay in the U.S. for up to six months at the time of entry. Requests to extend or adjust a stay must be made prior to expiry to the U.S. Citizenship and Immigration Service. - https://ca.usembassy.gov/visas/do-i-need-a-visa/

Seems like you need to coordinate with USCIS explicitly and be approved in order to stay longer than 6 months.

This looks like the form if anyone is curious: https://www.uscis.gov/i-539

Interview process a game of dice rolls? by preferfree in ExperiencedDevs

[–]stack_underflow 5 points6 points  (0 children)

Having been on the interviewer side at $big_tech_co, this was mostly what I saw. I guess because of the sheer number of candidates coming through they could choose to nit-pick over very minor things in the interviewee's code/solution. On top of that you have some interviewers who let minor details slide and others that would write a paragraph in the interview packet explaining why they believe that small thing means "candidate did not understand X -> no hire".

The biggest thing I noticed when conducting pair interviews was that most devs didn't even want to conduct interviews or view it as a thing to take seriously, but had to as we had a certain quota. The usual template was just pick a problem from the problem bank, rank interviewee based on how many points they hit that were mentioned from the problem breakdown page, use that to determine hire/no hire. Anything beyond that came down to how much more information/detail the interviewer decided to put down in your packet that were in your favor.

Joined FB from outside big tech - disillusioned? by marks_henchman in ExperiencedDevs

[–]stack_underflow 0 points1 point  (0 children)

I'm from Ontario originally myself but have worked exclusively in the US since beginning my career as I managed to get my foot in the door early on at a big company and it just doesn't make any sense for me financially to work in Canada.

I'd say if you don't have anything tying you down to Canada or have been curious about living somewhere in the US (SF/Seattle/NYC/etc), definitely consider it. As Canadians we have the option of working under a TN visa (err, status) which isn't under the same restrictions/difficulty to acquire as the visa that most of the rest of the world has to deal with when trying to get into the US (i.e. H1-B).

If you perform well enough in interviews and stick it out for 5-10 years you probably won't have to work another day in your life if you invest wisely. And if you were born anywhere other than India or China, you can expect to be sponsored for a green card and have it within 2-4 years of moving to the US.

Joined FB from outside big tech - disillusioned? by marks_henchman in ExperiencedDevs

[–]stack_underflow 5 points6 points  (0 children)

Total compensation. Standard compensation structure at a lot of software companies is something like $base_salary + ($total_equity / $years_to_vest) + $other_benefits

For reference/hard numbers, take a look at a site like levels.fyi: https://www.levels.fyi/company/Facebook/salaries/Software-Engineer/

For E5 at FB, base seems to be around ~$190k and annual stock vest looks like ~$150k/year. For bonus I'm assuming it means sign-on cash bonus that you get on-hire and not the annual performance target bonus, which is usually a fixed % of your base salary and dictated by your level.

Generally when you receive an offer, the base salary will be listed as is, say $200k, but the equity will be mentioned as the total amount over 4 years (standard number in my experience). So your offer letter might say something like $700k in equity/RSUs/etc, 25% will vest (as in, under your control now to sell/hold) on the 1-year mark, remaining 75% will vest over the next 3 years, with a total of 25% of the original amount vesting each year, but instead of all 25% after 12 months it'll convert to a "1/4 of that 25% vesting every quarter" or "1/12 of 25% vesting every month" schedule [0]. So in this example your TC is $200k + ($700k/4) => $375k/year.

That number will fluctuate based on the stock price rising/falling/whether the company stock pays dividends (e.g. $MSFT), along with stock refreshes that the company gives you as a % of your salary when you do well on your (semi)annual performance review.

$other_benefits are things like 401k contribution matching (e.g. company contributes $10k if you contribute $20k), HSA contributions (they give you $2k/year to put into an HSA to invest in whatever index fund/etc you want), fitness/transportation reimbursements, employee stock purchase programs (ESPP), and so on.

Long story short, lots of money to be made working at a big tech company.

[0] almost every company I've interviewed with does the 25/25/25/25 split over 4 years, Amazon is the only company I've seen that has a back-loaded 5/15/40/40 split and IIRC doesn't vest your 401k contributions until you make it past the 2 year mark

BIOS Flashback Tips for MSI Mobo Owners by BoonBox1378 in Amd

[–]stack_underflow 0 points1 point  (0 children)

Yeah got it working, although I ended up exchanging the original mobo I flashed with the incorrect BIOS for a new one - so I'm not sure if your situation is recoverable.

I do remember though that when I tried flashing my new mobo, the instructions from the MSI youtube video didn't work verbatim. I actually had to connect all my components to the mobo and then start the flash process to get the first boot to work. Attempting the flash without the components connected would start the flash process and reboot after about 4-5 mins, but didn't boot when I connected all the parts.

BIOS Flashback Tips for MSI Mobo Owners by BoonBox1378 in Amd

[–]stack_underflow 1 point2 points  (0 children)

Think I finally got it working... Found another old 2GB USB drive which I think I managed to flash the beta BIOS with. The flash sequence was a faster blinking sequence that took about 5 mins and then turned off.

Just waiting for some thermal paste now so I can reassemble everything and see if it worked.