| |
Welcome to a visual tour of my work.
A few remarks:
I'm not a graphic artist -- I'm a programmer. Good programmers tend to be bad graphic artists.
Representing my passion for code in a visual media is challenging.
Clickable versions of most of these images are over at http://slowass.net/~scott/pics/.
For an incomplete list of random programs I've written, check out scrottie code blog.
| |
|
 |
My very first Web app, circa 1996!
I got a refurbished Connectix Color Quickcam I and it was a fetish with me for a while. The thing was parallel port.
By this point, I'd been programming for years in C, LPC, Atari BASIC, 6502 assembly, etc, but I have no screenshots of those.
More...
The QuickCam software for Unix (NetBSD there) didn't do automatic exposure or white balance, so the viewer had to adjust it.
This was in a dorm room (my brother got Ethernet early in the roll out, complete
with a real IP address!) overlooking the helipad at the UofM health center.
|
|
I had a 386, (the original slowass.net, frankenputer.slowass.net) with a Hurculeas graphics adapter,
so I couldn't see the output except through programs that converted it to ASCII.
I wrote this program without being able to see the result -- it takes a background of the
actual place I'm at, a background of the place I want to project myself as being at,
and then live video, and does a superimpose job.
I didn't ever really unleash good algorithms on it to make it work well but the effect was kind of neat.
|
|
PinkWorld (before the name got used to mean something else) was a multi-player game
built on top of the LPMud driver with a custom lib.
This was around 1996 or 1997.
The little map scrolled around, and you could see other people and monsters coming.
It spoke HTTP, and did server push.
I pushed Netscape 2 and then later 3 about as far as I could.
More...
The client side was a lot of JavaScript -- game would actually do server push of JavaScript.
I had a hidden frame with four forms that were forced to submit posts back to the server
in a round-robin queue, simulating AJAX on Netscape 2.
Another hidden frame read server-pushed JavaScript which controlled the display,
calling methods to scroll and update the map and push game log text to the user.
This was abandoned in favor of getting a real MUD going with a GUI, and a few attempts at
that have passed.
LPMud made it easy, since it already wanted persistant connections to the players
and already had an event driven framework.
This is what impressed the hackers at JaWS and got me the job there.
I was so nervous in the interview, but they were actually impressed with me -- it felt so good!
I always wanted to be a hacker, and hanging out with them was a good first step.
|
|
A dump of the PinkWorld map, where each tile was assigned one pixel of an appropriate color.
|
|
|
Applications I worked on at JaWS... needs pictures.
I can't even remember that one.
All I remember is it has an exceeding number of reports built in and I
hid an easter egg where the head of Dave Thomas, founder of Wendy's, would be used as one of the bar
graphs.
|

|
Coming to AZ from MN and from school into the real world, I walked into the
dot com rush, and found people shoving money in my face to do little consulting gigs.
Browseahouse.com was one of my first, back when my Perl stunk.
I was starting to get the hang of it by the time I got into katzandco.com, both jobs from a small
consulting startup that was kicking work to me.
Another of these projects from this era was redhotsweep.com's scratch-n-win game.
They wanted to be able to upload images in the admin, tell it how many rows and columns, and have
it turned into an on-line JavaScript scratch-and-win game.
Little GD masks made nice little roll over images that looked very much like a real scratch-and-win game.
Even though the site is pretty sleezy, it was fun and neat.
More...
I know some secrets about it, too, but I'm not telling.
Hint: Don't waste your life sitting there and scratching those things.
It's behind pay registration now, so I can't easily get a screen cap.
|
|
Then, of course, it came time to volunteer, and my favorite project at the time was NetBSD.
They took me, but I never managed to get into the confidence of the the tight inner ring that ran the project.
Later, the NetBSD Foundation would hijack The NetBSD Project entirely and the circle of power would become
completely closed off.
|
 |
