Bitly CDA 1.0 released

My KansasFest 2008 HackFest project, Bitly CDA, has just been released. Requires System Software 6.0.1, Marinetti 2.0.1 or later, and a working TCP/IP connection. It uses the bit.ly Web site to shorten URLs. Check it out here!

August 31st, 2008, posted by admin

Coming Soon…

I announced (but have not yet released) a program at KansasFest, and I participated (for the first time) in HackFest (and won!) with another program that’s actually more ready for release.

IItter is what’s not yet done, even though I worked on it forever (like more than a year). It’s a Twitter client in an Apple IIgs New Desk Accessory. Requires Marinetti 2.0.1, System Software 6.0.1, and a working TCP/IP connection.

Bitly is a Classic Desk Accessory (that’s right, -not- a NDA, a CDA!) that takes the text content of the IIgs clipboard and submits it to the bit.ly URL shortening service, returning a shorter version.

Screenshots (and hopefully a release!)d soon.

July 30th, 2008, posted by admin

Base64 Encoding Using ORCA/Pascal

I am currently working on a TCP/IP New Desk Accessory (what else do I ever work on?) that requires “basic authentication”. Basic authentication is a really simple, very unsecure way of encoding a username and password. In essence, the username and password are joined together in a single string with a colon between the two:

username:password

and then encoded into Base64. As I’ve never tried to figure out how to encode into Base64 before, I decided this would be a nice exercise for my Pascal skills.

Working backwards, I can easily figure out what the end result of the encoding is supposed to be; there are many online Base64 encoding Web pages, so the string above would be encoded as:

dXNlcm5hbWU6cGFzc3dvcmQ=

How do we get there from here?

Wikipedia to the rescue! Wikipedia provides about as close to a plain English step by step on encoding a string as Base64.

First off, each character that needs conversion must be converted to its ASCII numeric equivalent. Well, actually, first, once we have the username:password string built–which are two p-strings combined to make a c-string; p-strings because that’s an easier way for me to get input from a IIgs LineEdit dialog, and a c-string because its longer length could be an advantage depending on how long the username and password are–we need to look at it character by character. So in order to do that, we take the assembled username:password string and use a loop to parse out the characters one by one:

Procedure CharParser; {parses out each character}

Var
username, password: pstring;

parsedchar: char;
rawauthstring, binauthstring: cstring;

ploop: integer;

begin

rawauthstring := concat(username, ':', password); {combine the username}
{and password with a }
{colon between them }

ploop := 1; {parsing loop--1 for 1st character}
While ploop <= length(rawauthstring) do begin
parsedchar := rawauthstring[ploop]; {sets parsedchar to the current}
{character as ploop increases }
ploop := ploop + 1; {increment ploop by a character}
end; {parsing loop}
end; {CharParser}

This procedure, while it will run right now, isn’t useful without a bit more code that we won’t get into yet. Basically as the ploop starts with the first character in rawauthstring and moves character by character through the string until it reaches its end, it assigns the character at the current position in the loop to the character value parsedchar, then moves onto the next character. In order for this procedure to be more useful, more has to be done with parsedchar, starting with converting from a character to an ASCII value, then converting the numeric ASCII value into a binary value, padding the length of the binary value so it’s eight digits long, and adding it to a progressively growing string of 0s and 1s for further conversion. We’ll tackle some of this next episode!

March 16th, 2008, posted by admin

A facelift, a new domain and a new site

A2Unplugged.com got a facelift this past weekend, this site just got its own domain name (ryansapplesoftware.com), and I just launched my personal finance blog at Uncommon-Cents.net. Please check them out and I hope you like them.

December 3rd, 2007, posted by admin

Coming soon: TheirIP NDA 1.2 and… A2Unplugged?

Bug fix update to TheirIP NDA is about done (I hope tomorrow, depending on how much I can get done tonight)… hopefully a new, long overdue episode of A2Unplugged will also be done this weekend. Hopefully.

November 18th, 2007, posted by admin

MyIP NDA 1.1 released

Just uploaded to the software area, exact same file location as the previous version; mostly minor changes that are bug fixes, but have helped me figure out some issues for my other products that I’m hoping to work on soon. Apple II Forever!

November 10th, 2007, posted by admin

Raindrops keep fallin’ on my code…

It’s a horridly rainy day here, with it only letting up enough for my friend Nat to get married. In the meantime, it’s even too rainy to podcast (I was almost set to go on record tonight again, but I had two brownouts so I decided to move on). Instead, I fixed two significant bugs (mostly cosmetic but also CPU using) in MyIP.NDA, which is the first thing I ever released. I’m not going to release that one because there’s some other things to do, mostly too make the code look prettier.

If it keeps raining, I may get even more bugs fixed.

November 5th, 2007, posted by admin

Making progress

I don’t know if this has been done before but it’s certainly a first for me with some code I’ve been working on since before KansasFest

Hopefully a product soon to come.

November 4th, 2007, posted by admin

Hello world!

Welcome to Ryan’s software. Enclosed you will find hand crafted Apple software for the 21st century. I hope you enjoy your stay…

Click the Apple II Software link for my Apple II applications. Nothing released for the Macintosh yet–but there will be.

September 23rd, 2007, posted by admin

  • Buy me a beer!

    If you like my software, please consider donating with PayPal.