2008-06-07

Chrome, Aural, Technical

Hello.

Missing Spectrum

Incomplete color choices on web pages are a bane to the existence of dark coloured themes in GNOME and, at least formerly, on Windows. In particular, Blogger's post area explicitly specifies a background of white, which is disastrous when the system's font colour for editable areas is a light colour in a dark theme. You can try to mandate the colours in Firefox, but then some pages will look weird. My ideal solution is to define custom style rules.

In this case, I've installed the Firefox extension EditCSS by Pascal Guimier to modify the stylesheet and remove the white background rule. I used the DOM Inspector to locate the rule, finding out what the id was used to set the style ("#richeditorframe, #RichEdit textarea") copied the style from EditCSS into an editor that could do search :), removed the background declaration, pasted the edited CSS back into it, and voila! A usable editor once more.

Musical

I'm listening to Frou Frou's "Holding Out For A Hero" right now :)

I purchased a K.T. Tunstall's "Eye to the Telescope" the other day. Wat excellence. I still must pursue Rilo Kiley and Regina Spektor. I had been introduced to the latter some time ago, but it wasn't until the credits of Prince Caspian that I understood that I must possess this sound.

Projects

I have a slew of projects I want to work on. A blogger client in Vala, a simple DB-using tool in Vala, a simple cron editor in Vala. As you can see, I am excited about Vala. I don't imagine that I'll find the time to do any of them, though!

Linux and how I restored my file system

So, I lost my partition table, but knew that the file system I covet was still fine underneath. Yay. So, the solution was this:

  • boot the computer (perhaps from the OS that broke the partition table for the coveted partition, or from a USB key or Live CD.
  • download gpart (man page)
  • $ gpart -vvvf /dev/sda > logfile
  • find the partition (I guessed based on side and faint idea of its partition position) in the output that you want to save. Get the sector start and the # of sectors for it.
  • Either use this information to fix your partition table (Google for that- if the new partition layout that gpart recommends at the end of its output seems desirable, gpart could write that for you.), or, do what I did and copy it to a remote media:
    $ dd if=/dev/sda of=/mnt/sdb1/sda2.bak bs=512 skip=<sector start> count=<number of sectors>
    . It might be advisable to copy over, say, the first 32MB of it and try mounting that to see if a valid ext3 superblock exists at those numbers (described a bit more below). If it doesn't, the values might be wrong.
  • (if you don't want it to take over a day, you might consider converting the sector start and # of sectors into your FS's block numbers (and don't forget to change bs as well!). I went much faster for me then :) (in my case, my block size was 4096-bytes and the sectors were 512-bytes, so I divided the start and # values by 8 :) - hope that at least the start sector starts at a whole block :D (would it not?)
  • Once you have have copied the coveted partition into a nice pretty file safely on some remote media, you will probably want to try to mount it!
    $ mount -t auto -o loop /mnt/sdb1/sda2.bak /mnt/sdb1/sda2.dir
    (if you did a test mount of the start of your partition, you might want to remember to unmount it or to try a different dir ;)
  • I then copied all the contents of that partition out to yet another external media, my backup HD. I did this with rsync so I could preserve things, so the command was like
    $ rsync -va --progress /mnt/sdb1/sda2.dir /mnt/sdc1/sda2.root
    This will late be restored to the computer in question when I get things configured a new.

After getting the sector values from gpart, I actually dd'd over the first 32MB (very small) of the alleged partition onto my remote media, and then I tried to mount that (

$ mount -t auto -o loop /mnt/sdb1/sda2.test /mnt/sdb1/sda2.dir
) to see if it indeed contained a valid ext3 superblock :D The first time I did all this, it didn't quite work, because I dd'd over /dev/sda1 rather than /dev/sda (so the values were off by sadness :$) Once I got the right portion over and tried to mount it with success, I did get error messages, because inodes could, of course, not be found, as I had only copied over a relatively small portion of the actual filesystem. The errors were not reproduced after I copied the entire thing over :)

And this is how I restored my tentatively lost but not overwritten partition replete with complete filesystem :D Originally, I thought that this might be a case for ext3grep by Carlo Wood which does wonders for helping undelete files on ext3 partitions. However, that was not the case, but I still recommend the tool if you think you'd find it necessary.

Details on how to ruin your partition by installing Fedora 9 via net install to follow in a later post. (To summarise again, my coveted partition was in the later 18GB of a 40GB HD, and the Fedora 9 net install came promptless (as I failed to anticipate), installing a fresh Fedora and replacing the partition table :D. I am quite lucky not to have had any of my coveted data in the earlier blocks of my HD where the Fedora installation would have overwritten it. :|)

1 comments:

  1. Whee! Dark theme fun. I reiterate that it's a clever solution, since I'll be switching alignments often.

    I hope your transcription of troubles helps someone out there. (I enjoy the perks of personal support and service. ^_^ )

    It's rather amazing you're not suffering much loss due to the Catastrophe. Skedge will rise again!

    ReplyDelete

Labels

#Microblog #General friends gnome #School google blogger linux school food web fedora life music bugs guelph technology #GNOME development kendo kosmokaryote ta vegan cell phones firefox open source Flesherton birthday computers internet picasaweb skedge speech android future git happy iaido jodo nlp security sleep vegetarianism winter work art dad evolution gxml libgdata nature pidgin reading speechdispatcher stress vancouver christmas genderguesser liv phone sick travel ubuntu vala wind mobile #Development acer blogging canada dreams fun gitorious halloween nightmares snow tablet video writing xorg Nintendo ai anime baking cake cold cookies css djaqua family gdom german gseta new years new zealand night people rhythmbox the legend of zelda x11 New York Toronto animal welfare autumn bc books breath of fire II cat chocolate comments communication conversation dataloss duplicity environment flight gdata greyhound gtk home humanity laptop love math money morning movies nerdfighteria nz pizza poverty programming psychology rain responsibility shopping tea uoguelph vonage Hugo Nexus One Sudbury adventure age animals apple audible bash busy computer science data loss decay emacs encryption failure fedora 12 fedora 16 galaxy nexus germany gnome blog goals green health hungry icarus im japan java laundry libxml2 magic mail mail-notification materialism memory muffins netflix pets photography play politics privacy python quiet thrill quote receipts research rogers skating sound soy milk space sports stars style sushi synergy transit university value village video games weather web development webschwerver xml yojimbo zellers Blassreiter CIS*2750 CIS*6890 Dutch Blitz Electric Networked Vehicle Empathy John Green Lord of the Rings OCUS Scott Pilgrim Thanksgiving The Frames Trick or Eat US animalia arboretum argument backup bad movies banana beard belladonna beta birds blogs brain breakfast browsers bus business calm catastrophe chat childhood clock colour confidence context cooking corporations cottage cthulhu culture dance dbus death depth design discomfort dns dodgeball emusic energy english enhanced history evil exercise exhausted facebook fail feelings ferry film formal free friend fruit games gardening ghetto ghosts gmail google reader google wave google+ green roofs gsoc hair heat ice cream imaqua instant messaging intelligence interest internet explorer japanese javascript joy knowledge language light loneliness loss lost macbook meaning melancholy memories mom namespaces neural networks news nintendo 3ds oceans oh the humanity pain past patches peanut butter perl philanthropy pie pirates politeness preupgrade productivity pulseaudio purple quidditch recipes redundancy richard's room rpm rss rsync sadness science seasons senility sentimental sewing sharing sheep silicon motion sleep deprivation sleeping in smells software songs ssh star wars summer technical communication and research methods telephone test time time and space tired tragedy upgrade urban ecosystems valentines vday velociraptors via vihart vlogbrothers voice walking warmth water wave web design wild wireless wonder world youtube yum #Wishlist 1602 1984 24fps 404 API All My Children Argentina Avatar: The Last Airbender Businesses CIS*6050 Christopher Plummer Claymore Con-G Creatures Darker than Black David Attenborough Dear Wendy Docking Station Dollhouse Dunedin Elliott Brood England Europe February Fergus Final Fantasy IX GNOME 3 HTC Hank Green I believe in a thing called love Ireland JRR Tolkien Melodies of Life Montréal Mother Mother Neil Gaiman Network Manager New York Philharmonic Nintendorks Norns North Korea NotesFromNewYork Ontario Orphen Oscars PEAP Pete Peterson Planet Fedora Questionable Content SIM Wireless Samsung Santa Claus Sauble Beach Snakes and Lattes Star Trek Steve Grand TAing The Darkness The Hobbit The Stand Tianjin Tolkien UK Wolves in the Wall WordPerfect abrt advertisement aeroport airport express airship ajax al gore alarm clock aldiko algonquin alien alone ambition amusing amy winfrey angry birds anhosting anime north anon anxiety apology arcade ask assignments association analysis asynchronous ati automarker autonomous automobiles avatars awesome backtrack3 backyard bounty bandwidth banks baseball bathroom bats battery beaches beauty bed bees beetles bellaqua berlin bertrand russell bill gates biometrics black and white blockbuster bloomberg blue bohemian bonds book border boredom branding buffy buses buttons c# c++ cafe calligraphy camera cancer candy cards careless cars cast causality cbc celebrate celebration certainty cgi challenger chaos theory charity charm cheap cherry blossoms chickens china chopsticks christianity chrome cities clarity classes clean cleaning clorox clorox green works cloud clubs cname codeviz coins comfort community compassion competence competition compiler compliments concert conservation consumption contagion contributing convenience convention cookie copyright corpses country court crafts crashes crates creative commons creativity criminals crosscanada cry cryptic csh cult current tv customer service cvs dark themes data mining databases debug symbols debugging decor democracy desktop desktop summit despair diet digimon digital receipts dinosaurs disabilities disaster dispute dissection kit diy doubt dpkg drab dragon drano drano prevention drawing dress dtwydt dust dynamic typing e-mail earth earth day easy eating ebooks ecards economy editors education eeetop eggs el paso elder neglect elections electronic receipts email enchant enterprising environmental science symposium eog epiphany eplugin equality equipment errors ether evoaqua expectations exploring ext3 extortion faery fest falafel fall familiarity fan favicon fears fedora 11 feed me fibonacci fiction file systems fire fireworks fish flexibility flowers focus fonts forceps forgottotagit fork fortunate frameworks freedom freezing french fries friend's wedding fspot full moon funny furniture game boards garden gay rights gdb geek gifts gimp gio globalnewtgames glory gloves glue gm gnome keyring go ninja go goodbye goodfella's google books google talk government gp2x grad gratitude grey county groceries groups guerilla gardening guts habits haircut hal halls harry potter hdtv heart break help hewlett packard hijinx history holidays homelessness homework homosexuality horatio hornblower horror hot house howl hp hp lovecraft html humblebundle humour hyrule i am a carpet ibm thinkpad x41 ice ice cream sandwich ill inadequacy inconvenience industry information ink innovation integration interlocutor internet tv io irish isolation it it is indigo jabber james bond jedi jobs jokes julie thiel justice kayak kernel keyboard killme kinder kirby kiva knife knots koodo labels labs landau sacamoto languages late laurena law learning letstrace letter writing letters libnotify librpm libxml lilo limericks limits linksys live wallpapers livejournal loans local local food local install losher lyrics mac mini madness majesty malaria mario marketing martial arts massages matrices meat in vitro medicine meow metacity metadata microfinancing micropayments microsoft microwaves milk mind mindhacks missed the boat missing mold monitors monologue mood moon mosquitoes moss motivation mozilla mtp muffin muffinfilms mundane murder mushroom soup mystery nameservers nasa national treasure nausicaa navigating neighbours nerdfighter netgear network new users next year ninja turtles ninjas nodelist nointernet noise noisy non-root normality nostalgia notebooks notification-daemon novels november fair nuclear war numbers obscure obsolescence ocz olap olive open formats open music open souce open standards optimism orcas orchestra oreo oreos oscar otr overheat packing pan panda pants paper papers parties patience pattern recognition pen pence pender penguins penmanship perfection performance personal pet rocks peterborough philosophy php pickman's model picnik pidgin plugins pintsize pizza hut planning plans plants pleasant plushies podcast pomplamoose positions posse power ppc practise premier preparation pressure private processes progress promise pumpkin pumpkin pie purchases qt quarantine rad radeon randall munroe raop rats reagan reality refactoring reflection refrigerators release religion resumes reuters rhino rhps ricola road trips roar rot rtm sad salsa samurai sand scary scary movies scheduling schneier schwarting scp script seals search secrets self-interest self-navigating car senescence sensitivity sessions setbuilder sftp shame sheepo pistachio sherlock holmes ships shogun shoulder bag sigh sim city simafort simple sincerity skill skunks sky slackware slashdot sliver smiling snowboarding social society soft someonesmotherwantstoadoptme song sorrow soup sparklers speech dispatcher spellchecking spies spilt milk splendid splinter sshd stanley park starving steampunk storage streamlines stupid stylus sucks sun super mario super mario land 3d surprise surrender survival skills suspense sweet swimming swings swords symphony tabs tasks technocracy teddy bears temperature term termcap testing tests texting the duke the fault in our stars the hulk the onion themes theory thingsidon'twanttodo thinking thought thoughts thrift stores tim mcgraw tim tams timber timbre time management time travel tin tin tolerance tools touch screen touchpack tour tourniquet trac tracker tradition trailer translation trees treestyle view trex trivia trouble truth turtles tv tx2500 tx2617 ugly logos un dinaru underwold unemployment united states updates upgrades uploading urban agriculture usb utopia vampires vanilla ice veggie challenge velvet burger version control vi violin vlog voip waf waffles wahoo wanting waste web hosting webcomic webfonts webkit weekend weird werewolves what a wonderful town whic are also lazer powered white spot wifi wii wikisource williams wings wizard wolf wonderland wordplay working writing voice xenophobia xephyr xkcd xmpp yoga youth z-index zoo

Blog Archive

About Me

My Photo
I am aeronautical, vanship-style.  I am olympic and mythical.  I rest on my laurels.