Did the Mayo Clinic Scottsdale's Intranet around 1999, which turned into quite a database and document
publishing platform.
It was the first and maybe last time I really "started something" on the 'net.
As the story goes, some nerdy guy they had working there had left the company, and for some
reason he had a few computers under his desk.
They unplugged them and started to cart them off, but the Intranet, which was just several useful reference and
resources pages, went down.
They plugged them back in and the Intranet came back up.
So they thought, oh crud, we better hire some people to see what's going on what that thing.
Enter myself, Eric, on graphics and content, and Clive, who managed our little rag tag group.
The CMS I came up with, "webwanker", started as a bash script to remove navigation that was offset by
specially formatted comments, regenerate the navigation based on the files in the directory, and
re-insert it.
More...
It got rewritten in C as it had to be moved to Windows (later I would learn about Cygwin, or Cygwin
would come out), with a list of operations to be performed in an array, and then the array got moved
to an assembly like format that was read from disc -- before long, we had a CMS in an 8,000 line long
script based assembly language script.
It knew how to generate several styles of navigation, touch up files, publish from clean copies,
and the details of the navigation and the sites were configurable.
Another script edited configuration to let departments add themselves to the site and get an area to drop files.
It took off like wildfire, with hundreds of departments on the thing.
I didn't know we had hundreds of departments...
|
|
Something Eric, co-worker of mine at Mayo, did using anagram software,
starting with the words "Mayo Clinic Scottsdale".
and it's inexplicitly combined with a picture of Heather.
Must have scanned them together...
|
|
In the early 1990s, along with my MUD obsession, I spent a considerable amount
of time raytracing on the Amiga 1000.
Later on, I'd keep using those, er, skills, to try to do graphic design work
for personal projects and clients.
|
|
Played with stop-motion animation around 1999. It wasn't pornographic,
but we lacked subtlety with the female character.
|
|
| |
I was still raytracing on the Amiga but needed to convert the TurboSilver ILBMs to jpgs
to use them in the modern world, so I wrote something to do it.
Debugging was amusing -- I kept getting cool patterns.
This was in the JaWS era, around 1997 or 1998.
|
|
| |
This is the backroom of the first startup I worked at, iSedona.com, aka iVia.com.
The front room was marginally better and the owner had a small office -- but three rooms was it.
More...
We were making thousands of region specific shopping portals and offering carts to
area merchants to help them get on line -- this was around 2000.
The fellow pictured is Matt.
We had a lot of fun -- or maybe it was the delerium.
We'd eat the Coffee Pot Cafe in Sedona, AZ, where the business started, and he'd
usually order fries with cheeze and gravy on them.
It wasn't on the menu, but they'd happily make it for him.
Upstairs from us was a small ISP with car batteries attached to UPSes and beat up
old Linux boxes all over the place.
I don't have any pics of the office at the Mayo Clinic.
Aren't these random notes fun? And aren't I glad I took them out of the main flow of the page...
|
|
We leased a whole bunch of equipment to impress investors.
Things didn't work out quite as we had hoped.
It was nice seeing Enlightenment run on these high end machines.
And the leased gear wasn't my idea.
We did have tables made out doors, though.
|
|
Some of my business cards. Never had one for Mayo. The illogics one I made
for myself. Hard tell tell from the scan, but it's printed on clear plastic.
|
| |
... worked at Context Designs, but all of the dot com boom startups we did sites for went
bust.
Dozens of them.
|
|
COMDEX, 1999. Saw Linus. I had a Unix beard, for some reason.
|
|
This is Pariyatti.
I regret never having gone to visit them in person.
I guess I still *could*...
The line between being a client and a friend is always so blurry for me -- but these guys were friends.
|
|
Pariyatti.com.
They've been on the 'net since 1996, originally as vrpa.com.
They were on a badly comprimised, extremely slow shared host.
Since then, they moved to dedicated hosting, got hundreds of small and major features,
including serveral RSS feeds, CMSy features, editable line items in the cart,
Froogle integration, CSV order exports for their inventory management system...
More...
I picked up two Sparc 20s, 170mhz, one as a spare, to do the job, and got them on a $75/month
colocation plan.
Colo later went up to $100/month -- thekarchergroup.com has great service, too. Highly recommended.
This would later come to haunt me, but they wanted to get as inexpensive of a machine
as possible to act the server.
|
|
| |
It's around this time, 2004 or so, that I start to get into Perl's bytecode.
This isn't one of mine here -- mine are Code::Splice, typesafety, and Perl6::Variables.
This is an example of bytecode for a case where Data::Alias was having problems
and I was trying to fix it.
Data::Alias rocks!
|
|
debtreductionstore.com.
I'm very grateful to anyone who allows me to work for them, and pays me, so
that may go on living and doing the things I love.
|
|
2003ish, I was dabbling in all kinds of little business-idea type services,
such as the geek date search thingie.
It searched for, parsed, and indexed geek date code blocks and then let people
search the database.
The only two females in the database seem to be males who botched the code...
so it never became what you might call viable.
I'm hoping that people just used it to find other interesting geeks rather
than actually hoping to find love.
|
|
Google AdWords was running this ad on my resume.
I'm not sure what I'd want least... a new Perl programmer, or an old, used one...
|
 |
