.

Still Owned On Google

From the search in the google…..

Economy Size Geek
This site may harm your computer.
www.economysizegeek.com/ - Similar pages - Note this

Bummer… I’ve scheduled a review - but still waiting them to clear me.


Getting Pownd Suxxors!

Ok I’ve been busy lately (by lately I mean since 2.2 came out). I got a note a while ago from a friend about a problem with my RSS feed - didn’t think much about it. Then today I got an email from another friend who is trying our firefox 3 - it has a plugin that warns you when you visit a site that has malware. Apparently, my site is listed as a malware site…..

It turns out there was a hole in WordPress at some point that let them inject javascript and whatnot into the posts. They were hiding a bunch of it - but it showed up in the RSS.

I think I’ve cleaned out the bad posts (If you see one let me know), I’ve cleared out the back log of comments (all 25K of them), and updated to 2.5.1 - which is the latest and greatest - oh and it has security fixes for 2.5 (just released recently).

The only annoying thing is that every time I do this I have to deal with putting back in my patches to WordPress. I’m going to to give git a whril on this problem to see if it helps.

Also I noticed that some people are having problems with Postie on 2.5.x - I didn’t notice because I wasn’t running 2.5 - but since I am now - I’ll be fixing whatever the main problem is since I still need Postie to work.


Git Patch Example

Michael Ivey / Contributing to Merb (Part 1) (git, merb)

This is an intro to submitting code to the Merb project. That isn’t what caught my eye. What is really nice about this short write up is it shows you how you can branch off to do your own thing, and still keep up with the main trunk you branched off of. For those times when it takes you a little bit longer than you thought to get your feature wrapped up so it can be merged back onto the head.


Minor Kindle Komplaint

Ok so I’m a little annoyed - more so because I figure my complaint is unlikely to be fixed. You see I own a kindle. So far I haven’t met any others - not entirely surprising - I was the only person I knew with a PSP for a while too.

I had both a Kindle and a Sony Reader. I read a lot and wanted to figure out which was the best one. I sold off the reader - the kindle is awesome. So far I’ve finished 6 novels, a mix of short stories, and a couple of reads through some serious tech pdfs I had laying around.

Enough with the gushing - the complaint - the whispernet doesn’t work outside of the US! I haven’t tested Canada, but I didn’t have connectivity in London or Mexico. I wasn’t entirely surprised about London. I thought it would be unlikely to work. Mexico, on the other hand, was a bit of a surprise. I was even more annoyed because I was actually on vacation and reading like a fiend and I finished book 2 of a 4 book series and really needed book 3 - which I couldn’t have. I hadn’t bought it was because I wasn’t sure a) book 2 would be as good as book 1 and b) I didn’t think I’d finish book 2 on the trip. (Which is another cool thing about the kindle my reading speed on it is seriously faster than my normal paper speed.)

Of the X number of Kindle owners (Amazon has not mentioned sales numbers as far as I’m aware - just shortages) - I wonder what percentage travel outside the US? Even if it is a big number I’m willing to bet they aren’t going to fix it - guess I’m just stuck stocking up before I hop on my next international flight.


mouth cancer screener

My dentist has gone all csi with a light scan to detect mouth cancer


First Serious Sprout

this is the first real sprout in my hop yard. it is a golding.I can see tiny buds on my cascades but not much. So far no rea sign of the willamette. crossing my fingers that i’ll get a crop of hops for at least one batch of beer this year


my poor peg leg bulldog

Quickly is still recovering from some minor surgery on hid front paw


FCC Okays Nudity In Some Cases


FCC Okays Nudity On TV If It’s Alyson Hannigan


Getting The Hang Of Git

I signed up for GitHub (More for the tracking than anything) - I still had to sort out a git repo for the code I don’t want out there in the wild.

Turned out to be pretty straight forward ( Good Instructions or Even better ones if you like packages)

Looks like gitosis was really the key. The only problem I ran into was my main server is still a Debian sarge box - ( Yes I know that’s old. Yes it annoys the crap out of me since every other box I deal with is actually an Ubuntu box. Yes I’m waiting for Hardy Haron to make a clean start of it.) I had to pull in a lot of packages from either etch or testing (1.5.4 is in testing). Not ideal but it works for now.

I actually spent the last three days in the UK and while I was there I had very limited internet connectivity. No big deal - I did a bunch of work in a git repo locally. Now that I’m back home I’d prefer to make sure that the code isn’t just on my laptop (Backups are nice - so is my home workstation). I was able to easily add the new repo to my new git server. No problem.

Example from the above articles:
mkdir free_monkey
git init
git remote add origin git@YOUR_SERVER_HOSTNAME:free_monkey.git
Add in some files - blank repos are no longer pushable
git push origin master:refs/heads/master

On my workstation I just did
git clone git@YOUR_SERVER_HOSTNAME:free_monkey.git
cd free_monkey

If I need to add a new repo - or a new user - I can just

git clone git@YOUR_SERVER_HOSTNAME:gitosis-admin.git
cd gitosis-admin

Very nice!

Then I hit a small wall - basically I was in the middle of some feature work. I had two different branches off of trunk - one related to a new feature that is still a day away from being finished - and a strain of development related to migrating the app to Rails 2.0.x. It wasn’t obvious what the hell to do. Basically you have local branches and remote branches. I’ve obviously master local branches - now how the hell do I get them to be remote.

Then I found this overall guide Git Guide - SourceMage Wiki

on my laptop (with the branches - and after I had commited master)

git co rails-2.0.x
git push origin rails-2.0.x:refs/heads/rails-2.0.x

on my workstation (update/get list/create local branch)
git pull
git branch -r
git branch --track rails-2.0.x origin/rails-2.0.x

(Apparently if I ever need to delete the remote branch I just do this)

git branch -r -d origin/rails-2.0.x

This is all a little bit confusing - but I’m sure once I get the hang of it I’ll end up adding some global aliases to make like easier. All this power and no ability to replicate the functionality of svn:externals - the mind boggles.


Autotest

I haven’t run Autotest in a while (i’ve been knee deep in JavaScript code lately). While I was away they’ve release a new version of the system. Last time I used it - I was only doing RSpec testing. Now that I’m working on a project that has Test Unit (Haven’t migrated the app yet) - autotest doesn’t work.

Below is a new .autotest file which handles figuring out which kind of testing you are doing and handle it accordingly.

require 'pp'
require 'autotest/timestamp'

require "#{ENV['HOME']}/autotest/sound/sound.rb”
Autotest::Sound.sound_path = “#{ENV['HOME']}/autotest/sound/sound_fx/”
require ‘rnotify’
require ‘gtk2′

module Autotest::RNotify
  class Notification
    attr_accessor :verbose, :image_root, :tray_icon, :notification,
                  :image_pass, :image_pending, :image_fail

    def initialize(timeout = 5000,
                   image_root = “#{ENV['HOME']}/autotest/images” ,
                   verbose = false)
      self.verbose = verbose
      self.image_root = image_root

      puts ‘Autotest Hook: loading Notify’ if verbose
      Notify.init(’Autotest’) || raise(’Failed to initialize Notify’)

      puts ‘Autotest Hook: initializing tray icon’ if verbose
      self.tray_icon = Gtk::StatusIcon.new
      tray_icon.icon_name = ‘face-monkey’
      tray_icon.tooltip = ‘RSpec Autotest’

      puts ‘Autotest Hook: Creating Notifier’ if verbose
      self.notification = Notify::Notification.new(’X', nil, nil, tray_icon)
      notification.timeout = timeout

      Thread.new { Gtk.main }
      sleep 1
      tray_icon.embedded? || raise(’Failed to set up tray icon’)
    end

    def notify(icon, tray, title, message)
      notification.update(title, message, nil)
      notification.pixbuf_icon = icon
      tray_icon.tooltip = “Last Result: #{message}”
      #tray_icon.icon_name = tray
      tray_icon.pixbuf = icon
      notification.show
    end

    def passed(title, message)
      self.image_pass ||= Gdk::Pixbuf.new(”#{image_root}/pass.png”, 48,48)
      notify(image_pass, ‘face-smile’, title, message)
    end

    def pending(title, message)
      self.image_pending ||= Gdk::Pixbuf.new(”#{image_root}/pending.png”,48,48)
      notify(image_pending, ‘face-plain’, title, message)
    end

    def failed(title, message)
      self.image_fail ||= Gdk::Pixbuf.new(”#{image_root}/fail.png”, 48,48)
      notify(image_fail, ‘face-sad’, title, message)
    end

    def quit
      puts ‘Autotest Hook: Shutting Down…’ if verbose
      #Notify.uninit
      Gtk.main_quit
    end
  end

  Autotest.add_hook :initialize do |at|
    @notify = Notification.new
    %w{.hg .git .svn stories
           tmtags Rakefile
           Capfile README spec/spec.opts
           spec/rcov.opts vendor vendor/gems autotest
           svn-commit .DS_Store }.each {|exception|at.add_exception(exception)}
    at.add_exception(/^\.\/vendor/)
  end

  Autotest.add_hook :ran_command do |at|

    results = at.results.flatten.join(”\n”)

    tests = 0
    assertions = 0
    failures = 0
    errors = 0
    pending = 0
    unless results.nil?
      rspec_tests = results.match(/(\d+)\sexample[s]?,/)
      if rspec_tests
        #Test unit
       if (results.match(/(\d+)\sexample[s]?,\s(\d+)\sfailure[s]?,\s(\d+)\spending/))
         test_results = results.match(/(\d+)\sexample[s]?,\s(\d+)\sfailure[s]?,\s(\d+)\spending/)[0]
         results.scan(/(\d+)sexample[s]?,\s (\d+)failures[s]?,\s(\d+)\spending/) do |t, f, p |
             tests += t.to_i
             failures += f.to_i
             pending += pending.to_i
          end
       else
         test_results = results.match(/(\d+)\sexample[s]?,\s(\d+)\sfailure[s]?/)[0]
         results.scan(/(\d+)sexample[s]?,\s (\d+)failures[s]?/) do |t, f |
             tests += t.to_i
             failures += f.to_i
          end
       end
      else
        #Test unit
       test_results = results.match(/^\d+ tests, \d+ assertions, \d+ failures, \d+ errors/)[0]
       results.scan(/(\d+) tests, (\d+) assertions, (\d+) failures, (\d+) errors/) do |t, a, f, e|
           tests += t.to_i
           assertions += a.to_i
           failures += f.to_i
           errors += e.to_i
        end
      end

      if failures > 0
        @notify.failed(”Tests Failed”, test_results)
      elsif errors > 0
        @notify.failed(”Tests Errors”, test_results)
      elsif pending > 0
        @notify.pending(”Tests Pending”, test_results)
      else
        unless at.tainted
          @notify.passed(”All Tests Passed”, test_results)
        else
          @notify.passed(”Tests Passed”, test_results)
        end
      end
    end
  end

  Autotest.add_hook :quit do |at|
    puts “Goodbye”
    @notify.quit
  end
end

    You are currently browsing the Economy Size Geek weblog archives for April, 2008.
    Previous Entries »
    Categories
    Archives

    .