Archive for the ‘Personal’ Category
Saturday, April 4th, 2015
I’ve taken some time over the past two days to dig through some of my old flash drives for old programs I wrote in high school. I found most of my flash drives, and while a few had been re-purposed over the years, I ended up finding a lot of content I created over the course of my pre-college schooling.
I didn’t find everything. When I started taking electives in high school, I first enrolled in a web design class. This was basic Photoshop, HTML, and Dreamweaver development. I can’t really find any of this stuff anymore. I also took a CAD class where I used AutoCad, Inventor, and Revit. These files look to be gone as well. More notably, I took a series of programming-heavy classes: Introduction to Programming (C++), Advanced Programming (C++), AP Computer Science (Java), Advanced Programming (Java), and Introduction to Video Game Design (Games Factory and DarkBasic).
Even when I took these classes a little over five years ago, the curriculum was outdated. DarkBasic was never really a mainstream programming language, and Games Factory was more event mapping than it ever was programming. We learned C++ using a 1996 version of Visual Studio and only learned the concepts of object oriented design later in the advanced class. The Java curriculum was brand new to the school when I took it, but still felt outdated.
That said, I learned a hell of a lot here that would lay a foundation for my future education and career path.
I took the time to copy these files from my flash drives and push them to a GitHub group I created for people who took these same classes as I did. The hope here is that the people I had class with will ultimately share and submit their creations, and we can browse these early samples of our programming. Unfortunately, I couldn’t find any of my Java programs yet, but I might be able to come up with more places to look.
Just digging through my source code, I’ve already found a lot of weird errors and places where dozens of lines of code could be replaced with one or two.
It’s interesting to look back on these programs, and maybe they’ll give you a laugh if you care to check them out. I know they gave me one.
Monday, December 23rd, 2013
This article was originally written for and published at Philly 2600 on December 23rd, 2013. It has been posted here for safe keeping.
It’s rare that I get overwhelmed. I’m not talking about stress or anything like that. It’s rare that my senses get overwhelmed, specifically my sense of sight. This past Saturday, that sense became overloaded.
I’ve known Aaron for a little while now. We met online somehow in 2012, and while I don’t remember the exact details, I think he started following me on Twitter and things went on from there after I followed him back and we started replying to each other’s tweets. We quickly figured out that we lived pretty close to one another, which I found humorous considering we were both into archiving and preservation. Who would think that I’d be geographically this close to another person who idles in the #archiveteam IRC channel, online headquarters for the team dedicated to rescuing any and everything in the way of data? Aaron and I hit it off pretty well, and we eventually ended up meeting (somewhat unexpectedly) at Pumpcon 2013. Later, I ran into him again at the BSides Delaware conference and shortly thereafter he started coming to the Philly 2600 meetings which I’ve been frequenting for some time.
About two weeks ago, Aaron approached me via an online message and asked if I would like to go through some old computers at a local nonprofit he is on the Board of Directors for, NTR. NTR is in itself a fantastic organization which provides both refurbished computers (done in-house from donations) and hands-on computer training to low-income Philadelphia residents. If you are employed by or know a company in the area that is retiring their current fleet of workstations, consider donating the old machines to NTR. And, if they ultimately cannot use the machines, they will ensure that they are recycled in an environmentally safe fashion.
Aaron thought that I would be the right guy to help out. Being someone that preserves old technology, rescues it from unknown fate, and is a general enthusiast about it, I couldn’t resist the urge to come out and see what I could uncover. The details I got about what I was to do left a lot to my imagination. I got a location, we settled on a time, and I was told to wear clothes I wouldn’t mind getting dirty and bring a set of work gloves. Hardhats would be provided.
The dirt and grime never bother me. Just what I would be working with, I didn’t know. But, I was excited nonetheless and on the morning of Saturday I walked on over to NTR and met Aaron out front. The building we would go on to enter was the former site of the hackerspace The Hacktory before they moved to a larger location. The building itself is a big old warehouse that is much larger inside than it looks from the street. The parking lot to the side is encased with giant stone walls almost as high as the building itself and easily fits a dozen cars without having anybody blocked in. Aaron tells me that the building has also been declared a historical site, meaning they can’t do a lot of modification to it directly, but they do keep it nicely maintained.
As Aaron lifts one of the giant metal doors encased in the building’s western wall, I get my first look into NTR. He shows me bins of donated computer equipment: smaller stuff like peripherals lovingly stacked in re-purposed milk crates and small amounts of desktop computers stacked together up the side of the two-story wall. I get a tour of all the classrooms, a look into the computer thrift store they run out of the same building, and dozens of other rooms and hallways that wind around the giant space, separated by heavy opaque sliding doors. Eventually we make our way into the main computer storage area where there are pallets upon pallets of donated machines on giant shelves that Aaron points out to me with a flashlight. It’s dark in this part of the building.
We then go up to the second floor to see Stan, who is the Executive Director Emeritus of the organization, having initially been the Executive Director starting in 1980 and taken on the Emeritus title more recently. Stan himself is energetic and charismatic and goes on to tell me about how he set up a community information store on South Street in the 1970′s as we head down to where we came in to the building to the relatively new looking wooden steps that will lead to the area that Aaron and I will be looking through for the next few hours. Aaron later explains that much like me, Stan has been collecting and preserving technology and computer history, though he has been doing it for considerably longer. Some of his collection is also mixed in with the stuff we will be digging through.
I put on my gloves and snag a hardhat out of milk crate on a shelf by the stairs before Aaron and myself head up. The stairs are steep and don’t seem to be spaced consistently. You feel like you could fall down them easily but the railing is firm enough to keep you steady. As we make it to the top, I peer into the sea of computers which I will be acquainting myself with, lit by a pair of metal lamps that are clipped on to the wide beams of the underside of the roof – an afterthought in this 40×20 foot space.
A shot behind me after I made my way off the stairs
I quickly realize I can’t stand up all the way and have to hunch over, but that isn’t nearly as assaulting as the dust that comes out from seemingly everywhere and permeates through the air thick like smoke. Aaron walks slowly forward with his flashlight in hand and I follow close behind as he points out different areas of the space. We see newer stuff like a few Dell servers and stacks of Intel-based PCs at first but as we go further in we take more steps back in time. Aaron shines his light on a pile of all-in-one Macs before going further to the more interesting artifacts. On the left are some more modern machines, followed by boxes upon boxes of various documents, computers, and peripherals. I see Kaypros with Commodores with IBM clones and crazy displays for systems I can’t even fathom. There are tons of Macs, a few Mac clones, Apple ][s, and some old portable computers the size of suitcases. There are bags of electronics: half finished projects from decades before, muddled in with 8-bit personal computers, a pile of Sun workstations, and boxes of 5.25" floppy disks. On the right side are more Macs: G5s, G3s, a dozen classic Macs, some older desktops and a seemingly endless collection of obscure monitors and terminals to other systems. This is where we start.
A view of the left side
A claustrophobic shot of the beginnings of the right side
We navigate down the narrow path separating the space straight through the middle and get acquainted with the Mac area. We line up rows of milk crates and start digging, sorting along the way. Put the classic Macs here, put modems in this bin, mice in that bin, terminals over here, MIPS-based hardware over there. We sort and sort and sort, moving the heavy machines slowly as we work another path into the mess. The day was a cold one, but we quickly discarded our jackets as we carried hardware along the narrow aisle we carved out; we were warm enough simply moving back and forth, ducking beneath low hanging beams and swiveling around waist-high stacks that created our own personal obstacle course. As we went, we stopped to appreciate anything interesting we happened to find. Almost immediately we come across a monitor for a NeXTcube (though we didn’t find the cube itself) and we dug up other odd monitors and software packages and interesting little add-on boards that most people have probably long forget. We pooled our expertise and our energy and sorted in a long sprint.
After we cleared a new path
Cleared path continued
Aaron told me that a lot of this stuff will ultimately be cleared out. The newer stuff didn’t necessarily belong there and could be assimilated downstairs or recycled while the less valuable systems would be readily sold at their retail store. Some of the rarer pieces would be donated to museums or sold to enthusiasts and collectors who appreciate them to ensure their longevity. I hope when the time comes I might fit into this last group. The amount of history in this room is simply breathtaking.
View from the far corner
After a brief break, we pushed back against the section we were using for trash so we had more room to sort. Ultimately, we successfully cleared space more terminals and bins upon bins of manuals – hard copies are always under-appreciated. We then moved around, more slowly, to some of the more obscure hardware – testing a few things as we went. More time in this stretch was just spent digging as opposed to organizing. We wanted to see what was in some of the giant boxes at the bottoms of the stacks. We didn’t want to leave any stone unturned. Who knows what would be tucked away? We sorted through some IBM clones, found an Amiga 2500, a Wang Terminal, a Vector Monitor, a Silicon Graphics Indy, a whole mess of Kaypros and some more interesting items like a computer for those with disabilities and a strange keyboard or computer that neither of us could quite figure out. Down below us, people were trickling in for a computer class in one of the many rooms. “Who here has internet access at home?” I heard an instructor ask before I accidentally knocked over a PowerPC Mac. Hopefully they didn’t mind the noise.
Delta Data IV “Cherry.” Keyboard or 8-bit computer?
Stack of Altos 580′s on some Kaypros next to a Commodore 128
We finally succumbed to the tech and called it quits for the day. We got a good idea of what was up in the area and talked about the next steps which are likely to be inventorying and testing (though there can probably be some more organization in the meantime). The space itself serves as a fantastic time capsule and it is a breath of fresh air to know that some of the stuff in there is just in there – and in good condition. However, there is much to be done and many more hours to devote to make sure everything is handled properly.
As we rounded out the end of our excavation, we threw down the hardhats and unhanded the once-clean work gloves before walking around the corner for a cup of coffee. As we took our first steps away from the building, I felt a sense of accomplishment. We were archaeologists returning from our first day at an excavation. We uncovered some great finds, having fun along the way.
With any luck, I’ll be asked back. There’s a lot to go through and I can’t help but think that there’s more I can offer. Never before had I been able to lay my hands on some classic pieces of hardware that I had only read about, and it was quite an experience being able to put the pieces together.
Univac / Sperry Rand keyboard
“Age means nothing today,” Stan told me earlier that morning. “In this day and age, things are moving so fast.” I can’t say that I disagree, but I consider myself lucky to have the experience and knowledge under my belt when it comes to vintage computers.
And with any hope, I can keep expanding it.
A shot of the left side from out path in the Mac section
Another shot of the left side
Some newer Intel-based PCs
More of the Mac area
Newer computers tucked away
More Macs, pink note states that this Mac was the second produced
Sun workstations, Macs, Apples, old laptops
RadioShack diskettes. Think the warranty is still good?
Close-up of the Altos 580′s
A lone Kaypro II
A Tandy and a terminal
The Amiga 2500 and an Apple monitor
Unknown brand keyboard
Timex personal computer
Another Kaypro II and a Kaypro 10
Tuesday, July 30th, 2013
This article was originally written for and published at Medium on May 18th, 2013. It has been posted here for safe keeping.
In my sophomore year of college, I became an administrator of a BitTorrent website. It’s not nearly as shady as it sounds. In fact, it was a small and completely legal operation. Three administrators, one server, and hard drive after hard drive full of Creative Commons-licensed content.
Now, I’m lucky enough to attend an undergraduate school with a strong internship tie-in. We spend half of the year slaving away on our school work while the other half is spent in one of those real-world jobs. Lather, rinse, repeat for three years. On the academic side, we take our specialized engineering classes, our project management classes, our technical communication classes, our how-to-work-with people classes.
I didn’t take many of those yet. They first year and change at the university is mostly populated with weed-out classes and introductory curriculum akin to a secondary school elective class or two. At this point in my life,I didn’t know what makes a good project and I didn’t know what makes a project good. I didn’t know how to communicate effectively or work as part of a group. I didn’t know about Gantt charts, or deliverables, or development practices.
As I mentioned, there were three of us. One administrator I had met via online chat some months prior in a public channel. He was a decent guy, and the linkage between myself and the mysterious third administrator who I had never spoken with but was providing us with a server. We all came together, communicating with each other in a strictly online format. Geographically separated, what did it matter with email and a few common hours when we all happened to be awake at the same time? We didn’t have structure or a real thought-out plan. No documents or task lists or meetings to touch base. We carved out and constructed bits and pieces when we felt like it and waited for each other to catch up before charging forward again full steam.
It happened to be winter break, and I had plenty of free time to devote. After we eventually got the site up and operational, I spent days filling it with uploads and tutorials, configuring and reworking plugins and style sheets, setting up social networking accounts, and more or less doing my damnedest to make it ready for prime time. Then, we got a pay-off. A file-sharing blog picked up on the site and did a piece. Within 48 hours, news spread and we had some 3,000 members. We were being reblogged and discussed in forums. We were growing by the hour.
Sounds great, huh? It wasn’t.
While we had all been united in our quest to launch a fantastic niche torrent site, we quickly split at the seams. While I tried my best to keep a steady flow of content being uploaded to seed the site for new users, the other admins didn’t seem as compelled to. One simply disappeared for weeks at a time while another decided it would be a good time to ask for donations and not do much else. Our chat sessions together got shorter and eventually vanished completely. The site stagnated except for a small group of hopefuls that were uploading and contributing, but it amounted to too little. We fell apart. We were broken.
One day, I made a passing comment to a user about how I’d like to rebuild and relaunch the site, and then found myself stripped of my administrative permissions. I contacted the one administrator I had known prior to starting the project, and he just shrugged off the situation as weird before reinstating me into the ranks. It was too late, though. I ended up deleting myself of my own accord a week later.
I completely removed myself from the project, but that doesn’t mean I left empty-handed. I departed with lessons forged from mistakes and successes. What worked, and what didn’t. I learned the need for defining a project scope and keeping open the lines of communication. I learned the importance of meeting regularly and setting goals and being assertive. I learned sacrifice and when to cut your losses and move on.
Each one of these lessons followed me as I went from internship to internship and class project to class project. Academia can teach you a good amount about how to be a developer, but falls a little short when it comes to how to work with real people in the real world.
To learn that, well—you just need to experience it.
Thursday, January 17th, 2013
Every once in a while, I’ll see this conversation:
<CMack> whoa whoa WHOA
<CMack> there was a project to find Jenny by dialing 867-5309 at every area code in the US
<CMack> That’s not the wild bit
<CMack> The crazy part is just a bit down
<CMack> Code Findings(scanned by Famicoman)
<CMack> —- ——————————
<!Moonlit> Famicoman_ is a bit of a dark horse like that
<CMack> Did I just win at Six Degrees of Thinstack?
Believe it or not, this basic exchange has happened more than once. I usually end up coming in a day or so after to dispense a few key details. I figured I should take a shot going through how I became involved with this document, so feel free to take off if you’ve heard this one. For everyone still left, read on.
The quote above already covers the main idea of what went on. For a few years here and there, there were some small projects to scan the number 867-5309 with all the prefixes and see who picks up. That’s a lot of numbers. A little under 1000.
The symbolism of the scan is in the number. In 1982, power pop band Tommy Tutone released the song “867-5309/Jenny” which describes a guy finding a girl’s phone number on (presumably) a bathroom wall. The band claims the number was made up, but the song became a one hit wonder. People everywhere started calling the number, asking for “Jenny,” causing thousands if not millions of unwanted calls.
For some perspective, all this was about ten years before I was born.
The band got into a big dispute over using a real (callable) number, and over the years most of these numbers ended up becoming disconnected outright. Even right now, thirty years later, the song still gets airtime. And, or course, someone out there gets tempted to call it.
As I touched on earlier, over the years there were a few scans done of all these numbers just to see what was still out there. Just for fun. A lot of the big names of the scanning scene contributed to these, and they were pretty cool little files to browse through. There wasn’t any schedule to these, they were just sort of done on a whim. In 2006, I saw a forum posting over at BinRev for “Jenny07″ and decided to sign up.
In 2006, I was 15 years old and sort of branching out on the internet a bit more than I had before. I got into the historical side of computer hacking and phone phreaking, and set myself up modestly on an IRC channel or two. I didn’t know much but I knew I wanted to get my feet wet. Participating in a scan was a nifty idea to me. I’d put myself back in time 25 years and do things the old fashioned way. I’ve always followed the ideology of looking back at what’s been done to know how one should advance.
So I signed up for the 600 block, which contained my own area code. Now at this time, I didn’t have a cell phone. I also sure as hell was not going to dial 100 numbers and tie up the family land-line What was a kid to do? You might remember an important promotion for a relatively young piece of VOIP software back in 2006. Skype was trying to get people to register, and were offering free calling credits if you signed up. So here I was with a handful of Skype credits and a few hours of free time on an evening after school. One by one I called the numbers and recorded what I heard on the line (if anything).
It took longer than you’d think. So much so that I didn’t want to do another block even though I had been planning to. It wasn’t difficult, just exhaustive. Still, it was a lot of fun seeing what would happen when connecting to each new number. I submitted my findings back to the forum post along with a few others and eventually my results were rolled into the document which was released to a few sites. There were plans to do this scan again every year or so, but it never seemed to materialize after this one.
So where are we now? Six years later, it’s a nice little reminder of one of my first collaborations in the internet world. It’s a pretty nice feeling seeing my name up there with some “famous” names and knowing I was part of something that was swapped all around the web, ending up on dozens of servers.
It’s a funny conversation starter and I honestly forget about it until someone brings it up and asks what they’re looking at. It’s one of those “Oh yeah, THAT” conversations usually followed by a “Let me explain.” While the file still floats around out there, I decided to toss it up over at the Internet Archive so it can be found always, by anyone. A nice little insurance policy.
Take a look, and have a laugh. I know I did.
Sunday, July 15th, 2012
I’ve had a Fibit Ultra for a bit over a month now, and it’s a pretty cool little gizmo. If you have no idea what I’m talking about, think of it as a smart pedometer. What does that mean? Your traditional pedometer will track your number of steps. The Fitbit, on the other hand, will track your steps, floors climbed, distance traveled, calories burned, activity level, and even sleep patterns. It also has basic clock and stopwatch functionality. When you buy the device, you get the Fitbit itself (about the size of a thumb drive), belt clip (the Fitbit is fashioned as a clip, but sometimes clothing is a bit too thick), arm band, and a charging station that doubles as an access point. The last item is especially interesting: You connect your Fitbit to charge once a week or so, but keeping the station hooked up via USB to your computer will allow you to wirelessly synchronize whenever you are within range (about 15 feet). This reports your stats to their online service so you can pull it up anywhere you have access to a web browser. In addition to keeping track of your daily stats, the online software will graph all of your activity in weekly/monthy segments and give you “badges” for your daily or overall progress.
I don’t talk too much about my personal life, but over the past year I’ve lost 95 lbs from a combination of vigorous walking and diet change. In this sense, I’m predisposed to exercising, which I continue to do often. That said, the Fitbit is a fantastic motivator. You can check your daily stats against goals set up, and you do get the push to go out and meet them. You might find yourself taking the stairs instead of the elevator a bit more, or walking to the store instead of going for a drive. There is even Facebook integration so if you had friends also using the Fitbit, you can choose to share your stats and “compete” with them. Overall, the Fitbit is great for walking/running activities. If you lift weights or cycle, this isn’t the device for you. I tried affixing the device to my pant leg while biking, but this just gave an inaccurate reading. Keep this in mind when considering your exercise regiment.
The Fitbit Ultra
Getting down to the technical side, the Fitbit comes equipped with three accelerometers (implying three axes of movement), which is how it tracks your paces and activity level. Unlike most other smart pedometer devices, the Fitbit also boasts an altimeter to figure out if you’re climbing any floors or hills. The Wireless station uses a proprietary ANT protocol for data transmissions. It is comparable to ZigBee in that it has a “sleep” mode and similar packet behavior for small data transfers.
Fitbit also offers a scale product which acts in a similar fashion to keep track of your weight, as well as a “personal trainer” service to help you plan meals, manage your sleep, keep track of different lifestyle habits, and give you an in-depth report of your statistics. I’m not too into these, but they’re something to think about if you are considering getting on the bandwagon. Smart phone apps are also offered for free to help you keep track of your goals, stats, and dietary habits.
Daily Activty Stats
In my experience, the Fitbit is an all around nice device. A few people complain about the durability, but I have yet to have it show any signs of wear. The display is pretty nice and put under the plastic casing. It sounds a little strange but looks sleek. The Fitbit stands up well against heat, I wore it to a cramped concert that was unbearably hot and the device was perfectly fine on exit. There have been some reports of it not holding up well in wet weather, but this is to be expected. I don’t plan on submerging it in water or anything, but if it’s raining hard out and I still feel like exercising I imagine it wouldn’t be too hard to slip it into a cheap sandwich bag and be on my way. Functionality-wise, everything works as expected. The pedometer keeps track of your steps accurately and computes distance traveled (miles), so surprise there. The floor counter will count your floors (not the individual stairs). I’m not sure how it determines a “floor” as a measurement but it works. Calories are a little off since it uses your height and weight to determine amount burned, but it doesn’t make a big difference to me. The web interface works well, and generates helpful graphs. Battery life is amazing, to the point where I forget that the thing even runs on batteries. The sleep tracking is also really interesting an easy to use: You just attach the Fitbit to the wristband and activate the stopwatch before you go to sleep, and the device tracks how often you wake up to determines the quality of your sleep.
I can say that the Fitbit does everything I’d want and expect, and was a solid investment for me. If you’re liking this smart pedometer idea but aren’t sold on Fitbit, check out the Nike+ Fuelband and the Jawbone Up. I haven’t used them, but they’re also front runners on this new wave of devices.
Saturday, February 13th, 2010
Some people know me as the IPTV guy. That is to say that I have a lot of independent media that has been distributed over the internet, which makes me something of a video packrat. I used to simply collect it. I kept RSS feeds, and downloaded episodes when they came out. I attended IRC release parties, befriended the hosts, and became part of the communities that revolved around these shows. Nowadays, things are not as active as they used to be. Shows have come and gone, and many have simply perished into the dark side of the internet.
These days, I share my collection of shows over the internet: the same way I received them. I continue to seek out lost shows and fill out holes in my archive in an attempt for completion. Many people may wonder why I even bother. The answer to that question may be more complicated than one would think.
It all must have started in the mid 90′s. I was maybe eight years old. I used to love watching cartoons, but my favorites always played when I was off at school. This is when I discovered the magic of VCRs. I never knew that you could use a VCR to record shows before, but it made things a lot easier after I found out. I learned how to tape shows while I was watching them, and advanced to master timed recording. I filled hour after hour of tape after tape, and re-watched episodes until I had to go to sleep. In affect, this marks my first archiving practice. I wanted to watch whatever I wanted when I wanted it, and found a way to do so.
Years later, I got into torrenting, which I still enjoy today. I’ve never been to keen on mainstream content. Those Hollywood blockbusters don’t do too much for me. The wonderful think about Bittorrent communities is that they are very diverse. I can find so many things that I would otherwise have missed. Have a favorite television show from the 80′s that was never released to DVD, or a movie that only could have been seen when you owned a Betamax player? Odds are I can find what you are looking for. I like to think of torrent communities as groups of friends you lend DVDs out to and talk about weird films with. When you put this group of friends online, it expands to include hundreds more like-minded individuals.
So why go through it all?
Part of it revolves around me having a certain mentality. If I don’t archive it, who will? The stuff that was out there years ago is becoming harder to find. This seems to be true for everything, but especially IPTV. As far as I can tell, I am one of two or three people that have been saving this stuff and trying to share it all back to the world. I think of websites like Jason Scott’s textfiles.com and think of how different things might be if he never decided to share a world of text files. What would have happened to our history of Bulletin Board Systems? Maybe a few Angelfire fan pages and a news group? Certainly not enough to make a statement.
Another part of it is simply the community aspect. Sharing the content makes for meeting people makes for conversation and more sharing. For example, with the IPTV Archive, I chat with a number of people who have an IPTV craze. We get to talking and searching for lost videos and have fun in the process. It opens whole new doors. Somebody may have ideas that throw you in new directions and change things for the better. Video packratism works far better in groups. Pooling resources, time, and effort helps maintain efficiency.
Through it all, video packratism has worked well for me. I locate, I leech, I share, all along with others. It might have taken a long time. I’ve been accumulating content for years, and am still nowhere near done. That is the thrill of it. Locating the un-locatable and watching the unwatched. It is a long process with a short reward. A month searching for thirty minutes of content? Good thing there are hundreds of files out there that are just waiting to be found, otherwise I might get bored.