Patterns stuff starts making its way into the Perl camp.
I pick up Chrostopher Alexandar's original masterpiece and, knowing I couldn't do it justice,
felt compelled to write anyway.
|
|
| |
Around 2005, this is what the old PinkWorld/WeeHours/DigiIsland effort looks like,
thanks to a friend, Lmg, who rocks at Flash.
|
|
Wrote Perl 6 Now for APress -- and took a few years off my life in the process.
More...
I discovered that I didn't in fact know how to write before I started this project and had to learn
(to the degree that I actually did).
Each chapter got rewritten at least six times.
It had some problems with copy edit and variation in style, but it lived longer than I had hoped --
it still illustrates the core ideas from Perl 6 in Perl 5, and Perl 6 is still largely a formalization of
things that are possible to do in Perl 5 but just require hackish extensions, require features that don't integrate well,
or, in the best case, just require a CPAN module.
I accidentally foreshadowed this in that earlier pic of perldesignpatterns.com.
PDP came first, but the plug for P6N was added later.
|
|
YAPC::NA::2006, Larry Wall speaks. You can't see him. All of the laptops out
were kind of striking. I walked around the con with mine under my arm, on IRC.
People talked a lot more on IRC than in real life -- Perl people tend to be
pretty quiet subdued. Even shy.
|
 |
Next Gaming.
Bask in the extreme coolness.
|
|
| |
Multiplayer Illuminati!
'nuff said!
|
|
I'm a messy-desk person.
This is my home work environment.
I use Post-It Notes (r) heavily.
When I finish a task, I throw the note in the vague direction of the trash.
The mess here is the result of a month long mega-crunch to redo The Improv.
The new site looks pretty damn good.
It was the most elaborate image cut-up I've ever worked on, and I had to use a bunch of
CSS to make the dynamic content fit in.
It scraped their old checkout, which was bizarrely complex.
It even made disposable accounts for people so it could buy tickets for them.
It had databases of performances and schedules including multiple acts each night
with several drill down paths, through a calendar, locations, artists, ...
|
|
Dependency graph of SZ's rather huge codebase.
Did execution tracing with an Aspects package from CPAN, logged the data,
parsed it, generated GraphViz data from it (line darknesses indicate percentile
frequency of call between two packages), rendered PostScript, then scaled and
tiled it across 25 pages with the old poster program.
This is one page from 25 (yes, we did tape all 25 pages together and hang them
on the wall).
At first, I was plotting data at the method level, but it generated one what
look like a whole bunch of string jamming a machine.
|