Oddbean new post about | logout

Notes by nilostolte | export

 There are so many fairy tales like this... 🙄

https://m.primal.net/Izpz.jpg  
 You should try some craft beer in Prague! 🍺 There must be some cool brewpubs there! 
 I LOVE TAKING SHORTCUTS

It's what I do to avoid coding. The less I code, more time I have to do more work in less time or just to have fun. Although I also have fun when coding I'm not keen to do it when it starts to become a burden. That's why taking shortcuts is so handy. 😂https://m.primal.net/IhuU.mp4  
 GUI CODE REUSE IS JUST AN UTOPIA, BUT WHY!?

Reusable code has always been the holy grail in programming, but unfortunately, as far as GUIs are concerned, this concept remained highly elusive, mainly because we developed technologies that actually prevent code reusability.

https://m.primal.net/IhsC.png 
Determining the best language to code completely portable interfaces is currently a challenge. What is clear is that there must be a way to do that directly on hardware using GPUs, or at least the rendering part. Therefore, shader languages seem to be the most appropriate way to attack this problem.

GLSL seems to be the simplest, the most popular, and the most convenient shader language, since it works in practically all platforms and OS, and it's supported by OpenGL which is an open source library and already a standard in graphics for many decennials.

Despite its simplicity, GLSL still is an uncommon way to do things due to GPUs idiosyncrasies. Fortunately, GLSL hides these details but they are still quite obvious since it works quite differently than common programming languages, that are designed to run on CPUs.

In addition, font management is inexistent in GLSL. This means that font management must be done by hand, that is, by displaying glyphs as paths, one by one, using the glyphs advance widths as well as kerning information.

This is obviously too much to ask for.

Therefore, portability as well as high rendering performance come with a price with nowadays technologies. Once one is willing to pay that price, though, a whole new universe unveils, with huge repercussions.

The question that remains is always the same: why this hasn't been done before and why these tools are not widely available? Probably because we gave priority to other technologies that are easier to use and learn, but that might one day disappear or drastically change.

That's probably not only because of the limitations they impose, but also because of the specific niche they have been created for, and that for this reason, are not portable.

Notwithstanding their widespread use, these technologies can be seen rather as hammers, assuming that all GUI problems are just nails. 
 #[1] Hey! 
 Hey! Glad to see you here. I'm a bit lost for now. 😂 
 Not too bad. So, is this platform really good or what? 😅 
 Oh, I see.  @unclebobmartin was asking me on X about my "relay". It looks like mine is "Primal" 
 I'm now trying to connect to all relays I can. Hopefully this is what's one is supposed to do. 🤔 
 I'm connected to 11 relays by now, Numbers are increasing fast. 
 I'm unable to connect to neither one of these three. 
 Thanks! I'm now filtering and staying only with the fastest. 
 No problem. Thanks. 
 Not a basement, an apartment. This is the view I have.  😉https://m.primal.net/IhCs.jpg  
 Whoa! So many trees! Where's this? 
 😂