Hacker News new | past | comments | ask | show | jobs | submit | thedufer's comments login

Our code review process involves a reviewer explicitly taking ownership of the PR, and I think it's a reasonable expectation with the right practices around it. A good reviewer will request a PR containing 1000s of lines be broken up without doing much more than skimming to make sure it isn't bulked up by generated code or test data or something benign like that.

September is a funny choice to use as an example, because it is named after a number (sept-: prefix, 7). The wrong number, though.


This is because September used to be the seventh month. March was the new year and coinsided with spring planting, the spring equinox. At some point we switched from a solar calendar to a lunar one and that's when the new year month changed. Source for all this is the dead sea scrolls, see the book "Ancient Mysteries of the Essenes" for a deep dive on our calendar.


I thought the reason is because they added two months named July and August after emperors, which offset all the numbers by 2. (Sept, Oct, Nov, Dec - 7, 8, 9, 10)


That happened later, well after January and February had been added. I think the twelve month Roman calendar was from pre-history so we don't know when or why it was done. July and August were Quintilis and Sextilis, five and six.


Yeah, seems like I mixed my calendar history up. Reading this set me straight: https://en.m.wikipedia.org/wiki/Roman_calendar

Thanks for the reply, it led me to look into it deeper.


so, for those who haven't heard it yet...

why do programmers get Halloween and Christmas confused?

because oct(31) == dec(25)


Sept, Oct, Nov, Dec. My favourite months, wish they still where 7-10.


So remembering this little tid bit would do more harm than good


All of the months with numerical prefixes are wrong by the same offset, though. So as long as you remember that as well, it can be useful. Particularly since they're the last ones and thus take the longest to count to.


Same with Quartember, Quintober, Sextober, October, November, and December.


In fact, it sounds like the 40% includes all exits, including those that returned only 1x. That would mean that the 60% is all 0s, and that the chart shows a negative total return in all rows, without even discounting for the holding period.


I didn't realize this was becoming more common. It seems far more uncomfortable for everyone involved, although based on the comments it does seem like some people appreciate a phone/Zoom call. I don't really understand why, though (please try to explain!). An email gives me more time to process difficult news, and prevents me from needing to act positively in an unambiguously negative situation.

I've been called for a rejection exactly once, less than an hour after I'd left the office where I was being interviewed. I was kind of shocked (the interviews went really well) and I didn't realize until later that the recruiter never said my name, and had previously claimed I would absolutely not get the result for at least 3 days. A week later, I got an offer, and I always felt a little bad for the candidate I unintentionally caused to get ghosted because the recruiter dialed the wrong number and I didn't figure it out.


Gap insurance covers a tightly-bounded amount of loss (it will never pay out more than the remainder of your loan), which is why it's so cheap. That's also why it's a great target for self-insurance - you know exactly how much you need to have to cover the worst-case loss. If you have the cash, you are almost certainly better off skipping this one.


If you have the cash you might as well just skip the loan, unless it’s unconscionably low.


For new cars you can sometimes get really low loan rates that are lower than inflation. IMO it's basically free money to take out the loan.


NYC uses ginkgos for this purpose. They still make up a fairly small portion of the trees in the city, though. They're also particularly hardy when it comes to handling pollution, which is obviously valuable in cities.

I believe this style of root system is called a taproot.


The argument against this is that a company spends millions of dollars in research to learn something valuable, and anyone who didn't spend that money can trivially outbid for the employee that knows the results, since they can pay the employee some significant portion of the cost of the research that they didn't have to do and still come out ahead. I'm not sure I entirely buy this, but it's a lot more nuanced than "just pay your employees well".


this is the kind of noise you get when you decide that an idea is something that can be owned


Then maybe the conclusion is don't spend millions to research that type of thing.


What type of thing? This applies to anything. We need to pay close attention to maintaining rules to foster research and innovation.


They're not applied as widely as it may seem. The terms are typically "up to" the length of time, and in practice firms waive 50-100% of the non-compete length pretty frequently, which is a decent sign that the cost is non-negligible. It is a bit tricky not knowing until you quit how long you'll be held to it, though.


The original comment was confusing - they're getting $60B, and also have a mandate to modernize. Only a minority of that money is actually being spent on the modernization. Most of it is being spent on additional auditing of tax returns - it's well known that every $1 spent on audits brings in more than $1 of additional revenue, and we're nowhere near the breakeven point. It's expected that the additional auditing will pay for itself several times over - even if you count the modernization spend against it as well, the government will see a large ROI on this $60B (they're expecting additional revenue of over $200B from the extra auditing).


It's a bit more complex than this, but roughly each block must contain either all pointers/ints or no pointers. There's a tag at the beginning of each block indicating what type of block it is (and some other stuff - the GC stores some state in the tag as well). If you have, for example, a record consisting of a pointer, an int, and a float, it'll be tagged as having all pointers/ints, and the float will actually be a pointer to a block tagged as data, that contains the float.

This is the "float boxing" problem - floats cost an extra pointer chase in most cases. The 63-bit int is an optimization that avoids needing the extra indirection for ints. You can still have 64-bit ints, but they aren't the default, and they cost this extra pointer chase.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: