Milestone 10: Thinking algorithmically

Learning to program has been one of the most difficult undertakings of my life. For some reason, I have just always had an incredibly hard time grasping the kind of abstraction we touch on in Chapter 10 of Snyder. Even now, they way I approach things (programming and otherwise) tends to be more of the try, try again variety. And trying to wrap my head around data structures (again, touched on in Chapter 10) has always been difficult. While I understand most of the basic stuff, I have never, ever gotten very comfortable with recursion. I understand what it does and how it does it- I just don’t really know when its a useful tool.

But, this kind of understanding is important. Even working on web pages and blogs- while a site like blogger is fine for classwork and the like, if one wants to build a site that looks good and is easily navigable, one has to know more than basic html- the digital-citizen site, for example, runs on the scripting language PHP, and many of the plugins and tools used for its “theme” are written in PHP and javascript. Over the holiday break I plan on doing a major revamp of the Digital Citizen website- making it look a little more professional and giving people access to tools they can use to help out. Doing this will have me diving into a language i’m not very familiar with and trying to use it to arrive at something unique and useful. We shall see.

Social Bookmarking For Digital Citizens (milestone #9)

If you sign up for this and have links for Digital Citizen, please use the “for:digitalcitizen” tag. Thanks!

This is a different sort of fluency milestone because its not really related to the Snyder book. I’m going to talk about social bookmarking and discuss a way for everyone to participate in Digital Citizen- without having to worry about speaking out loud or writing massive essays.

Social Bookmarking is like picking “favorites” or bookmarks for your web browser- Internet Explorer, Firefox etc.. But instead of having the bookmarks just sit in your browser, the bookmarks are stored on a website. Through “tags” you place on the bookmark, the bookmark is shared with the rest of the internet. You can send it to your friends, you can subscribe to feeds that feature tags you are interested in or you can just use it to keep track of the things you like.

The social bookmarking tool I’m going to talk about here is There are of course others- Digg or Furl.

Here is an example of a group of tagged bookmarks. In this case, I’ve tagged them “digitalcitizen” so i can refer to them when i’m writing.

You can also look around at the popular tags through what is called a “Tag Cloud“- just for a hint of what’s popular among those of us who are forced to sit at computers all day. Its almost entirely tech related, for now. This is a great way of just happening upon interesting sites.

So say you find a story you want everyone in the class to find out about. Using the Browser Buttons or Firefox Extension, you can tag the site and give a brief summary of what you’ve found. If you tag it “digitalcitizen”, it will immediately show up here, and as a feed you can subscribe to.

You can also use the tag “for:username” to send a bookmark to a friend. Say I found an article about Wikipedia that I wanted to send to Piotr, and he had a user account on, I could simply tag it as “for:prokonsul” (assuming that was his username) and it would show up in his inbox. You can also send tags directly to me for digital citizen by tagging them “for:spacemountain”, which is my user account on

I’ll be including the digitalcitizen tag feed on the Digital Citizen site so everyone can see it in action. Give it a try! It sounds a lot more confusing than it really is.

Captcha vs. People with Disabilities

This week’s This Week In Tech Podcast features a discussion by a blind podcast who railed against authentication systems that use image verification (aka Captchas)- such as the one some of us use to verify comments on Blogger. It seems that they are major problem for blind people because they don’t conform to the reader software many people use to browse the web. He mentioned that some web sites allow you to turn on an aural equivalent of the captcha, while others allow you to contact them for authentication, though he said response was spotty at best. He also said that while google pledged to improve their Captcha system for people with disabilities, they as yet have done nothing.

What the Hex (Milestone 8)

Although I doubt most of us will need to know how to convert bits to bytes and ascii to bits and bin to hex or whatever on the day-to-day, its kind of neat just to understand why its there, because suddenly you see its use in a lot of things- especially if you’re online. Have you ever tried to find a color for a web page? Hex. Wondered just what the numbers in your IP address represents? 32 bits encoded as base-256. If you’ve ever had to mess around with a router at home, you have heard of your MAC Address, 48-bits represented in hex.

XP (Milestone #7)

I am not a good programmer. I have taken many programming courses and done well enough, but outside of coursework I have an extremely hard time programming anything beyond simple scripts and modifying other people’s code. I understand the concepts but I think because I neglect any practice of it I have a very hard time with it every time I try to pick it back up. With that said, debugging is even harder.

There is a programming technique that a few years ago was the toast of IT- XP, also known as eXtreme Programming. Though I am obviously not fluent in XP myself, one facet of XP that became quite popular and seems in retrospect beyond obvious is the practice of “team” programming, where two coders sit down and work on the program together. Having a second brain on hand to help brainstorm your way through problems certainly doesn’t apply only to programming, but its use in programming is really kind of revolutionary. If you’ve ever stared at code for hours on end, only to have a friend point out you missed a semicolon somewhere, you know how useful this can be. One person codes, the other watches, offers thoughts, thinks about what they’re seeing. A big problem in debugging as I see it is that you are simply too close to the code to see the errors. Another being that people can’t read more than a few lines of code and truly understand what its doing, so error checking by another person later on is as much a matter of trial-and-error, as it is for you, if not more so. Even with good comments!

In a lot of ways, conversation is the same way. I’m often startled by the things I find myself thinking when I converse with people, simply because the act of conversation has caused me to think and react in ways I wouldn’t have had I not entered the discussion.

Of course, it may not work for everyone, but I’ve found it quite useful. Peace.

My 7+ Point Plan for E-Rulemaking

1. Update the legislation!2. Create and fund an organization dedicated to providing software tools for rulemaking bodies to:

  • publicize comment periods, collect comment information
  • quantify the information
  • allow discussion between the public, the agency and other stakeholders
  • This software “company” will produce software whose source is open to all government agencies and educational institutions for use and modification as they see fit.

3. Capitalize on the collected knowledge of the internet through moderated, wiki-like knowlegde resources. These resources can be modified and updated by users who have registered and applied for certain credentials.

4. Advertise, for free, on the internet through communication with prominent bloggers, news sites and message boards. This is not PR, this is creating discussion. Show stakeholders you are interested in their opinion and at least some of them will make a strong effort to educate themselves and participate.

5. Use social tagging and moderation tools to evaluate public comments:

  • Create a jury of moderators from agency members, stakeholder representatives, and elected citizens who have applied for the position online
  • Moderators will evaluate user messages and rate them, a la Slashdot etc. Higher rated messages can then be filtered and recorded for later advisement.
  • Again, like slashdot: Allow users the opportunity to moderate as well, on a limited basis, providing a perspective that appointed moderators may have missed.
  • Create a centralized database that stores user participation and evaluation. Users will build up a “trusted” level over time, and those users will be more likely to be allowed “user moderation” tools during the comment process.

6. Educate.
7. Fund.

This is admittedly idealistic and naive, but that’s how we get good things done, so live with it. Please tear this apart. I would seriously like to see if we can build something workable by discussing this.

Technorati Tags: , , , ,

Ego Searching (Milestone 6)

So what better way to look into online research than seeing what kind of fingerprints you’ve left on the ‘net. With Snyder chapter 6 in mind, I’ve done some cursory searching on Yahoo, Google and All The Web resulting in (literally) an embarrassment of riches.

Things I’ve long since forgotten:

  • My top 20 from 1996
  • A Picture of Edith Frost I Took in 1997
  • Record reviews and other strangeness from
  • The WPTS Top 30 from November 1996?
  • Weird places my name turns up in:

  • A fix for iTunes 5.0, stolen from the apple support page
  • My name in a NYT ad for Mozilla Firefox
  • Wrestling Team
  • Weird message boards
  • An online music magazine


  • My Muhlberger Paper
  • A very old group project
  • Somehow, my actual blog.

    Things I’d rather weren’t there at all.

    Finally, people who aren’t me:

  • Travelogue Weirdness
  • Some pianist

    Weird, wild stuff. And so concludes Milestone number 5, the ego search.

  • Digital Citizen Button

    Add this:

    to your links!

    Here’s how- just copy this text and paste it into your template: