Multiplayer Slipways

I’ve been enjoying Slipways, a space exploration/economy game with the tagline “Build vast space empires. Still be done in time for lunch.” Roughly speaking, Slipways is a mini version of Stellaris the way Polytopia (also recommended) is a mini version of Civilization.

But Polytopia is a multiplayer game, and I like casual multiplayer games like that. And Stellaris and Civilization support multiplayer too. And even though Slipways isn’t a combat game, or really a competitive game in any way1, I think you could make a good cooperative multiplayer game out of it: two empires trying to achieve the highest possible score together.

sNaNs and qNaNs

If you find yourself in the unfortunate position of having to think about the difference between IEEE 754 floating-point sNaNs and qNaNs, and keep getting mixed up about which one interrupts execution, here’s a handy way to remember: They’re definitely not “silent” and “querulous”. Because no standards body would name something “querulous”.

This was a quip I made on Twitter years ago. I never got them mixed up again.

(The actual two types of NaNs are “quiet” and “signaling”.)

Setting up GoToSocial

"You should join Google+!" "What is it?" "Not Facebook!" "What's it like?" "Facebook!"

It’s been a few weeks, but I finally found time to “join the fediverse” by setting up my own ActivityPub-compatible server. No, it’s not Mastodon, but that doesn’t really matter. TLDR: you can now follow @jrose@belkadan.com.

Older Posts

  1. 2023-01-22 Rescuing Files From Classic Mac OS...with Swift!
  2. 2022-12-03 Re: Twitter
  3. 2022-11-28 The Two Faces of Codable/Serde
  4. 2022-10-09 Swift was always going to be part of the OS
  5. 2022-05-14 Relative References in ARM64 Disassembly
  6. 2022-04-24 Default Arguments and Label-based Overloading
  7. 2022-03-19 #TalkPay
  8. 2022-02-21 Dynamic Linking Is Bad For Apps And Static Linking Is Also Bad For Apps
  9. 2021-12-31 Swift Regrets: Wrap-up
  10. 2021-09-10 Swift Regrets
  11. 2021-07-05 Keyboard Pants
  12. 2020-11-15 Negotiate Your Offers!
  13. 2020-10-20 The Swift Runtime: Enums
  14. 2020-10-06 The Swift Runtime: Class Metadata Initialization
  15. 2020-09-29 The Swift Runtime: Class Metadata
  16. 2020-09-21 The Swift Runtime: Uniquing Caches
  17. 2020-09-14 The Swift Runtime: Type Metadata
  18. 2020-09-07 The Swift Runtime: Type Layout
  19. 2020-08-31 The Swift Runtime: Heap Objects
  20. 2020-08-26 Objective-Rust
  21. 2020-07-18 A Letter To My Congressional Representatives on the DHS Abuses of Power in Portland, Oregon
  22. 2020-07-07 Suffusion: Playing with Filesystems
  23. 2020-05-24 ROSE-8 on Mac OS 9
  24. 2020-04-03 Shallow Git Repositories
  25. 2020-04-01 Swift on Mac OS 9
  26. 2020-02-06 Flexible Identities in git
  27. 2020-02-04 Introducing the Game 'by Color
  28. 2020-01-28 ROSE-8: Console Mode
  29. 2020-01-22 Setting up gitweb on Shared Hosting
  30. 2020-01-13 ROSE-8
  31. 2019-12-24 quasiquarantine
  32. 2019-11-01 Leaving Apple
  33. 2019-08-01 > go east
  34. 2018-04-29 Misleading Metrics and UX Tradeoffs
  35. 2018-04-03 "FIXME" Doesn't Always Mean "Fix Me"
  36. 2018-03-22 My Little (String) Optimization, Part 2
  37. 2018-03-15 My Little Optimization: The Compiler Is Magic
  38. 2018-02-26 Many-to-Many Protocols
  39. 2018-01-29 Color Palette #8
  40. 2017-09-07 The New Kingdom of Nouns
  41. 2017-09-05 Over-abstraction
  42. 2016-08-21 Macromancy, Part 2
  43. 2016-08-07 Macromancy
  44. 2016-06-19 Pronoun Buttons
  45. 2016-05-29 Webmailer's Update Bar
  46. 2016-05-23 So You Want to Be a (Compiler) Wizard
  47. 2015-12-29 Re: Contempt Culture
  48. 2015-11-18 Recommendations
  49. 2015-05-09 Nibblesort: Adventures in Optimization
  50. 2015-02-22 AlterConf SF/Oakland
  51. 2015-01-24 “Skip the FFI”
  52. 2012-12-08 How to Write a Checker in 24 Hours
  53. 2012-10-02 Git Tricks
  54. 2012-05-16 Big News
  55. 2012-04-26 Keyboard Adventures
  56. 2012-04-10 Mail Aliases
  57. 2011-08-14 Header Anchors: A Safari Extension
  58. 2011-08-10 "Little Big Details"
  59. 2011-07-29 Weak Linking
  60. 2011-07-25 Using Clang from SVN in Xcode
  61. 2011-07-22 rm vs. Time Machine
  62. 2011-07-14 Priorities
  63. 2011-06-30 Quick Look in TextMate
  64. 2011-06-27 git add
  65. 2011-06-20 Automatic Reference Counting
  66. 2011-06-16 Dealing with "Sandwich Code"
  67. 2011-06-05 gdba
  68. 2011-06-03 Chrome vs. Safari
  69. 2011-05-31 User-Side Troubleshooting
  70. 2011-05-30 Auspicious Continuation
  71. 2009-07-21 Scripting Bridge
  72. 2009-07-08 What Happened to Dockyard?
  73. 2009-06-26 Garbage Collectors and Stack Drawers
  74. 2009-06-21 Z shell
  75. 2009-05-22 “Several New Features”
  76. 2009-05-05 C++ Templates are Turing-Complete
  77. 2009-04-21 [Meme] How Many HTML Elements Can You Name in 5 Minutes?
  78. 2009-04-16 Safer Plugin Categories
  79. 2009-04-02 Hacking Safari 4...for Great Convenience
  80. 2009-03-27 Const Correctness
  81. 2009-03-19 Categories and +load
  82. 2009-03-15 Subversion Checksum Problems
  83. 2009-03-06 JavaScript Tetris
  84. 2008-09-04 Objective-J and Objective-C
  85. 2008-08-28 HTTPS and Name-based Virtual Hosting
  86. 2008-03-08 Alerts Without Apps (or nibs)
  87. 2008-01-14 NSNumber, CFNumber, and CFBoolean
  88. 2007-12-13 GenericToolbar and IB3
  89. 2007-10-27 Performance Optimization: Why We Can't Use valueForKeyPath:
  90. 2007-09-01 Short Xcode Tip: Plugins
  91. 2007-07-15 Port 25 Blocked?
  92. 2007-06-27 GenericToolbar Icon
  93. 2007-04-13 The Symbolism of Pretty URLS
  94. 2007-03-07 Flexible PHP
  95. 2007-01-12 Inauspicious Beginnings