ROSE-9?

A few months ago I was thinking again about Pavel Panchenka’s (LLM-assisted) “We’d be Better Off with 9-bit Bytes”, which posits that standardizing on nine-bit bytes would have saved us from a number of encodings running out of space while not having much of a downside. They’re even historically plausible given the PDP machines from DEC with 18-bit and 36-bit words. But what would the impact have been on small systems, those that got the most out of every byte, if not necessarily every bit?

YAML is (not) my preferred configuration format

Sometimes you have configuration files or simple data files that you want to maintain by hand, in a text editor. There are dozen of reusable formats for this, but only a few of them really support hierarchical entries. You can argue that configuration files should stay relatively flat, but if you eventually run into a situation where you need hierarchy, you’ll be unhappy not to have it.

What's in a Button?

A while back I posted this spicily-phrased take:

I appreciate that someone else understands that being a GUI has some basic requirements and “draws to the screen” is not the interesting one. The bar is about 20cm off the floor but everyone forgets to jump.

Despite mostly not working on GUIs in my career, I have strong opinions about consistency and about affordances for beginners and power users alike. So today, let’s take a simple case study: a button.

Older Posts

  1. 2025-04-01 SICPelago
  2. 2025-01-12 ROSE-8 in customasm
  3. 2024-12-26 The Shell is a Program
  4. 2024-07-02 AnyObject
  5. 2024-04-07 XZ Gon' Give It To Ya
  6. 2024-04-06 Run-time Polymorphism in Swift
  7. 2024-01-20 Online Communication
  8. 2024-01-07 The Biggest Smallest PNG
  9. 2023-12-28 CellLVM
  10. 2023-12-14 Protobuf Is Almost Streamable
  11. 2023-12-13 Daylight Saving Is Temporal Time Zones
  12. 2023-11-26 GitMounter
  13. 2023-10-23 Type Erasure in Rust
  14. 2023-10-09 Soft Orders of Magnitude
  15. 2023-10-04 There's No Such Thing As "Implicitly Atomic"
  16. 2023-07-15 HOW TO REFER TO A MAGIC CONSTANT IN C
  17. 2023-04-01 sNaNs and qNaNs
  18. 2023-02-12 Setting up GoToSocial
  19. 2023-01-22 Rescuing Files From Classic Mac OS...with Swift!
  20. 2022-11-28 The Two Faces of Codable/Serde
  21. 2022-10-09 Swift was always going to be part of the OS
  22. 2022-05-14 Relative References in ARM64 Disassembly
  23. 2022-04-24 Default Arguments and Label-based Overloading
  24. 2022-03-19 #TalkPay
  25. 2022-03-02 UnsafeMutableRawBufferPointer
  26. 2022-02-21 Dynamic Linking Is Bad For Apps And Static Linking Is Also Bad For Apps
  27. 2021-12-31 Swift Regrets: Wrap-up
  28. 2021-12-30 Swift History: Assignment Methods
  29. 2021-12-28 Swift Regret: inout Syntax
  30. 2021-12-26 Swift Delight: Optional Conveniences
  31. 2021-12-23 Swift Regret: try?
  32. 2021-12-21 Swift Delight: try
  33. 2021-12-17 Swift Regret: Operator Function Lookup Rules
  34. 2021-12-15 Swift Regret: "Double" rather than "Float64"
  35. 2021-12-10 Swift Delight: Implicit Member Syntax
  36. 2021-12-08 Swift Regret: Weak Vars in Structs
  37. 2021-12-03 Swift Regret: Lazy Vars in Structs
  38. 2021-11-30 Swift Delight: No Unused Results
  39. 2021-11-24 Swift Regret: Open Protocols
  40. 2021-11-21 Swift Regret: Retroactive Conformances
  41. 2021-11-18 Swift Delight: Library Evolution
  42. 2021-11-10 Swift Mangling Regret: Private Discriminators
  43. 2021-11-05 Swift Mangling Regret: The "Old" Mangling
  44. 2021-11-03 Swift Mangling Regret: Library Evolution
  45. 2021-10-29 Swift Delight: #available
  46. 2021-10-22 Swift Regret: Implicitly-Hashable Payloadless Enums
  47. 2021-10-20 Swift Regret: Top-Level Decls in Script Mode
  48. 2021-10-15 Swift Delight: Names for Generic Parameters
  49. 2021-10-13 Swift Regret: Generic Parameters Aren't Members
  50. 2021-10-08 Swift Regret: OpaquePointer
  51. 2021-10-06 Swift Regret: Unannotated C Enums
  52. 2021-10-01 Swift Delight: Value Semantics Collections
  53. 2021-09-29 Swift Delight: guard
  54. 2021-09-24 Swift Regret: Inferred Property Types
  55. 2021-09-22 Swift Regret: Implicit Optional Initialization
  56. 2021-09-17 Swift Regret: Subscript Trailing Closures
  57. 2021-09-15 Swift Regret: Subscript Argument Label Rules
  58. 2021-09-10 Swift Regrets
  59. 2021-09-10 Swift Regret: Unapplied Instance Methods
  60. 2021-09-08 Swift Regret: Bound Methods
  61. 2021-08-29 Swift Regret: Type-based Overloading
  62. 2021-08-25 Swift Regret: AnyObject Dispatch
  63. 2021-08-20 Swift Regret: Labeled Tuple Elements
  64. 2021-08-18 Swift Regret: Tuples and Argument Lists
  65. 2021-08-13 Swift Regret: Sequence
  66. 2021-08-11 Swift Regret: mutating Protocol Methods vs. Classes
  67. 2021-08-06 Swift Regret: NSUInteger
  68. 2021-08-04 Swift Regret: Protocol Syntax
  69. 2020-11-15 Negotiate Your Offers!
  70. 2020-10-20 The Swift Runtime: Enums
  71. 2020-10-06 The Swift Runtime: Class Metadata Initialization
  72. 2020-09-29 The Swift Runtime: Class Metadata
  73. 2020-09-21 The Swift Runtime: Uniquing Caches
  74. 2020-09-14 The Swift Runtime: Type Metadata
  75. 2020-09-07 The Swift Runtime: Type Layout
  76. 2020-08-31 The Swift Runtime: Heap Objects
  77. 2020-08-26 Objective-Rust
  78. 2020-07-07 Suffusion: Playing with Filesystems
  79. 2020-05-24 ROSE-8 on Mac OS 9
  80. 2020-04-03 Shallow Git Repositories
  81. 2020-04-01 Swift on Mac OS 9
  82. 2020-02-06 Flexible Identities in git
  83. 2020-02-04 Introducing the Game 'by Color
  84. 2020-01-28 ROSE-8: Console Mode
  85. 2020-01-22 Setting up gitweb on Shared Hosting
  86. 2020-01-13 ROSE-8
  87. 2019-12-24 quasiquarantine
  88. 2019-09-25 Queue, Queeu, Quuee
  89. 2019-09-13 Presentation on PrintAsObjC
  90. 2019-08-01 > go east
  91. 2019-02-21 A Shiny Magic Number
  92. 2018-04-29 Misleading Metrics and UX Tradeoffs
  93. 2018-04-03 "FIXME" Doesn't Always Mean "Fix Me"
  94. 2018-03-22 My Little (String) Optimization, Part 2
  95. 2018-03-15 My Little Optimization: The Compiler Is Magic
  96. 2018-02-26 Many-to-Many Protocols
  97. 2018-01-29 Color Palette #8
  98. 2017-09-07 The New Kingdom of Nouns
  99. 2017-09-05 Over-abstraction
  100. 2016-08-21 Macromancy, Part 2
  101. 2016-08-07 Macromancy
  102. 2016-06-19 Pronoun Buttons
  103. 2016-05-29 Webmailer's Update Bar
  104. 2016-05-23 So You Want to Be a (Compiler) Wizard
  105. 2015-12-29 Re: Contempt Culture
  106. 2015-11-18 Recommendations
  107. 2015-05-09 Nibblesort: Adventures in Optimization
  108. 2015-02-22 AlterConf SF/Oakland
  109. 2015-01-24 “Skip the FFI”
  110. 2014-12-28 SIGWINCH
  111. 2012-12-08 How to Write a Checker in 24 Hours
  112. 2012-10-02 Git Tricks
  113. 2012-04-26 Keyboard Adventures
  114. 2011-08-10 "Little Big Details"
  115. 2011-07-29 Weak Linking
  116. 2011-07-25 Using Clang from SVN in Xcode
  117. 2011-07-22 rm vs. Time Machine
  118. 2011-07-14 Priorities
  119. 2011-06-27 git add
  120. 2011-06-20 Automatic Reference Counting
  121. 2011-06-16 Dealing with "Sandwich Code"
  122. 2011-06-05 gdba
  123. 2011-06-03 Chrome vs. Safari
  124. 2011-05-31 User-Side Troubleshooting
  125. 2011-05-30 Auspicious Continuation
  126. 2009-07-21 Scripting Bridge
  127. 2009-07-08 What Happened to Dockyard?
  128. 2009-06-26 Garbage Collectors and Stack Drawers
  129. 2009-06-21 Z shell
  130. 2009-05-22 “Several New Features”
  131. 2009-05-05 C++ Templates are Turing-Complete
  132. 2009-04-21 [Meme] How Many HTML Elements Can You Name in 5 Minutes?
  133. 2009-04-16 Safer Plugin Categories
  134. 2009-04-02 Hacking Safari 4...for Great Convenience
  135. 2009-03-27 Const Correctness
  136. 2009-03-19 Categories and +load
  137. 2009-03-15 Subversion Checksum Problems
  138. 2009-03-06 JavaScript Tetris
  139. 2008-09-04 Objective-J and Objective-C
  140. 2008-08-28 HTTPS and Name-based Virtual Hosting
  141. 2008-03-08 Alerts Without Apps (or nibs)
  142. 2008-01-14 NSNumber, CFNumber, and CFBoolean
  143. 2007-12-13 GenericToolbar and IB3
  144. 2007-10-27 Performance Optimization: Why We Can't Use valueForKeyPath:
  145. 2007-09-01 Short Xcode Tip: Plugins
  146. 2007-07-15 Port 25 Blocked?
  147. 2007-06-27 GenericToolbar Icon
  148. 2007-04-13 The Symbolism of Pretty URLS
  149. 2007-03-07 Flexible PHP
  150. 2007-01-12 Inauspicious Beginnings

Possibly Related Tags