mocker.org

Struggling between web 2.0 and plain text.

Project Concept: Achievements

I get project ideas all the time, this one came at 2:33am according to the task in OmniFocus. It’s beyond my coding ability, but I think it’s a decent idea.

If you think so too, let me know and we’ll code some stuff up! Or, if this already exists and I haven’t heard of the site let me know.

Begin Elevator Pitch (in car salesman like voice):

Achievements, the “gamification” of the web, are poised to become the next big thing. Microsoft even recently added earning achievements to the next release of Visual Studio.

I propose a centralized place, much like gravatar, that would allow developers to easily add achievements to their site. Users benefit because they have one place to keep track of all their “badges” and unlockable content.

(all of these based on user and site preference)

  • Site can administrators easily add and track new achievements by using API or portal
  • User achievements/badges could be shared among sites
  • Posting of newly earned badges across all sites to twitter/facebook/etc..
  • Linked to email address, no real “authentication” needed
  • Increase site visibility because badges for your site would show up on other site user profiles
  • Increase user interactions as they compete for badges

Sending Files Using DNS

Today I pushed an app I’ve been working on to a public git repo here. The project allows people to share files using DNS. A file is pushed to an authoritative name server and can be pulled back down with a file key. If it’s pulled back down from someone’s normal name servers, it will (depending on DNS server settings) be cached on that name server. Subsequent pulls from that name server won’t need to hit the authoritative name server for records as long as it’s cached (usually TTL, sometimes not).

I think the idea is fun, and I’ve been able to pull down an Ubuntu ISO using only DNS as my source. I did a call for help on reddit for people to give suggestions on cleaning up my code and already have four pull requests. Still have quite a few things I’d like to add, at the top of my list is a rails app that would allow a user to upload a file and have it pushed to DNS records.

Check it out, make fun of my code, and tell anyone you think might be interested. :)

Batching of Forked Processes in Ruby

Sometimes the fun in not being a full-time (or good) programmer is coming up with odd solutions to problems that a real programmer would scoff/laugh at. Recently I had to devise a way to power through a huge number of processes in one of my scripts, without fork bombing my system. I came up with using the modulus operator and Process.waitall to force my script to halt after a batch of jobs started.

Forcing an Old Polycom to Update the Stored Contact List

Was having an issue with some old Polycom phones not wanting to pull down a new contact list from the server. Quick fix that I found was updating volatile memory settings to from zero to one.

If set to 1, use volatile storage for phone-resident copy of the directory to allow for larger size.

Supporting Breast Cancer Awareness Could Raise Your Insurance Rates

Is that a sensationalist headline or what?

A coworker and I had a discussion over lunch that had me thinking about digital privacy. A digital profile is the aggregate information that is collected about your online activities. What our “digital profile” says about us and what it can be used for is both entertaining and scary. The entertaining part is coming up with fictional scenarios that could happen, the scary part is that the scenarios could be happening now.

Cue twilight zone narration voice

Scenario 1:
A health insurance company is trying to lower rates for customers. By profiling customer’s search history and social network information they can more accurately place people into high or low risk categories and determine what rates they should pay. For customers that have opted for a private social network, information is pulled from their “Friends” who have public data and a profile is built based upon aggregate friend information. As the program continues, more information is gathered about the users. Suddenly someone who posts something supporting breast cancer awareness is in a higher risk category because of an increased probability they are related to someone with cancer.

Scenario 2:
A car insurance company is trying (again) to lower rates for customers. They use the same methods above but also found that with cell phone GPS they can accurately take snapshots of how fast the customer is driving. Suddenly someone who has been a safe driver under the previous system that drives 10 miles over the speed limit is bumped to a riskier category.

It easy to come up with scenarios once you get started:

  • Hiring (or firing)
  • Getting added to a “no fly list”
  • Loan applications
  • Legal cases (think divorce, paternity)
  • Identity theft
  • Benefits claims (based on some activity you post, contesting eligibility for benefits)

So should you try to hide your identity on the Internet? Personally, I would rather have privacy laws in place that protect user data. I don’t want a world where only sophisticated users can protect their information. I don’t want to hide in an Internet cave battling new ways to collect information about me. I enjoy using the new social services that are coming out. Perhaps I’m naive.

Some links to check out:

Blogging With Jekyll (Octopress)

This weekend I switched to blogging with Jekyll/Octopress/Github pages. One of my goals for this year is to write more about the tech things that I am working on. Switching to this system will help with two things:

Force usage of Git/Github
I love using git for version control, but often find I fall back on old standbys (tar backup of directory before making changes, filename.$date, etc.) Hopefully getting in the habit of using it to blog will transfer to daily usage as well.

Easier blogging
Writing content with this setup is extremely simple. I don’t have to worry about special clients, a web management GUI, or other junk that can get in the way of putting content online. Right now I’m using TextMate to write this, but I can easily switch to any other editor with decent markdown support.

Bash Functions for Asterisk

I’ve started to cobble together some bash functions to help with common Asterisk administration tasks. Here is a useful snippet for getting free sip users from your sip.conf. If you are on a CentOS box you can put this in /etc/profile.d/asterisk.sh to make it available to everyone on the system.