Captcha the Dog Exploit

Posted by Marcel M. Cary Wed, 09 Jun 2010 15:56:00 GMT

Care2 has an interest in animal-themed captchas, so I evaluated Captcha the Dog.  I think I have found a vulnerability, at least in the image recognition component, which I believe is the meat of the puzzle.

Read more...

Posted in  | no comments | no trackbacks

Version Control Comparison for Large Repositories

Posted by Marcel M. Cary Sat, 19 Dec 2009 05:22:00 GMT

At Care2, our main repository had 120,000 files and a 2.4 GB CVS checkout. CVS was mostly working with some hacks to run faster on our huge repository. But I wanted more out of version control.

The biggest issue was that merging didn't work well. Sometimes adding or removing files on a branch would have an unexpected result after merging to trunk. And it was difficult to merge to and from trunk multiple times. I know, I know, you can tag branches at just the right place to track what's been merged already... but I'd rather not.

We also relied on file lists to speed up CVS operations.  File lists help by restricting CVS commands to a carefully maintained list of files that were actually touched on a feature branch. But we ran into intermittent problems when the file list database got moved or access was accidentally revoked. The file lists were good at speeding up CVS but greatly increased the complexity and fragility of our development process, so I was eager to leave them behind.

Our two main reasons for ditching CVS were, in a nut shell:

  • Cumbersome merging
  • Slow performance on our large repository

With those reasons in mind, and I set out to find a replacement.

Read more...

Posted in  | no comments | no trackbacks

Faster Feature Branching in Large CVS Repositories

Posted by Marcel M. Cary Sun, 20 Sep 2009 14:16:00 GMT

At work we have a large CVS repository.  By large, I mean 120k files, 2.5GB checkout.  Most things work fine, and we've evolved some techniques to deal with operations that would otherwise be slow.

Things that work well:

  • Committing a small list of files
  • Updating your whole working copy, since we only expect to do so once daily
  • Updating a small list of files to get someone's recent changes

Things that didn't work well:

  • Scanning your working copy for things you forgot to checkin
  • Branching, because if you do the naive thing, you have to wait for the CVS to branch the whole repository
  • When using tags the naive way, for example for marking a release and deploying it, again because CVS has to walk the whole tree

While we never quite addressed the first problem, we do pretty well at making sure CVS never has to walk the whole tree.

Read more...

Posted in  | no comments | no trackbacks

Making Money Online while Homeschooling

Posted by Marcel M. Cary Sat, 15 Aug 2009 22:18:00 GMT

Speaker Ann Zeise shares her own success with web publishing as a way to earn money while homeschooling. In short, she recommends finding a topic you are passionate about, researching it, and publishing what you find on the Web. She then details how to monetize this valuable content using advertising services such as Google AdSense.

Read more...

Posted in  | no comments | no trackbacks

Dismantling the Inner School

Posted by Marcel M. Cary Wed, 12 Aug 2009 04:41:00 GMT

Speaker David Albert builds a metaphor for the journey to setting ourselves free in homeschooling: we must dismantle our inner school, brick by brick, smashing with a sledgehammer the assumptions we have about how learning must work.

Read more...

Posted in  | no comments | no trackbacks

Storytelling

Posted by Marcel M. Cary Sat, 08 Aug 2009 19:03:00 GMT

Speaker John Young describes how his family and mentors, and all our ancestors, used storytelling as an essential household activity to engage people. Storytelling teaches youngsters how to soak up details in their surroundings that were essential to survival, but it has appeal to all ages.  And the format of the talk is, of course, a quilt of stories.

Read more...

Posted in  | no comments | no trackbacks

Tracking CVS with Git using cvs2git

Posted by Marcel M. Cary Wed, 03 Jun 2009 15:02:00 GMT

At work, we use CVS to manage code, but I want something better: Git.  The git-cvsimport tool can do efficient incremental updates from CVS into Git — just what you need if you want to work in Git while your team's primary VCS is CVS.  But git-cvsimport is based on cvsps, and cvsps is a dead project.  And worse still, cvsps segfaults on my employer's repository.  Enter cvs2git.

Read more...

Posted in  | 2 comments | no trackbacks

TD Ameritrade leaks your data. Your compensation?

Posted by Marcel M. Cary Tue, 02 Jun 2009 12:58:00 GMT

TD Ameritrade sticks out in my inbox as one of the biggest spammers I do business with. Well, it turns out they are not actually spammers themselves; they just leaked my email address. Not much more, I hope. And what I get in return? Not much.

Read more...

no comments | no trackbacks

Short URL Klipper Script

Posted by Marcel M. Cary Sun, 31 May 2009 20:50:00 GMT

As mentioned in my last post, Klipper opens the door to a world of useful little mini-applets. Here's another script that's been handy lately: klipper_ln-s. It posts to ln-s.net, a url-shortening service. Read more...

Posted in  | no comments | no trackbacks

Pastebin Klipper Script

Posted by Marcel M. Cary Mon, 01 Sep 2008 15:36:00 GMT

Klipper is the KDE Desktop's clipboard management tool. It keeps track of your last few copy-and-pastes. But, in allowing you to configure actions that are selectable when the clipboard contents matches a regular expression, it opens the door to a world of useful little mini-applets. Read more...

Posted in  | no comments | no trackbacks

Older posts: 1 2 3