Wow, so @internetarchive is launching Palm Pilot emulation soon and it turns out they have my #Diabetes app GlucoPilot up and running in the browser. I released this in 1998 and it was the first portable diabetes management app! plus charts! https://archive.org/details/palm3_glucopil
GlucoPilot : Free Download, Borrow, and Streaming : Internet Archive

glucopil

Internet Archive
@internetarchive OMG wow. It's been almost 25 years since I wrote this to manage my #diabetes on a #palmpilot. I wrote it in Metrowerks CodeWarror C, and the amount of work to draw a pie chart on a system without floating point OR math libraries was nuts. And flood fills? Good lord
@shanselman kids today have no concept ;)
@internetarchive @shanselman You can run CodeWarrior and compile simple apps in your browser here, for the nostalgia: https://macos8.app
Infinite Mac

A Mac with everything you'd want in 1995.

@carbonrod @internetarchive @shanselman I forgot entirely about Metrowerks and Codewarrior, wow
@shanselman @internetarchive flood fill with dithering!
@itanium it was so hard! all manual
@shanselman i made a physics object collision simulator for the Sinclair ZX Spectrum, in Z80 asm. I can appreciate the ordeal... I did solid color fill tho, because I had 8 colors to work with ;-)
@itanium @shanselman Lucky you with all that memory. But still, the things I could do with that leftover 1/3 KB on the Sinclair ZX81, by hand coding assembly with pen and paper, and using graphics characters on the keyboard to enter the program into memory in a REM statement!
@esh @shanselman yup. Compared to the ZX81, the Spectrum 48k had endless memory.

@shanselman A friend of mine @qqmrichter was doing some embedded programming and trying to figure out how to draw an arc without floating point or trig. It was really hard to find online resources about it in the modern day.

One day I hope he writes it up for other people to find. *hint*

@internetarchive @shanselman how did it not have FP libraries?
@jacobwm @internetarchive because it literally doesnโ€™t have a floating point processor ;-) you canโ€™t do floating point libraries without underlying hardware support, so I had to write it myself, simulated, with fixed point precision
@shanselman @jacobwm @internetarchive there were floating point C libraries before hardware coprocessors existed. The bible for this stuff back in the day was Principles of Interactive Computer Graphics (from 1979) that had lots of useful algorithms like this https://a.co/d/fxaShPM
Principles of Interactive Computer Graphics: Newman, William, Sproull, Robert F.: 9780070664555: Amazon.com: Books

Principles of Interactive Computer Graphics [Newman, William, Sproull, Robert F.] on Amazon.com. *FREE* shipping on qualifying offers. Principles of Interactive Computer Graphics

@xmlguy @jacobwm @internetarchive yep totally true and I totally get that. But it was 1998 and I was 24 and didnโ€™t have a way to discover these things, but yes, I could have ported one to Palm.
@shanselman @jacobwm @internetarchive in 1990 I wrote a visual design tool in C (and x86 assembler where I needed perf), and had to figure it all out from first principles, so I totally get it โ˜บ๏ธ
@xmlguy @shanselman @internetarchive I guess I was just always used to software libraries taking care of whether it had a coprocessor or not. But yeah, I remember on a C64 doing FP math in ASM was...brutal. I ran into a similar issue on a TI calculator when I manually wrote a program that calculated sin/cos to 12 decimals. Near instant with built in, but in my code it was about 45 seconds for 6 decimals of precision.

@shanselman @internetarchive I was probably in the 6th grade and had a TI 99/4A. I discovered that if I plugged a bunch of whole numbers into SIN and COS, it would draw "random" points on the screen that eventually produced a circle!

My father tried to explain what Pi was and my 6th grade brain was not interested.

I just knew that with enough whole numbers, I still ended up with a circle...

@shanselman @internetarchive Elon would agree, this is hardcore bro!
@shanselman @internetarchive oh wow, this brings back memories. Doing bitwise shift operations to avoid the expensive MUL operations on a CPU without a math processing unit.
@shanselman @internetarchive Wow, that is a nice piece of programming, and now it's immortalised
@shanselman on the one hand I'm glad we're past the point where we have to worry about having basic CPU or GUI features or enough RAM for the most part, but on the other hand, I have strong anemoia (there's a fun word) about doing circuit design in the 70s and 80s before everything was miniaturized and chip-ified and board layouts got automated. And I'd be lying if I said I didn't feel a bit the same way about coding in the DOS/Win 3.1 era. But it was all before my time and I have only longing.
@ilyvion then you may be an IoT engineer and not know it
@shanselman I've bought a bunch of electronics tinkering stuff (arduino, breadboards, wire, components, etc.) but due to reasons, I can't really play around with it properly until certain things in my life are fixed, so it's on hold, but it's calling me with its siren song, and I want so badly to give in and start my hobby EE/IoT journey. Yes, I have wi-fi modules for that proper IoT feel, lol. 
@shanselman @ilyvion Indeed. Win31 was such a joy to program for, warts and all, because it was possible to have a (relatively) full understanding of the system. The shared memory & tasking model was perverse, but brilliant, and once you โ€œgot itโ€ there just wasnโ€™t much you couldnโ€™t figure out. I thoroughly enjoyed the couple of years I had debugging in SoftICE and Visual C/C++ 1.0 before Win95 came along and the OS โ€œgrew upโ€

@ilyvion @shanselman

Yeap, same old feelings integrating , building and programming things for my home automation.

@shanselman @internetarchive so do you see anyone program in C anymore
@helix2301 @internetarchive all the time, have you heard of Arduino? C is very common in the IOT space
@shanselman @internetarchive ok thats great I dont see it that much any more only if I am on linux on curnel stuff or once and while on harware level stuff not as much as I used to
@shanselman @internetarchive my only gripe with c is structured

@shanselman @internetarchive omg that interface is giving me literal goosebumps. Visceral memories of bygone times and tools.

Gonna go check if they have a Psion 5C emulator ๐Ÿคฉ

@shanselman @internetarchive

HT on having work Internet Archived, specially on pioneering personal medtech handheld software!

@shanselman @internetarchive Cool! I didn't realise such things went back that far! As you say, the first one so well done!

@shanselman @internetarchive

That's more than only cool! ๐Ÿ”ฅ

Thanks to the Internet archive for preserving such gems and also to Scott for the app. ๐Ÿค›

I just felt young again. ๐Ÿ˜ I could use it on my smartphone just like on the pilot these days. Goosebumps. ๐Ÿ’š

@shanselman @internetarchive this message seems like the 1998 equivalent of "All your files are exactly where you left them" ๐Ÿคฃ
@justin ya when I sold the company they changed the config format so folks needed to reregister with the new company, but they didn't lose their sugar data
@shanselman always good to avoid calls from angry worried users for sure. Very cool you can see that app in an web based emulator now
@shanselman wow this is so cool. With several T1D people in my family I really appreciate the lengths to which y'all have to go to manage your blood sugars, and while it's "easier" today than ever it's such an epic PITA - thank you for being a pioneer!
@shanselman @internetarchive That is awesome! I just learned that the emulator they use is CloudPilot, which is derived from PalmOS Emulator, which is derived from Copilot, which I wrote in 1997. https://hewgill.com/pilot/copilot/index-old.html
Copilot Home Page

@ghewgill @internetarchive omg I remember you. You're a beast. Big fan.
@shanselman That was way back when I was working with Scott Hunter on Wildcat... good times.
@ghewgill @shanselman Not to hijack this conversation, but I ran my first BBS on Wildcat Test Drive when I was 9.. Thanks for your work on such a great piece of software.
@ghewgill @shanselman @internetarchive And there's (at least) one app made with Jump in that collection https://archive.org/details/palm3_pong
Pong : Free Download, Borrow, and Streaming : Internet Archive

pong

Internet Archive
@colinfry666 @shanselman No kidding? I don't think I ever knew that anybody used Jump for anything real!

@ghewgill @colinfry666 @shanselman Jump was great (if you avoided all Strings and memory allocation) ๐Ÿ˜€

I wrote Pong out of sheer bloody-mindedness to make something stable with Jump as a fun challenge. Actually turned out surprisingly well and never heard of it crashing, which is why it is still v1.0

Belated thanks for all your efforts, Greg.

@shanselman @internetarchive

That's awesome.

I didn't realize how much I missed Graffiti I (one of the first tragic victims of Patent trolling)

@RL_Dane - yes, and 20 years later, the muscle memory still takes over when I'm trying to "draw" letters on the clicky spinner thingamajig on the BMW console.
I always end up switching to Siri, which at 0.5% recognition in my case is still better than what BMW thinks I should do.
@shanselman @internetarchive I started to use this and it felt wrong to use my finger. I was like. Whereโ€™s my stylus?
@shanselman, what a delightful way to learn about @internetarchive's Palm Pilot emulation!
@shanselman @internetarchive that. is. amazing! :)
@shanselman @internetarchive Exciting! There are some games for that device I'd like to play again.
@shanselman @internetarchive
I loved the Palmโ€™s user interface! It amazing that their whole screen had as many pixels as four desktop icons or mastodon profile pictures, yet it was enough for full applications.
@shanselman Iโ€™ve still never loved any of the iOS devices as much as I loved the Palm III and Handspring Visor. โ™ฅ๏ธ
@shanselman @internetarchive
Doing some unsavory Saturday morning browser gaming
@internetarchive @shanselman oh wow maybe Iโ€™ll go back to using Eat Watch ๐Ÿ˜‚