Preferences

mabster
Joined 227 karma

  1. Memories shattered. Yeah, you're right and I would have watched interlaced broadcast content.

    I saw interlaced NTSC video in the digital days where the combing was much more obvious and always assumed it was only an NTSC thing!

  2. I'm guessing you're talking about interlacing?

    I've never really experienced it because I've always watched PAL which doesn't have that.

    But I would have thought it would be perceived as flashing at 60 Hz with a darker image?

  3. You nailed it - that's my criticism :)

    I've worked with a lot of code like this (particularly C libraries and litanies of return codes), and it's fine... But I prefer something like Java-style exceptions. And with Java lambdas or Kotlin the trend is unfortunately away from checked exceptions these days...

    I too am interested in your other reasons!

  4. I'm the opposite - I really like checked exceptions in Java because it's very easy to see how developers are handling errors and they also form part of the function signature.

    Most functions will just pass on exceptions verbatim so it's better than error return values because with them the entire codebase has to be littered with error handling, compared to fewer try catch blocks.

    setjmp, etc. are like unchecked exceptions, so I'm also not a fan, but I use this occasionally in C anyway.

  5. I just pictured someone getting a message to check which model was right from an ancestor 20 giga generations ago!
  6. Or the timeline just doesn't have capacity for experimentation so the expectations are clear right from the start!
  7. In context most of the major optimisation work was on the engine. The game code can be and usually is slow but we do try to tame things in an O() sense.

    I worked licensed titles for a while and that area the quality of a title and whether it sells were largely uncorrelated haha!

  8. I've written this kind of function so many times it's not funny. I usually want something that is fed from an iterator, removes duplicates, and yields values as soon as possible.
  9. We had similar thoughts about "premature optimisation" in the games industry. That is it's better to have prematurely optimised things than finding "everything is slow". But I guess in that context there are many many "inner-most loops" to optimise.
  10. I can't remember the details because we coded the SPU in C, but the PS3 SPUs had odd and even cycles with different access properties too.
  11. I worked with a developer that copied and pasted A LOT and would keep his fingers on the old copy and paste buttons (Ctrl-Ins, etc.). I've even seen him copy and paste single letters. He's one of the most productive developers I've ever worked with.
  12. In my setup I use Colemak DH mod which loses the Vim arrows but I added a modifier where the 'a' key (left pinky on home row) when held down switches the right home row to arrow keys. Hasn't been an issue.
  13. We purposefully didn't use shared_ptr and hence weak_ptr. With these, it is all too easy to construct the "bad" version which has the stub reference count and pointer stored far away in memory from the object itself requiring a double dereference to access the object which is bad for cache performance. Instead we derived off a shareable class that has the reference count to make sure it is close in memory.

    We were happy to use unique_ptr, however.

  14. Was also gonna jump in with the old way of doing circle boundaries, which can be done all integer: https://en.m.wikipedia.org/wiki/Midpoint_circle_algorithm
  15. For my day job I'm either "Getting things done" or Zettelkasten anyway because it's more about retrieval than memory.

    But for languages, SRS is great.

    And I'm also glad I memorised a whole bunch of math formulas way back. E.g. Boolean algebra I keep using an identity that I couldn't find on identity sheets by web search.

  16. Totally expected the "desirable difficulties". For SRS to work effectively it has to "be yours" and that only works effectively if you're building your own cards.

    With Duolingo it kind of encourage small bursts rather than the hour (minimum) per day you need with Anki for better or worse.

  17. Nice write up!

    I've got a soroban but never got around to learning it. Definitely should pick that up again.

    When I was at Uni (electrical engineering) I noticed that the Chinese students would reach for their calculator way less than western students and assumed that was because of the abacus.

    Side note: they tried to shape a control theory subject (everyone was getting 100%) by disallowing calculators in tests. It was rough having to do things like long division for the first time in decades. Still everyone got 100% haha.

  18. We used to learn all this stuff by word of mouth back in the day, and it's been interesting watching young developers "rediscover" these things on YouTube, etc. Its great because now these techniques are part of public discourse rather than known only by a few.
  19. I particularly don't like ternaries with side-effects or control flow. In particular with control flow I prefer it always tabbed in otherwise sometimes I miss it -- if statements are much better for this.
  20. Yeah understood. In electronics: Resistor values are Gaussian but they test and bucket the resistors so that they can be treated as tolerances for similar reasons.
  21. Yeah it's probably field specific and I guess Gaussian-based uncertainty would be more about statistical sampling rather than tolerances. I've noticed that if arithmetic is being done on it it's almost certainly Gaussian. I just mean whenever I see uncertainty like this, I don't know what is meant!
  22. Something that's bugged me about this notation though is that sometimes it means "cannot exceed the bounds" and sometimes it means "only exceeds the bounds 10% of the time"
  23. My favourite were older embedded systems where 0 was an address you actually do interact with. So for some portion of the code you WANT null pointer access. I can't remember the details but I do remember jumping to null to reset the system being pretty common.
  24. "Alive / dead / iffy" still seems to hold up.
  25. Just a big thanks from someone lurking on your blog for a while now. Every article has been fascinating deep insights!
  26. It's been a while since I've done this stuff, but VHDL seemed like this to me: that generally if it compiles, it synthesises. I really battled with Verilog!
  27. On the scheduling end, I'm surprised the article didn't mention https://github.com/fasiha/ebisu which uses Bayesian statistics.

    When I was studying Japanese, I was thinking how it's always best to learn words in sentences and that it would be good if the sentences for a particular word were random.

    Extending that, the sentences could be picked such that the other words are words scheduled for today meaning much more bang for buck per learning hour.

  28. I had kind of written off using types because of the complexity of physical units, so I will be having a look at that!

    My biggest problem has been people not specifying their units. On our own code end I'm constantly getting people to suffix variables with the units. But there's still data from clients, standard library functions, etc. where the units aren't specified!

  29. Totally missed that, thanks! I don't know the library very well, but as far as I can tell they don't support .xyxy style sizzling with the SIMD Vec4 type.

    They're using the same "proxy object" method I was doing for their sizzling which I'm pretty sure won't work with SIMD types but would love to be proven wrong!

    I haven't deep dived into the library as I'm no longer doing this kind of code.

  30. Unfortunately GLM doesn't use SIMD instructions.

    I really wanted something that's compatible with shaders and fast so we can quickly swap between CPU and GPU because it was time consuming to port the code.

    I've been down this road before. If you aren't doing SIMD it's pretty easy to implement but relies on UB that works on all the compilers I tried (C++ properties would make this better and portable). I got something working with SIMD that unfortunately doesn't compile correctly on Clang!

This user hasn’t submitted anything.

Keyboard Shortcuts

Story Lists

j
Next story
k
Previous story
Shift+j
Last story
Shift+k
First story
o Enter
Go to story URL
c
Go to comments
u
Go to author

Navigation

Shift+t
Go to top stories
Shift+n
Go to new stories
Shift+b
Go to best stories
Shift+a
Go to Ask HN
Shift+s
Go to Show HN

Miscellaneous

?
Show this modal