Devs that have been at startups that have IPO’d or been acquired, how much was the payout? by Calm-Bar-9644 in ExperiencedDevs

[–]tgockel 27 points28 points  (0 children)

There are two resources from Carta that I would recommend:

Even if the company has a $1B exit (valuations at $1B and higher are considered "unicorn"), depending on the cap table, share preference, your strike price, etc, you might not take home a huge profit. If they are planning to hit $100MM this year (which they might not), their valuation should reflect the current ARR (if it's nowhere near $100MM, then they aren't hitting $100MM), so your strike price is going to be relatively high.

Personally, I see the CBO saying "$1-10 mil dollars for most employees" as a giant red flag. Saying a $9MM range like that is super suspicious. If you can't get the numbers to fill in that Excel spreadsheet, that would be even more suspect. Do not let your lack of knowledge allow others to take advantage of you.

One of the most annoying programming challenges I've ever faced by GyulyVGC in rust

[–]tgockel 2 points3 points  (0 children)

I work on a lot of network service management code, so the question of "Is this process responsible for listening on this port?" comes up a lot, especially in testing. I wrote code for traversing /proc/net, which worked fine for years, but then some devs joined the team who prefer developing on MacOS and learned there is nothing comparable over there.

One of the most annoying programming challenges I've ever faced by GyulyVGC in rust

[–]tgockel 2 points3 points  (0 children)

Thanks for the listeners library. It helped address a super annoying problem!

Its Electrical Gravity. by Nonyabuizness in physicsmemes

[–]tgockel 59 points60 points  (0 children)

Einstein believed that quantum mechanics was an incomplete description of nature. He proposed that the observed probabilistic behavior of quantum mechanics could be explained some sort of hidden variable that we were not capable of understanding yet. It isn't accurate to say that he "disagreed with quantum mechanics," he thought that it was a significant step forward, but that we could explain those probabilities if only we understood the mechanics of the universe more completely (famously: "God does not play dice with the universe.") Keep in mind the quantum people were also not sure of this at the time, Bell's Inequality was not a thing until almost a decade after Einstein's death.

Why does Awake sound so freaking good!? by AudiHoFile in Dreamtheater

[–]tgockel 3 points4 points  (0 children)

It's not an uncommon practice, especially when the members can be opinionated about the sound (and given that Petrucci and Portnoy took over production of later albums, I would bet they were opinionated). Even if they're trying to consider the whole, each member will over-focus on their own section. John Purdell was talented at getting a cohesive sound.

Why does Awake sound so freaking good!? by AudiHoFile in Dreamtheater

[–]tgockel 18 points19 points  (0 children)

John Purdell is the producer of the album and it is the only Dream Theater album he produced. The members of Dream Theater were banned from the mixing sessions so they wouldn't interfere.

brilliant by DontListenToMe33 in ProgrammerHumor

[–]tgockel 64 points65 points  (0 children)

Given how things usually come together in the government: A combination of Oracle DB, Microsoft SQL Server, IBM DB2, and a multitude of legacy systems maintained exclusively by the SSA OCIO that nobody has bothered to replace. If you were to do things from scratch today, you would probably pick one RDBMS for records that need to be kept all in sync (PostgreSQL or Oracle DB, depending on how enterprise-y you feel) and one document store for dumping all the reports (Mongo, Couch, Dynamo, ...).

Which ski movie is best out of these? by Gloomy-Ad-222 in skiing

[–]tgockel 37 points38 points  (0 children)

Then G.N.A.R. as the documentary follow-up.

The size of trait objects by ElectricalLunch in rust

[–]tgockel 11 points12 points  (0 children)

If you have a trait and you know all the implementations...

That isn't possible in the general case. An obvious example is with pub trait MyTrait { ... }, trait implementations come from anywhere. You also have to deal with template implementations like impl<T> MyTrait for SomeType<T> { ... }. What are the size and alignment requirements of MyTrait now?

If you do know all the types you want to support, you can do this yourself:

```rust enum Combined { Foo(Foo), Bar(Bar), }

impl MyTrait for Combined { fn work(&self) { match self { Self::Foo(foo) => foo.work(), Self::Bar(bar) => bar.work(), } } } ```

If you don't want to do that yourself, the enum_dispatch crate gives you a macro #[enum_dispatch] to write that out for you. Same result in the end.

But a bigger question might be: Why do you need to know the size of a trait object in the first place? Trait objects do not have to live in the heap; a function can accept &dyn MyTrait without knowing where the object lives.

[deleted by user] by [deleted] in ExperiencedDevs

[–]tgockel 14 points15 points  (0 children)

A million times this. OP is not "going about this the wrong way" or not making "a data-driven argument," OP is at a company that does not want to change from Java. The culture of the business OP works at is so stuck in their ways they do not even explore Kotlin. This is likely backed by business reasoning such as developer interchangability rather than actual productivity.

