Recent submissions

Comment · 3 years ago
Some countries selectively put some people in the "you have a very long notice period" and "you will not be working for us, but still be paid, during your notice period" (so-called gardening leave).

Not unusual in the finance industry, somewhat unusual (but I have heard of it) in "more pure tech". Probably also more common the further up you get in the corporate hierarchy.

Comment · 3 years ago
In Sweden, at many places that do a materials science engineering degree, it is historically under "Mining engineering" rather than "machine engineering".
Comment · 3 years ago
The speed of light in vacuum is a hard upper limit. Most signal paths will be dominated by fibre optics (about 70% of C) and switching (adding more delay).

But, yes TrueTime will not magically allow data to propagate at faster-than-light speeds.

Comment · 3 years ago
My take-away from interviewing is that as a candidate, getting a "you did not get the job" doesn't change anything. Since I've had the privilege of mostly being employed while interviewing for new jobs, this is a "meh, status quo" thing. Nothing changes, I have no decisions to make. If I get an offer, I have a decision to make.

Does it sting when I get a "No"? Yes, a little, but I did my best and (presumably) someone else did better. So, I take solace in that I did not have to make a (relatively large) decision.

Comment · 3 years ago
I am cusrious what you mean by "LeetCode-style". My understanding is "present a problem, only take the resulting code, judge that".

I did a fair number of coding interviews (for SRE positions) at Google (I don't actually know how many in total, but 25-30 is probably a safe guess) and, yes, it started with a small problem that should be solvable in well under half the interview time. I only used problems that passed my "is this fair to the candidate" screening (look at problem, try to write a working solution, if that takes more than 7 minutes, the problem is not fair).

The value in the interview comes from (a) listening to the candidate narrating their thought process during the coding, (ii) discussing the solution with the candidate, sometimes in terms of complexity, sometimes in terms of correctness, depending on what is on the board, (3) refining the code written (add more functionality, change functionality).

For a language I knew, I tended to overlook small syntactic mistakes (a whiteboard does not have any syntax highlighting) and if there was any questions about library functions, I would give an answer (and note down what I said, so that would be the standard used when judging) and the bulk of the score came from the discussion about the code, not the code itself.

If that matches what you mean by "LeetCode-style interview", that's certainly been in place since at least 2011. If it does not, things may have changed, but at least the aim wit ha coding interview back when I was still at Google was less "get some code judge, on the code" and more "get some code, judge the discussion about the code". It is also entirely possible that interviewing for SWE positions was different frmo hiring for SRE positions.

Comment · 3 years ago
Even so, it's probably not going to be super-effective, unless each workplace is willing to have enough useful small things that do not require knowing substantial chunks of the existing code base.

It is probably realistic to expect someone to write something useful (although possibly small) in three days. It is less realistic to expect someone to write a useful component integrated in a large system that they have to learn, in three days.

Comment · 3 years ago
In an ideal situation, you'd get all "planned maintenance" emails for things you care about and no emails for the rest of them.

That (probably) means that the system for dealing with planning maintenances (well, usually, "approving them") needs to have a sufficiently good understanding of what humans care about what changes.

At a previous job, the planned change tracking system was REALLY good at tracking what specific compute facility was going to be impacted by any specific change taking place in that facility. And had a really good way of allowing you to filter for "only places I have stuff running" (and I think, even some breakdown of general change types as well).

It was, however, not easy to get notification of "there will be maintenance on submarine cable C, taking it off-line for 4 hours" or "there will be maintenance at cable station CS, taking cables C1, C2, and C3 down for 3h". And as one of the things "we" (the team i worked in then) was doing was world-wide low latency replication of data, we did actually care that cable C was going to be down. But, the only way we could find out was "read all upcoming changes" and stick them in the team calendar.

Was it good? Eh, it worked. Was it the best process I've seen? Probably ,yes.

Comment · 3 years ago
Comment · 4 years ago
How many seconds in an hour? Most of the time, 3600, occasionally 3601, and very rarely 3599. Hours in a day? Mostly 24, but 23 once a year ad 25 once a year.

These all seem like good reasons to make then functions (taking a timestamp as a n argument) rather than mostly-correct constants.

I swear, the more I learn about calendars and timekeeping, the more I realise I never ever want to deal with it.

Comment · 4 years ago
Same thing for the ZX-80 and ZX-81. If you were careful with your text prompts, you could save several bytes by injecting a keyword instead of typing it out, but anything that was a "start of line only" could be tricky injecting into a string.
Comment · 4 years ago
Werrrrlllllll... It all depends on what yo umean by "type". In physics problems, I find taht quantities may be measured in "floats", but have the types "mass", "amperage", "distance per second per second" and the like.

In Go, I would probably model this as:

    type mass float64
    type speed float64
    type acceleration float64
That way, they'd all have float64 as the "storage type", but it would be harder to accidentally pass an acceleration when I wanted a mass.
Comment · 4 years ago
There is a whole lot of pesky athmospheric interference limiting how much detail you can actually resolve.
Comment · 4 years ago
These days, my main use of dd is to get a specific amount of data from a file, where both "bs" and "count" are useful (no, "bs" does not only set the buffer, it also sets the chunk size for reads and writes, this is SOMETIMEs useful and/or necessary with tapes).

So, this is an approximation of a command pipeline I run several times per year, when I happen to need a secret of an approximate length:

    dd if=/dev/urandom bs=6 count=1 | base64
Tune the "bs=6", depending on how long you want your (guaranteed typeable) secret to be. Every 3 bytes in the input will give you 4 characters in the output and keeping the input block size a multiple of 3 avoids having the output ending in "=".

It MAY be possible to replace this use of dd with other shell commands. But, since I needed to learn enough of dd to cope with tapes, I use that.

Comment · 4 years ago
ON the international currency market, one traditional role of the US dollar is exactly "store value". You trade your currencies on the FX market during your day, and comes close to "close of your trading", you exchange all your positions for US dollars, to keep in store for your quiet period. Comes the following day, you trade out your dollars for other currencies. Then the cycle continues.

Does this mean that the US dollar is a terrible currency? No. If another currency meets the same stability criterion, it can (and probably is) used as a short-to-medium term value store.

I don't really see any crypto-currency work well, they're thinly traded, so there's a lot of inherent volatility in the pricing. It is also getting increasingly harder to exchange crypto-currencies for more traditional currencies.

Comment · 4 years ago
If you are selling A as A-prime, you can be a snake-oil salesman even if you are supremely skilled at A.

In Lars' case, he is from what I can see a supremely skilled instinctive archer. There are some historical documentation, from some regions ,documenting feats that Lars is capable of doing.

But, "feating" and "combat skills" are very different things (well, they are for sword disciplines, I will blithely assert the same is true in archery). Yes, both require skill. Yes, training one discipline can improve the other. but they're not the same. Just like how writing Haskell (or Lisp) can make you a better C programmer.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton