I’m incredibly impressed that Bill-O stayed civil throughout the whole thing. Impressive, really.
Author: galador
Billy Mays Dead
This is not a good week to be a celebrity… first, Ed McMahon, then Farrah Fawcett, Michael Jackson next.
The latest in celebrity deaths is TV Infomercial star Billy Mays.
Spirited TV pitchman Billy Mays was found dead at his Tampa home earlier this morning, police said.
Mays, 50, lent his trademark booming voice to infomercials for products like OxiClean and Orange Glo.
His wife, Deborah Mays, found him at their home Sunday morning, the Associated Press reported. Tampa police said there were no signs of a break in or foul play.
Guitar Weeping
Smallest drumset Mike Portnoy will ever play. BRB guys, recovering from awesome.
Auto-Tune News
Got this from Matt on WordPress. Clearly auto-tune is the best thing to come out of the R&B industry since Janet Jackson’s “Wardrobe Malfunction.”
Tables
It should be a crime for someone to make an entire webpage out of tables. The same applies to frames.
Michael Jackson Dead — Cardiac Arrest
According to the always-factual TMZ (via Olivia Munn), Michael was admitted into the UCLA Medical Center after being rushed there by the LAFD.
Seems he wasn’t breathing on arrival.
Update: Damn. Mere seconds after posting this, I learned that MJ was pronounced Dead on Arrival by the paramedics. He had no pulse, and they were unable to resuscitate him on arrival.
I may not have been the biggest fan of Michael, but this is truly a sad for the music industry. He may have been crazy in recent years, but it’s hard to overlook his influence in the R&B genres.
FFFFFUUUUU
I think this evening is trying its hardest to piss me off, and it’ just about succeeding.
Internet’s been down most of the evening, one of my brand-new guitar strings just snapped, among other things.
Bleh. Not a good night. To make this post more constructive, an interesting point of view, courtesy of the Internet:
Click for the larger version!
Fun With Ruby!
So, over the past couple of weeks, since I’ve practically had nothing to do (besides blog to all you wonderful people!), I’ve been trying to make myself slightly more useful, and learn a bit of programming. My language of choice right now is Ruby! I’ve done a couple of projects (I might release the other ones when I’m satisfied with them), but tonight I created my first “real” from-scratch ruby script.
One of the sites I’m involved with has a wiki-type section, and each page has an image. This image is not stored on the websever (necessarily), but instead, each page has an image box where each user can put in a link to an image hosted on imageshack/tinypic/et al, and this link is stored with each wiki page in MySQL as it’s own column.
This same website does provide a coppermine gallery installation where users are encouraged to upload these pictures to. Unfortunately, one of the staff members there (through sheer accident) deleted one of the major albums that held these wiki pics.
Fortunately, Ruby makes it stupidly easy to work with HTTP and MySQL. I whipped up this script, and after a few bugs squashed (damn you, “==” and “=”), we got the list of all the wiki pages that no longer had a working image. Here’s the script in it’s full glory:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | #!/usr/bin/env ruby %w[rubygems net/http activerecord].map { |r| require r} Net::HTTP.version_1_2 # This is the http path to the page that would display the image # I only do this so that the text files generated have clickable # links if your view supports that. If you just want ID #'s, # leave this blank! -> http_path = "" http_path = "http://domain.tld/path/index.php?id=" ActiveRecord::Base.establish_connection( :adapter => "mysql", :database => "dbname", :username => "user", :password => "password", :host => "localhost" ) class Group < ActiveRecord::Base set_table_name 'table_that_has_images' end # Quick note: these files are in "append" mode, so if you plan on # running this script more than once, delete or rename the files # between runs. # Doesn't have an image in the first place no_img = File.new("no_img.txt", "a") # Dead img dead = File.new("dead_img.txt", "a") # Timed out time = File.new("timed_out.txt", "a") num = Group.last.ID puts "There are #{num} groups total" for i in (1..num) g = Group.find(i) rescue "none" if g == "none" puts "No Group ID #{i}" next else unless g.WikiImage =~ /^(http|https):/i # Doesn't have an image in the first place, might want # to report this, also. no_img.puts("#{http_path}#{i}") puts "ID: #{i} -> No image in the first place" else # Rescues in case it times out... I think we can assume if # that's the case, it's dead. res = Net::HTTP.get_response(URI.parse(g.WikiImage)) rescue "timeout!" # res.value returns an error for all values other than an # HTTP 200 response. So, this will probably also catch # permanent re-directs, et al. :X test = res.value rescue "dead" if test == "dead" if res == "timeout!" puts "ID: #{i} -> Timed Out" time.puts("#{http_path}#{i}") else dead.puts("#{http_path}#{i}") puts "ID: #{i} -> Dead Img" end else puts "ID: #{i} -> Image fine" end end end end time.close() dead.close() no_img.close() |
Feel free to use the script for your own purposes. Pretty much all the main variables are at the top that you need to change (site path and MySQL connection params). I couldn’t figure how to make new variable names from a variable, so if your image column isn’t named “WikiImage” (and I doubt it is), you’ll have to change lines 43 and 51 to reflect your column name!
Enjoy! :)
New Strings
God, new guitar strings are so awesome.
I must remind myself to replace said strings more often.
(Yes, this is somewhat of a cop-out post, but I have a “real” one coming up tomorrow. :D )
Xbox is Back from the Grave
Woo! Got my Xbox back from the repair center today. I was actually really surprised at how quickly I got it back. It only took, lik five days to get there, be repaired, and get back to me.
Good job, Microsoft. Even though you fucked up the 360, I appreciate you getting it back to me in good time.