What Vision Pro Acutally Is (I think)

     

I’ve had some fun conversations with people about Apple’s Vision Pro in the last few days, and a few people sound suspiciously like what Steve Ballmer sounded like when the iPhone first launched.

If you weren’t around back then, there was no AppStore on the phone, you couldn’t send images over text messages, the screen was 9cm (3.5 inches), it only worked on AT&T Edge networks, you had to plug it in to iTunes to transfer contacts and music, it had a 4GB disk, it had a 5 hour battery life, and it cost $500 on top of having to buy a cell phone plan only from AT&T (unheard of at the time).


WASM Raycaster in C with Clang no stdlib

     

I’ve been building software for profit for 25 years now - for fun since I was about 12. For the past year and a bit, I was focused on helping build out and fix some infrastructure. While there was some coding involved, I wasn’t doing much new software development.

I had an urge to shake off a bit of cruft, and do a little “code 5k”. I felt like digging back into some lower level code to stretch my legs - and, of course, throw in some games programming.


SVG as a UI

     

SVG as a UI

Did you know you can put JavaScript into SVG files? You can use this little technique to make little embeddable Flash like applications that also work as standalone applications.

Here is a small example (lightly tested in Firefox and Chrome):

Try clicking around in that image above (or use w,a,s,d to move the circle around). If you view that SVG directly

=> https://robrohan.com/wp-content/uploads/2023/01/test.svg

you’ll notice it works just like it does when it’s embedded.


Mastodon; Machine Learning; Mandarin

     

Mastodon; Machine Learning; Mandarin

TL;DR I made a Mastodon bot that uses Tensorflow, Stable Diffusion and Text to Speech to create flashcard like posts to study for the HSK Mandarin Test. Here is an example:

=> https://botsin.space/@hsk_words/109408750566290159 苹果

Introduction

I’ve been studying Mandarin Chinese for quite a while now. Far longer than my ability would dictate.

In the past I’ve studied in waves. I’d study for 3 or 4 months, and then I wouldn’t study for a long while - sometimes years. Then, I’d pick it up again and toddle around with it for a while. Learning Mandarin has become more of a fun hobby than any kind of life goal at this point.


Narrative Programming

     

Treating computer programming as literature

I’ve been playing around with the idea of mixing code and documentation. It’s not an original idea, but I think my implementation may be somewhat unique.

The idea is combining a cup of Literate Programming (an idea created by Donald Knuth), with a sprinkle of javadoc / Doxygen.

I’ll start with an example output first. The following link is the output from a small example program to teach how to use C to compile to WASM:


NFT Blockchain

     

I’ve been getting a lot of people asking me questions about NFTs, Blockchain, and Bitcoin. I generally give the unhelpful advice:

Never invest in a business you cannot understand — Warren Buffett

It’s great advice, but, in technology, I think it’s becoming less useful over time. In 2022, it is difficult to fully understand a lot of what is out there. I mean, I am very interested in quantum computing and machine learning, but I wouldn’t say I fully understand it - and I’ve already invested quite a bit of my time in those subjects.


Fun with Binary Trees

     

This is another contrived post to test out my interactive coding scripts, and also to test making a d3 tree graph. While this post is probably not going to be enlightening, I hope it is somewhat entertaining.

One of my favorite data structures is the binary tree. It’s not the fastest at everything, but it does most things you’d need, and it does them reasonably quickly.

If you have a list of things that you need to sort, search, and also insert new items into, a binary tree is not a bad thing to consider. While it’s searching is nowhere near as fast as, say, a hash table and it’s sorting isn’t as fast as timsort - it’s versatility and simplicity make it one of my goto structures.


Using WebXR types in Typescript

     

I’ve recently taken my hand made type definitions for WebXR (for use in my Mesh Game Engine) and submitted them to DefinitelyTyped (DT).

Lazily, I hadn’t switched the game engine over to using the DT version. The definitions just got their first update from a new PR so it seemed like the perfect time to swap over.

There were a number of gotchas in doing so, so I thought I’d post about how I got it working and some pitfalls you might run into if you’re into this kind of thing.


Fun with Matrices

     

This post is a little bit contrived.

Since I’ve been playing around with 3D graphics and GPUs, I’ve become fascinated with matrices (and maths in general). On top of that, I’ve been looking for a reason to play with Jupyter Notebooks. I’ve become interested in literate programming as well - it seems like a fantastic teaching tool.

So instead of doing what I was supposed to be doing this lovely Saturday, I decided to try to write a super basic (non compatible) version of Jupyter Notebooks for Javascript posts (I call it Kale). I decided to write a simple post about using Matrices in Javascript to try it out.


You Don't Need All That JS. Diffy.

     

I find the simplest solution is often the best one. When it’s not, it’s often on the right path.

I’ve been helping a mate try to get his startup running. He is a seasoned (and exclusively) back end engineer who is now thrust into the new 2020 front end world. He hates it. He bemuses, “nothing makes sense and everything is overly complicated.”

Humorously timely, there as a video put out by the goto; event: You Really Don’t Need All That JavaScript, I Promise. I really connect with the first part of the video, I think he does a great job of summarizing problems with modern “doing it the right way” web development.