The history of Maxster

April 6th, 2020 2:28 PM
by
Filed under Software showcase;
2 comments.

This summer marks twenty years since I released Maxster. Enough time has passed that I can finally tell the true story of its development.

It was July 2000 at Avila College in Kansas City, Missouri, and I was attending my third KansasFest. HackFest had debuted two years earlier at my first KansasFest. Having entered and placed each year, I wanted to continue the streak. My toolkit was limited to Applesoft and Spectrum's scripting language, but I'd learned that creativity and earnestness counted for a lot at HackFest. All I needed was an idea.

As a college junior, I was aware of how popular Napster was for allowing my classmates to pirate free music. I wasn't a fan myself, but I understood the concept enough to get how it worked — and to know that it'd be impossible to implement on the Apple II.

It was the perfect project. And I knew just what to name it: Maxster, after Juiced.GS founding editor and HackFest judge Max Jones. (I wasn't above a little blatant flattery.)

After a few hours of Spectrum scripting, I had a "working" prototype. I'd downloaded a few songs, such as Weird Al's "Albuquerque" and They Might Be Giants' "Istanbul", and converted the first seconds of each into the rSound format used by the IIGS. If Maxster was asked to search the Napster network for these songs, it would "find" them and play a preview. Otherwise, Maxster would announce the file was unavailable, presenting a randomized list of users who had the MP3 but who were offline at that moment.

My presentation of Maxster had to seem authentic, though, which meant putting it online. This was in the days of dial-up ISPs, and I didn't have one with a Kansas City node. So without detailing what I needed it for, I asked my roommate Geoff Weiss if he could hook me up. He generously allowed me to use his connection, providing my demo the soundscape it needed.

When I debuted Maxster to the KansasFest community, they were wowed — more than I expected them to be. My delivery was completely deadpan, as I thought I wouldn't need to wink at the audience for them to know there was no way an Apple IIGS could download and decode even five seconds of an MP3 that quickly. (This was before Vince Briel's A2MP3 card.) Yet everyone seemed stunned and excited by what I had done.

Maxster logo
When I ended my talk and was met with applause, I grew concerned. I'd actually bamboozled everyone — something I never intended! I was a fraud. What if an actual Apple II program was overlooked because of my deception? As the time for judging approached, I grew more and more nervous.

Finally, the judges completed their deliberations, and HackFest founder Eric Shepherd took the stage to announce the winners. He'd just begun to address the audience when I sprang to my feet.

"Wait!" I blurted. "Can I talk to you privately?"

"Sure," a confused Sheppy said, following me out into the hallway.

Once we were alone, I confessed. "It's not real. Maxster, I mean. It doesn't actually do any of the things I claimed it did."

Sheppy smiled at me like I was an idiot. "We know," he said, much to my surprise and relief. "There's no way it could've done those things."

Mollified, I went back into the room to hear who the actual winners were. Somehow, despite my admission, Maxster was still recognized: I'd come in second place. The judges' announcement made no hint of the program's true nature.

Audience members' reactions were diverse. Geoff said that he'd been trying to figure out during my presentation what the TCP/IP connection he'd given me was actually doing and had correctly deduced that "it just sat there, doing nothing". I thanked him for his role in my deceit.

Greg Nelson proved a champion of a different sort. "You were robbed!" he exclaimed. "Your program was very impressive; it should've come in first."

Confused, I wanted to ensure Greg and I were on the same page. "Greg, what is it you think my program did?" I asked. He recited back to me everything I'd said and shown during my demo. When he was done, I again had to reveal the truth: "Greg… My program didn't do any of those things." Greg's reactions swiftly ran through perplextion, confusion, and amusement, ending with "Well, you should've come in first anyway, just for the convincing delivery!"

That October, Juiced.GS reported:

Second place went to Ken Gagne, who entertained KFesters with what appeared to be a Spectrum script that downloaded and played the first few seconds of MP3 music files.

In reality, the script turned out to be a spoof of the popular MP3 programs on the major platforms (Napster on the PC and Macster on the Mac). Gagne called his program Maxster (named after Juiced.GS publisher and HackFest judge Max Jones?) and displayed a working script that had all the appearances of real program.

Apple II News & Notes said of HackFest:

Special recognition to Ken Gagne for his incredible hoax named "Maxster" that had audience members puzzled, stunned, and rolling in laughter. Ken gained second place.

In a later Juiced.GS's response to a letter to the editor, Max wrote:

