HackerTrans
TopNewTrendsCommentsPastAskShowJobs

NathanOsullivan

no profile record

Submissions

The Cost of GUIDs as Primary Keys (2002)

informit.com
3 points·by NathanOsullivan·4 lata temu·1 comments

comments

NathanOsullivan
·4 miesiące temu·discuss
IMO it is 100% this - these AI tools are letting anyone solve problems that were previously in the domain of programmers.
NathanOsullivan
·7 miesięcy temu·discuss
I am off similar vintage to the author.

I have no idea when Apache first supported SSI , but personally I never knew it existed until years after PHP became popular.

I would guess , assuming that `Options +Includes` cannot be done by unprincipled users, that this being a disabled-by-default feature it was inaccessible to majority of us.
NathanOsullivan
·3 lata temu·discuss
Normally I would eye-roll at these kind of self promotions but it looks like you are trying to help with a real pain point of Nix.

I put a good amount of time getting to grips with "raw" nix with the I imagine common yo-yo-ing between "I don't get it" and "oh I see, this is great" but when I realised how the intersection of nixpkgs and package versioning actually worked.. I was done.

For a tool that from the outside seems is so heavily focused on immutability to just continually throw away old versions in nixpkgs head is a head scratcher, and as a monorepo isn't a great fit for utilising different revisions for different packages either.

I can only guess that due to single repo containing every package it wasn't seen as practical to just continually append versions to, but when the diff log is just full of 'delete version X URL and it's hash, add X+1 and new hash' from the outside at least, it felt like a real missed opportunity.
NathanOsullivan
·3 lata temu·discuss
It's not a good reason but I believe this happens because voice command has to go to Google server, Google talk to light vendor API, light vendor communicates with your device, and lights go off only if all of this succeeds.

Meanwhile, button in vendor app will not use internet so lot less can go wrong.
NathanOsullivan
·3 lata temu·discuss
Snaps is just the latest in a long line of failed attempts to differentiate their desktop.

Give it a few years and they will switch to Flatpack.
NathanOsullivan
·3 lata temu·discuss
Re type annotations, is there some non-default setting or plugin I am overlooking?

As a long time pycharm user who recently switched to vscode, I have found pycharm's understanding of type annotations to be borderline broken.

  def foo(value: Optional[str]) -> None:
      print(value.replace("bar", "baz"))
mypy and vscode both point out this will fail when value is None, but my pycharm seems to think this is perfectly fine.
NathanOsullivan
·3 lata temu·discuss
Not aware of a built in way, but if you use bash or similar as your shell you can do an alias like

  git config --global alias.chpull '!f() { git checkout "$1" && git pull; }; f'
NathanOsullivan
·4 lata temu·discuss
I got into PCs around same time as you, but imho the best overclock came years later: the Intel Celeron 300A would happily run at 450mhz for a whopping 50% increase.

I was right into FPS games at the time, and for a while it seemed every second person was running the overclocked 300A.
NathanOsullivan
·4 lata temu·discuss
FWIW bash supports arrays, and running commands with an array providing the arguments
NathanOsullivan
·4 lata temu·discuss
Like it or not, Docker is the Kleenex of containers.
NathanOsullivan
·4 lata temu·discuss
I don't understand why Computer Programmer (or just Programmer) went out of fashion.
NathanOsullivan
·4 lata temu·discuss
Long time OW player here.

Smurfs in overwatch (1) were incredibly obvious because

a) each players 'level' - which correlates directly with hours played - was prominently displayed, so new accounts were immediately identifiable; and

b) as a hero-based shooter, there are various macro strategies and hero-specific techniques that genuinely new players simply can't be aware of

Many smurfs would also have unintended "fancy" battle.net tags - think ツ kinda thing - which were only available by initially purchasing account with region set to an Asian country before then changing it to US.

At it's worst, one would simply look at the player names and levels on the loading screen and know which team was going to win before the match had even started.

Combined with relatively long match times and the inability to forfeit in Overwatch; the end result is many, many hours of dead rubber games over the years.
NathanOsullivan
·4 lata temu·discuss
It's fascinating to me how some solutions in programming become 'trendy' and get used everywhere, even when it may not be the right solution.

And then other solutions, like the "COMB GUID" from 2002 have stayed in relative obscurity despite neatly solving a small, concrete problem so many of us encounter.

The author's 20 year old solution is amazingly similar to the recent UUIDv7 draft, right down to assigning 48 bits to the timestamp component; buried on page 6 of an otherwise unassuming article.

This should have been a revelation for everyone building database backed applications, but instead has either been outright ignored or reinvented in various ways over the years instead.

Makes me wonder what other solved-problems our profession has largely overlooked.
NathanOsullivan
·4 lata temu·discuss
I can't get into doom eternal either, but for the opposite reason. For me it is too arcadey - the way enemies flash when a glory kill is possible, the subsequent button combo and fixed animations, the oversaturated colour of items as they spew out of the killed enemy.

it is just constantly shouting "this is a game!" in a way that for me personally, prevents any immersion in the world they have created