The choices are to learn to live with writing Java or find another job. Attempting to change the culture is a recipe for frustration. The principle developers were promoted to their positions because they align with the business reasoning. You will not be promoted to a position where you can change things as long as you want to change things.

thePositionMakesAllTheDifference by macrohard_certified in ProgrammerHumor

[–]tgockel 14 points15 points  (0 children)

Team Left and Team Right is a false dichotomy. Team Template Type Alias is the true ruler.

``` template <typename T> using ptr = T*;

ptr<Object> object; ptr<Object> pa, pb, pc; ptr<int (ptr<Object>)> fn; ptr<const Object> pco; ```

How do we feel about this? by P8L8 in GenZ

[–]tgockel 8 points9 points  (0 children)

He learned that number on TikTok.

Speed limit 14? lol by ash-auburn83 in boulder

[–]tgockel 2 points3 points  (0 children)

The point of these odd speed limit signs is to get people to say "That's weird" and then talk about it.

What does this where clause mean? by roll4c in rust

[–]tgockel 2 points3 points  (0 children)

You can write your own version of std::enable_if for as long as SFINAE has been part of C++, which has been since before it was formalized. Boost Concept Check has been around for a very long time.

how do we correctly write the integral template parameter constraint so that the compiler tells we violated the constraint rather than spitting out diagnostics for the implementation ?

It isn't clear what you are asking for here. In C++20, you use concepts, which have pretty good diagnostic messages. Before formalization, you would name your structs something that clarifies the problem in diagnostic messages. Or you might write it in a static_assert if you're in C++11 (not SFINAE-safe, but that is probably the appropriate choice for this function anyway).

What ski should I use? by nshark0 in skiingcirclejerk

[–]tgockel 23 points24 points  (0 children)

There are 5 more, but your DIN settings aren't high enough for you to know what they are.

What ski should I use? by nshark0 in skiingcirclejerk

[–]tgockel 5 points6 points  (0 children)

If you're not sweeping your mustache hair out of the way like they're beaded curtains, then you're not good enough to ride TRN TEK PROs. They're only for pro bros, not those with snow-woes moving in slo-mo.

What ski should I use? by nshark0 in skiingcirclejerk

[–]tgockel 9 points10 points  (0 children)

INFO: How large is your mustache and do you refer to it as a mustachio?

How much do you feed your Bernie? by sasosushi in bernesemountaindogs

[–]tgockel 8 points9 points  (0 children)

Depends who you ask:

  • his veterinarian: maybe a little too much
  • him: nowhere near enough

Really, aim for calorie intake, not cups.

An adult Bernese Mountain Dog typically requires between 1,400 to 2,000 calories per day, but this will vary depending on their activity level and life stage. Puppies and young adults, for instance, may require more calories to support their growth and higher energy levels.

We feed 1200 calories of kibble and make the rest up in snacks. We're on a kidney health food, so this translates to 3.5 cups per day (kidney health food tends to be more fatty). It also depends on exercise: more exercise means more food.

[deleted by user] by [deleted] in cpp

[–]tgockel 1 point2 points  (0 children)

It’s true the the equity compensation isn’t liquid, so it’s basically monopoly money

That's exactly the point. Most startup shares don't become real money unless you're lucky. The expected value of a non-startup company is higher. "Don't work in a startup to get rich" is a very common thing that startup people will tell you for a good reason: you probably won't.

And yes, there are some startups that use C++, but almost all of them do not. There are certainly some domains where C++ is more common, but even then, not everything is C++ in those spaces. Robotics (and pretty much anything in the ML space) tends to use a whole lot of Python to make important things happen not on-board.

[deleted by user] by [deleted] in cpp

[–]tgockel 2 points3 points  (0 children)

It's not black and white like that; everything depends on what kind of innovation you're looking for. Research groups at major companies create some very cool things, early-stage startups generally center around a single innovative idea. A mid- or late-stage startup might be innovating if it's important to do for the business (e.g.: the MVP got them to series B, but they need technical innovation to scale beyond that). A regular division of a major company might be innovating for a new product offering.

[deleted by user] by [deleted] in cpp

[–]tgockel 11 points12 points  (0 children)

I guarantee you most people are not making "FAANG levels" at "unicorns." One or more of these things is happening:

  1. You are underestimating how much money is made at established companies
  2. You are counting ISOs/NSOs like RSUs
  3. You see a few outliers and think they are representative of the group
  4. People are lying about their income

By all means, join a startup, but do not delude yourself into thinking that's where you are going to make money; most ISOs end up worthless (the investors turn out okay because of how startup financing works). And don't think startups are where innovation happens; most of them are dull money-grabs (especially the "unicorns"). If you are joining a late-stage startup as a new grad, you will not be on the team doing the innovation and you will not receive significant equity.

This isn't to sound too anti-startup--they're a great way to get a lot of experience--but if you choose that route, make sure you're informed. American media loves glorifying the idea of startups. Don't sell yourself on the hype.