Placing second this year was Ken Gagne. You may remember that Ken burst onto the HackFest elite scene during Y][KFest with the way-cool program Maxster (named after yours truly). Ken's Spectrum script created the illusion of an MP3 player for the IIGS, and his presentation took on the air of stand-up comic rather than programmer.

Unbelievably, that was not the end of Maxster. Three months after that memorable KansasFest, I publicly released a version of Maxster that anyone could run. All the rSound files had been included in a compressed script, which not only streamlined the package but also obscured the source code; no one could see what was actually happening under the hood. And two months later, I updated this version to fix a bug Jeff Blakeney had reported that prevented "Albuquerque" from playing.

In July 2001, the Napster network as it was then known was shut down, allowing me a graceful out to say that development of Maxster has been permanently halted. Still, it remains one of my proudest (and most surprising) contributions to the Apple II community.

To commemorate the occasion of this story, I am for the first time releasing the Maxster source code. I've created a new page on this site that archives all my software, including Maxster, so anyone can fool their friends like it's the year 2000.

Anyone who would like to continue development of Maxster to support more songs is more than welcome to do so.

Maxster

April 5th, 2020 12:47 PM
by
Filed under ;
Comments Off on Maxster

Maxster performs the function of Napster on the PC, and Macster or Rapster on the Mac. Maxster allows Apple IIgs users to find, download, and play MP3 audio files using the Napster network of users sharing music files freely. Due to the limitations of the IIgs' sound chip and, more important, memory size (4.25 megs is as big as many MP3s), Maxster is unable to save and play MP3 files in their entirety. Considering this, Maxster currently downloads only the first few seconds of an MP3 – a preview – and plays only that. Compatibility issues have prevented Maxster from locating a surprising number of bands and song titles.

Maxster is a freeware Spectrum script and requires Spectrum v2.0 or later and Marinetti v2.0.1.

This program placed second in HackFest at KansasFest 2000. Due to the current status of the Napster network, development of this program has been abandoned as of v0.79.5.

Changelog

  • v0.64 (July 29, 2000): unreleased, demoed at KansasFest 2000 as an entry in the HackFest competition.
  • v0.79 (Oct 20, 2000): first public release. Various data files have been incorporated into the script file itself or Maxster.r to decrease the number of files, and resources have been compressed to make the package more easily distributed. No features have changed or new features added since v0.64.
  • v0.79.5 (Dec 25, 2000): fixed a bug that prevented Maxster from finding Albuquerque by Weird Al. Thanks to Jeff Blakeney who reported the bug.

Sedistic

April 5th, 2020 12:40 PM
by
Filed under ;
Comments Off on Sedistic

Sedistic executes text string find/replaces on a directory of files. It can be applied to the contents of a single directory, or to a directory and all of its subdirectories, with the only limitation being it cannot go deeper than ten subdirectories and that the strings being found and replaced cannot be longer than 255 characters. I originally wrote Sedistic to help me convert text & AppleWorks files to HTML, and then to keep my web page updated. Sedistic is a freeware Spectrum script and requires Spectrum v2.0 or later.

Changelog

  • v1.0 (Aug 1, 2000): Initial release

Ken's Integrated Simpletron Suite (KISS)

April 5th, 2020 12:35 PM
by
Filed under ;
Comments Off on Ken's Integrated Simpletron Suite (KISS)

Ken's Integrated Simpletron Suite (KISS) is based on a problem in C: How to Program, by Harvey Deitel, in which students are instructed to write programs for a computer called the Simpletron. The Simpletron runs programs written only in the language it understands, the Simpletron Machine Language (SML). It is meant to emulate (and educate about) programming in assembly. KISS is a freeware Spectrum script and requires Spectrum v2.0 or later.

This program placed second at HackFest at KansasFest 2001 due to its "high geek factor".

Changelog

  • v1.0 (July 29, 2001): Initial release.
  • v1.1 (Aug 2, 2001): Fixed a bug that produced incorrect results when subtracting a number from a negative accumulator value. Fixed a bug when E)diting if the cell to start in was not entered in four-digit format. Fixed a bug that caused an error when tracing an opcode of 00; opcode 00 now functions as a HALT. Added the Z)ero function to clear the memory without quitting.

Spectrum's origins

May 8th, 2017 8:27 AM
by
Filed under Musings, Software showcase;
1 comment.

I've been thinking about my dad a lot lately. He's the one who introduced me to the Apple II and enabled (if not supported) my BBS and CompuServe habit when I was in grade school. I made those online connections with ProTERM, which was 8-bit, but I was eager to switch to an application that took advantage of our Apple IIGS. I eventually got it when, after many delays, Seven Hills Software released Spectrum.

My dad didn't use the telecommunications aspects of our computer; his only application was AppleWorks Classic, with which he maintained the financial records of the family business. All he knew about Spectrum came from whatever I mentioned.

One day, my dad asked me if I knew that Spectrum was based out of our home state of Massachusetts? I was bewildered by this remark: Spectrum was a product, not a company, and it was developed by a European programmer. I doubt my dad was referring to Seven Hills Software, the Florida publisher whose name I'd had no reason to mention to him and which I doubt he would've remembered from the credit card bill. But Dad insisted that, while driving through the next town over, he'd seen a billboard advertising Spectrum.

Once he mentioned the billboard, I knew what he was talking about: Spectrum Health Systems, a Massachusetts-based organization that offers counseling and recovery services. Sure enough, they had advertisements in some of the rougher parts of town.

Spectrum Health Systems

My dad had an odd sense of humor that often relied on teasing or on playing dumb to mislead people. I never found out if he sincerely thought my Apple II program had come, out of all the places in the world, from a nearby city, and that he would be the one to inform me of it — or if he was playing some harmless but humorless joke.

It's not something I ever begrudged my dad, but it was such a weird exchange that, even decades later, it's left me wondering: what was he thinking??