<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6429058563345441134</id><updated>2011-12-23T21:31:33.867-05:00</updated><category term='Toronto'/><category term='BBC'/><category term='GNOME3'/><category term='Olympics'/><category term='Twitter'/><category term='Fedora'/><category term='Linux Mint'/><category term='LibreOffice'/><category term='Microsoft'/><category term='Parted Magic'/><category term='Technology'/><category term='Family'/><category term='Infrastructure'/><category term='Earthquake'/><category term='DIY'/><category term='Bus Pirate'/><category term='Pidgin'/><category term='XMPP'/><category term='OpenOffice'/><category term='SELinux'/><category term='Translation'/><category term='MyPaint'/><category term='Multiboot'/><category term='memtest'/><category term='Open Source'/><category term='Monotone'/><category term='Ads'/><category term='Gentoo'/><category term='CPC'/><category term='Electronics'/><category term='GSoC'/><category term='Scribus'/><category term='GTK+'/><category term='Skule'/><category term='Linux'/><category term='PEY'/><category term='Geophysics'/><category term='Work'/><category term='Ubuntu'/><category term='LiveCD'/><category term='Spam'/><category term='Goa'/><category term='LaTeX'/><category term='Iron Ring'/><category term='Facebook'/><category term='Thesis'/><title type='text'>Quantum Logic</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>67</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-6645693579089069903</id><published>2011-07-09T00:04:00.008-04:00</published><updated>2011-07-09T01:53:25.815-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DIY'/><title type='text'>Fixing the Toaster</title><content type='html'>&lt;p&gt;Sometimes, things just break. Maybe it's planned obsolescence; I don't really know. But I don't want to be wasting things just because they "seem" to not work anymore.&lt;/p&gt; &lt;p&gt;Speaking of things not working, our toaster-oven (a Bravetti) recently stopped turning on. (You didn't see that coming, did you?) Turning on the timer didn't light the lamp, and didn't electrify the elements. A bit of a problem when you want to toast things (pizza in a microwave just isn't the same!)&lt;/p&gt; &lt;h2&gt;Taking Things Apart&lt;/h2&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-JbS1MLR68UA/Tg1Hl3yVteI/AAAAAAAAAJg/2SErvo51704/s1600/IMG_8364.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 240px; height: 320px;" src="http://4.bp.blogspot.com/-JbS1MLR68UA/Tg1Hl3yVteI/AAAAAAAAAJg/2SErvo51704/s320/IMG_8364.JPG" alt="" id="BLOGGER_PHOTO_ID_5624230225611437538" border="0" /&gt;&lt;/a&gt; &lt;p&gt;As it turns out, the same thing has happened before. That made this work pretty easy as I knew exactly where to look for the problem. As a plus, this is an easy fix and if it must fail, I'd pick this over some other problem.&lt;/p&gt; &lt;p&gt;First, you need to take out all the screws around the top cover. On this model, they're on the back and on the bottom along the feet. Remove the cover and you can see all the wiring as in the picture.&lt;/p&gt; &lt;p&gt;The top control is temperature, middle is heating mode, and bottom is the timer. Our trouble arises in the timer control. You need to pull off the front dial. It's got some goop in it to hold it in place, so I wedge it out with a flathead screwdriver. Once it's off, take out the two screws holding the timer control onto the panel. Pull out the electrical contacts, and you're good.&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-lTUpmy5sSHE/Tg1IiUTxfLI/AAAAAAAAAJo/wv6_gKTERAk/s1600/IMG_8365.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/-lTUpmy5sSHE/Tg1IiUTxfLI/AAAAAAAAAJo/wv6_gKTERAk/s320/IMG_8365.JPG" alt="" id="BLOGGER_PHOTO_ID_5624231264060013746" border="0" /&gt;&lt;/a&gt; &lt;p&gt;So now you have the timer control; what to do with it? Open it up, of course! It's locked up using small bent metal tabs. Simply straighten them up with some pliers and you should be able to pull off the top bit. You need to take all of the shell off, as below.&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-CP_LFEehwuo/Tg1IqepuyMI/AAAAAAAAAKI/yA6JBSNcZnQ/s1600/IMG_8371.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/-CP_LFEehwuo/Tg1IqepuyMI/AAAAAAAAAKI/yA6JBSNcZnQ/s320/IMG_8371.JPG" alt="" id="BLOGGER_PHOTO_ID_5624231404275419330" border="0" /&gt;&lt;/a&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-DjuHdg0mTBo/Tg1IjzM0zAI/AAAAAAAAAJw/tRkhHn0pH68/s1600/IMG_8366.JPG"&gt;&lt;img style="float: left; margin: 0 0 10px 10px;cursor:pointer; cursor:hand;width: 160px; height: 120px;" src="http://3.bp.blogspot.com/-DjuHdg0mTBo/Tg1IjzM0zAI/AAAAAAAAAJw/tRkhHn0pH68/s320/IMG_8366.JPG" alt="" id="BLOGGER_PHOTO_ID_5624231289532238850" border="0" /&gt;&lt;/a&gt; &lt;p&gt;In the picture to the left are the separated parts of the timer control. At the left is the outer shell with the bell. Then the timer mechanism, a cover and another mounting cover.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-lpz-O21vK00/Tg12L8jxeJI/AAAAAAAAAKY/zlDc4_kuVYs/s1600/IMG_8367.JPG"&gt;&lt;img style="float:right; margin:0 0 5px 5px;cursor:pointer; cursor:hand;width: 160px; height: 120px;" src="http://4.bp.blogspot.com/-lpz-O21vK00/Tg12L8jxeJI/AAAAAAAAAKY/zlDc4_kuVYs/s320/IMG_8367.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5624281457262426258" /&gt;&lt;/a&gt; &lt;p&gt;In this picture we have the back view of the timer mechanism. Keep in mind the little black arm as that interfaces with the silver arm in the bell.&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Cleaning the Contacts&lt;/h2&gt; &lt;p&gt;That black plastic bit at the top is the site of all the trouble. Take a look at the contact below, which has become black. I don't know whether this is some kind of galvanic corrosion, but it means the switch just doesn't close.&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-xaHACmK2cgA/Tg1IpQtkmTI/AAAAAAAAAJ4/_0m2iswIY7g/s1600/IMG_8369.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/-xaHACmK2cgA/Tg1IpQtkmTI/AAAAAAAAAJ4/_0m2iswIY7g/s320/IMG_8369.JPG" alt="" id="BLOGGER_PHOTO_ID_5624231383353563442" border="0" /&gt;&lt;/a&gt; &lt;p&gt;I can't quite remember what I did the last time, but it may have involved scratching at it with a screwdriver. This time, I used a cone sanding bit on a rotary tool to clean it up entirely. It's a bit difficult to see below, but it's much cleaner now. Note, I didn't clean the mount around the contact, so you can see the difference between before and after there.&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-Bde1-BhF8K4/Tg1Ip3GSxkI/AAAAAAAAAKA/P9O2ugsOP-w/s1600/IMG_8370.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/-Bde1-BhF8K4/Tg1Ip3GSxkI/AAAAAAAAAKA/P9O2ugsOP-w/s320/IMG_8370.JPG" alt="" id="BLOGGER_PHOTO_ID_5624231393657800258" border="0" /&gt;&lt;/a&gt; &lt;h2&gt;Finishing Up&lt;/h2&gt; &lt;p&gt;Now that the contacts are clean, it's just a matter of putting everything back together. It's important to get the post on the timer aligned with the lever in the bell, or it won't ring when finished. Then reattach all the casing, bend the tabs, and screw the rest all together. And the final test, of course, is to turn it on and toast some bread!&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-GuQ6KtQ9Dnw/Tg1JH6Zk1_I/AAAAAAAAAKQ/tUI95T1g5Qs/s1600/IMG_8372.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="http://3.bp.blogspot.com/-GuQ6KtQ9Dnw/Tg1JH6Zk1_I/AAAAAAAAAKQ/tUI95T1g5Qs/s320/IMG_8372.JPG" alt="" id="BLOGGER_PHOTO_ID_5624231909940058098" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-6645693579089069903?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/6645693579089069903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=6645693579089069903' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/6645693579089069903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/6645693579089069903'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2011/07/fixing-toaster.html' title='Fixing the Toaster'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-JbS1MLR68UA/Tg1Hl3yVteI/AAAAAAAAAJg/2SErvo51704/s72-c/IMG_8364.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-44108916328287260</id><published>2011-06-30T16:58:00.000-04:00</published><updated>2011-06-30T23:21:46.144-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Translation'/><category scheme='http://www.blogger.com/atom/ns#' term='MyPaint'/><title type='text'>Translating for Fun and Profit</title><content type='html'>&lt;p&gt;Okay, so maybe I'm not entirely sure about the second one, but it certainly could be fun depending on your interests. Writing translations is probably one of the simplest ways to contribute to an open-source project, especially if you don't know/like coding.&lt;/p&gt; &lt;p&gt;There are a couple of things you'll need to do:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Get the stuff to translate.&lt;/li&gt; &lt;li&gt;Translate the stuff.&lt;/li&gt; &lt;li&gt;Send it back and get it merged.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;You'll also need some software. I leave it up to you to figure out how to install it, if you need it (it's easy in any Linux distro!)&lt;/p&gt; &lt;ol&gt; &lt;li&gt;I'm going to use &lt;a href="http://git-scm.com/"&gt;git&lt;/a&gt;, although it may not be necessary depending on the project.&lt;/li&gt; &lt;li&gt;A translation editor. You can use any plain text editor, but using translation software provides a few conveniences.&lt;/li&gt; &lt;/ol&gt; &lt;h2&gt;Choosing a Project&lt;/h2&gt; &lt;p&gt;No matter your likes, it shouldn't be too difficult to find some open source software that you find interesting. Just take a look on &lt;a href="http://sourceforge.net/"&gt;SourceForge&lt;/a&gt; or in any &lt;a href="https://admin.fedoraproject.org/pkgdb"&gt;Linux&lt;/a&gt; &lt;a href="http://www.debian.org/distrib/packages"&gt;package&lt;/a&gt; &lt;a href="http://packages.ubuntu.com/"&gt;database&lt;/a&gt;. Of course, you'll also need to know another language, especially the technical terms, which may not be so common.&lt;/p&gt; &lt;p&gt;For some reason or other, I recently installed &lt;a href="http://mypaint.intilinux.com/"&gt;MyPaint&lt;/a&gt;. It's pretty fun to draw stuff, though I'm not yet familiar with all the brushes. And it would be easier if I had a tablet instead of a mouse!&lt;/p&gt; &lt;h2&gt;Getting the Text&lt;/h2&gt; &lt;p&gt;Obviously, the first thing you need is the text that needs to be translated. MyPaint, like many other open-source projects, uses &lt;a href="http://www.gnu.org/software/gettext/"&gt;GNU gettext&lt;/a&gt; to translate from one locale to another. A locale defines the language and country. For example, "pt" is Portuguese, while "pt_BR" is Brazilian Portuguese.&lt;/p&gt; &lt;p&gt;MyPaint uses git on &lt;a href="http://www.gitorious.org/"&gt;Gitorious&lt;/a&gt; which makes it pretty easy to get what you need to work on a translation. (Maybe not as easy as translating on &lt;a href="https://translations.launchpad.net/"&gt;LaunchPad&lt;/a&gt; or &lt;a href="http://www.transifex.net/"&gt;Transifex&lt;/a&gt;, but I can't let you go off without learning something).&lt;/p&gt; &lt;p&gt;There are two ways to get the MyPaint source: via git, or via the source package. The MyPaint developers prefer git merge requests, but they'll also accept whole translations directly from the package.&lt;/p&gt; &lt;p&gt;To go the first route, you'll need an account on Gitorious (you can login with OpenID or various other accounts.) Once that's done, you can go to the &lt;a href="https://www.gitorious.org/mypaint/mypaint"&gt;MyPaint git page&lt;/a&gt;. Click the &lt;tt&gt;Clone Repository&lt;/tt&gt; button (see screenshot).&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-GCxwM04YNT4/Tc4e1RWvuRI/AAAAAAAAAI0/fklW3O_gotA/s1600/mypaint-repo.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 100px;" src="http://1.bp.blogspot.com/-GCxwM04YNT4/Tc4e1RWvuRI/AAAAAAAAAI0/fklW3O_gotA/s320/mypaint-repo.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5606452486663551250" /&gt;&lt;/a&gt; &lt;p&gt;You will then have a &lt;span style="font-style:italic;"&gt;personal&lt;/span&gt; copy of the code on Gitorious, where you can save all your changes. Using the personal clone URL, you can get a copy of everything with the following command (use your own URL):&lt;/p&gt; &lt;blockquote class="code"&gt;git clone git://gitorious.org/~qulogic/mypaint/qulogic-mypaint.git&lt;/blockquote&gt; &lt;p&gt;This will give you a &lt;tt&gt;mypaint&lt;/tt&gt; directory with the source of MyPaint.&lt;/p&gt; &lt;h2&gt;Make the Translation&lt;/h2&gt; &lt;p&gt;In MyPaint, the translations are in the &lt;tt&gt;po&lt;/tt&gt; directory, which is the common location for many gettext-based projects. These files (&lt;tt&gt;*.po&lt;/tt&gt;) are pretty simple, with a small header at the top describing the language and then the translations. Each translation is given by a &lt;tt&gt;msgid&lt;/tt&gt; and a &lt;tt&gt;msgstr&lt;/tt&gt; which are the original and translated strings, respectively. MyPaint includes a couple commands to start you off.&lt;/p&gt; &lt;blockquote class="code"&gt;scons translate=pot&lt;br&gt;scons translate=&amp;lt;language code&amp;gt;&lt;/blockquote&gt; &lt;p&gt;You'll have to find the &lt;a href="http://www.gnu.org/software/gettext/manual/gettext.html#Language-Codes"&gt;correct code for your language&lt;/a&gt; from gettext. Once you run the above commands, you will get a &lt;tt&gt;&amp;lt;language code&amp;gt;.po&lt;/tt&gt; file into which the translations will go. First, fill out the translation information at the top of the file for the new language. Then just write out the translations of the &lt;tt&gt;msgid&lt;/tt&gt; in the &lt;tt&gt;msgstr&lt;/tt&gt; sections. Of course, if you have a translation editor, then it'll indicate what you've translated so far, etc., and generally make things easier.&lt;/p&gt; &lt;h2&gt;Merging the Translation&lt;/h2&gt; &lt;p&gt;Once you've finished writing the translation, there are a couple more steps to getting it merged into the project. Now, assuming you're using git like I started above, you'll need to do the following:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Commit the translations to your repository.&lt;/li&gt; &lt;li&gt;Push the changes to gitorious.&lt;/li&gt; &lt;li&gt;Request a merge from the original project.&lt;/li&gt; &lt;/ol&gt; &lt;h3&gt;Committing translations&lt;/h3&gt; &lt;p&gt;The first thing after writing your translation is to commit the result to your repository. I'm not going to explain all of git for you, but basically, as a distributed version control system, you commit changes to your own copy and can share that with everyone else. To commit your changes, you first 'add' the changed files and then 'commit' them.&lt;/p&gt; &lt;blockquote class="code"&gt;git add &amp;lt;language code&amp;gt;.po&lt;br&gt;git commit&lt;/blockquote&gt; &lt;h3&gt;Push changes&lt;/h3&gt; &lt;p&gt;Now that git has saved your changes as a commit, you need to send those changes to gitorious. This is a simple command to push changes to a remote repository.&lt;/p&gt; &lt;blockquote class="code"&gt;git push&lt;/blockquote&gt; &lt;h3&gt;Request a Merge&lt;/h3&gt; &lt;p&gt;Now that the code is on gitorious, you can request a merge from the upstream project. On gitorious, you just have to click the &lt;tt&gt;Request merge&lt;/tt&gt; button on the right side.&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-m7hu4jpTCP8/TgwRHJN1nAI/AAAAAAAAAJU/nOJesN6JQKQ/s1600/mypaint-merge.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 153px;" src="http://4.bp.blogspot.com/-m7hu4jpTCP8/TgwRHJN1nAI/AAAAAAAAAJU/nOJesN6JQKQ/s320/mypaint-merge.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5623888849109621762" /&gt;&lt;/a&gt; &lt;p&gt;You will get to a page where you can fill in what your changes entail. Just fill in the fields, follow the instructions there, and send off the request.&lt;/p&gt; &lt;p&gt;Now it's just a matter of waiting for &lt;a href="https://www.gitorious.org/mypaint/mypaint/merge_requests/5"&gt;your request&lt;/a&gt; to be merged!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-44108916328287260?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/44108916328287260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=44108916328287260' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/44108916328287260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/44108916328287260'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2011/06/translating-for-fun-and-profit.html' title='Translating for Fun and Profit'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-GCxwM04YNT4/Tc4e1RWvuRI/AAAAAAAAAI0/fklW3O_gotA/s72-c/mypaint-repo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-3949026235233848049</id><published>2011-05-11T16:02:00.005-04:00</published><updated>2011-05-14T01:36:25.037-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GNOME3'/><title type='text'>Adventures in GNOME3 Land</title><content type='html'>&lt;p&gt;Over the past few weekends I've been trying out &lt;a href="http://www.gnome3.org/"&gt;GNOME3&lt;/a&gt; via the &lt;a href="http://fedoraproject.org/"&gt;Fedora 15 Beta&lt;/a&gt;. I've already read many a blog post in opposition to various things, so I was not overly surprised when I tried it out. Fortunately, I have a pretty boring setup because I only tested on my desktop, meaning I didn't have to worry about external monitors or suspending.&lt;/p&gt; &lt;p&gt;In fact, with respect to working with the whole thing, it wasn't a terrible experience. Granted, I made a couple tweaks right off the bat since I knew about them. I still like my menus and buttons with icons, and the default hinting is terrible on an LCD. I didn't really care about the min/max buttons though.&lt;/p&gt; &lt;p&gt;Because I've been using &lt;a href="http://www.compiz.org/"&gt;Compiz&lt;/a&gt; and not &lt;a href="http://blogs.gnome.org/metacity/"&gt;Metacity&lt;/a&gt;, the transition to &lt;a href="http://git.gnome.org/browse/mutter/"&gt;Mutter&lt;/a&gt; and &lt;a href="http://live.gnome.org/GnomeShell"&gt;GNOME Shell&lt;/a&gt; was pretty easy. One thing I miss is the "Put" plugin, which allowed moving a non-maximized window to any of 9 positions on the screen using the keypad. And the window switching is a bit boring now.&lt;/p&gt; &lt;p&gt;I even reported a &lt;a href="https://bugzilla.redhat.com/show_bug.cgi?id=699105"&gt;bug&lt;/a&gt; or &lt;a href="https://bugzilla.redhat.com/show_bug.cgi?id=702772"&gt;two&lt;/a&gt;. These are pretty minor, but everyone's reported the major problems by now, I'm sure. It's the little things that people are going to pick out anyway (like the &lt;a href="http://en.wikipedia.org/wiki/Uncanny_valley"&gt;uncanny valley&lt;/a&gt; in robotics/CGI.) Overall, I found the experience pleasant, except for two somewhat annoying problems.&lt;/p&gt; &lt;p&gt;Firstly, the default theme is, well... I was going to say terrible, but on second look, it's not that bad, but still not to my taste. To be honest, I've never been crazy about dark themes. But this theme is some weird conglomerate of dark and light that doesn't mesh well at all. The icons are either black and white (I'm not colour blind!) or sometimes washed out. Take, for example, gedit in the screenshot below. Odd transition from menubar to toolbar, the disabled icons/text are hard to see... It just doesn't look good to me.&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-1_JqAwhfSQ4/Tc4S-m4iOmI/AAAAAAAAAIs/dlkFrhQymns/s1600/gnome3-gedit.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 244px;" src="http://1.bp.blogspot.com/-1_JqAwhfSQ4/Tc4S-m4iOmI/AAAAAAAAAIs/dlkFrhQymns/s320/gnome3-gedit.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5606439452921707106" /&gt;&lt;/a&gt; &lt;p&gt;Secondly, GNOME3 has koumpounophobia. That's a fear of buttons, for those who don't know (not that I did, and it most likely refers to clothing, really.) I don't live in crazy 1990s Mac land; all my mouse have at least two buttons. My desktop mouse identifies itself as having 12 buttons! (though half are for scrolling, technically) Yet for some unknown reason, right-clicking is totally useless on GNOME Shell. You can't right-click any of the applets on the top panel. It's more likely people will right-click it than hold down Alt as a guess, but that "Shut Down" item is hidden behind the "Suspend" item with an Alt-key. A little lower in the stack, GTK+3 decided to drop scroll-on-notebook-changes-tabs. What's even more annoying is if you have a GTK+2 app, it will scroll nicely, but the "new" apps don't. Unless you try in gnome-terminal, where they implemented it themselves. Inconsistency is never good.&lt;/p&gt; &lt;p&gt;So this Fedora 15 Beta is on a separate external drive. I'm not sure if I'll be upgrading straight away once F15 goes gold. I certainly need to find a real theme first, and I suspect when it's released, there'll be a lot more people with criticism that may nudge things along (as opposed to some knee-jerk reactions by a few early-adopters).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-3949026235233848049?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/3949026235233848049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=3949026235233848049' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/3949026235233848049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/3949026235233848049'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2011/05/adventures-in-gnome3-land.html' title='Adventures in GNOME3 Land'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-1_JqAwhfSQ4/Tc4S-m4iOmI/AAAAAAAAAIs/dlkFrhQymns/s72-c/gnome3-gedit.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-4446468536636698870</id><published>2011-03-22T22:59:00.011-04:00</published><updated>2011-03-23T10:39:23.344-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Skule'/><title type='text'>Skule Nite 1T1</title><content type='html'>&lt;p&gt;Last weekend was &lt;a href="http://skulenite.skule.ca/"&gt;Skule Nite&lt;/a&gt;, a "musical sketch comedy revue". Quite hilarious, of course. Just for your listening fun, here are most of the songs on which the parts were based. You're going to just have to imagine the words are funnier, though.&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Let's Bring it Back - OK, so I've been listening to the rest of the songs so much, I don't remember how this one sounds...&lt;/li&gt; &lt;li&gt;I Don't C.A. Problem (CA meaning Captain America, of course) - &lt;a href="http://www.youtube.com/watch?v=otCpCn0l4Wo"&gt;U Can't Touch This (MC Hammer)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Fuji Boys - This is obviously &lt;a href="http://en.wikipedia.org/wiki/Jersey_Boys"&gt;Jersey Boys&lt;/a&gt; (based on the music of &lt;a href="http://en.wikipedia.org/wiki/Frankie_Valli"&gt;Frankie Valli&lt;/a&gt; and the &lt;a href="http://en.wikipedia.org/wiki/The_Four_Seasons_%28group%29"&gt;Four Seasons&lt;/a&gt;) &lt;ul&gt; &lt;li&gt;Sushi - &lt;a href="http://www.youtube.com/watch?v=AapxXRlsdwA"&gt;Sherry&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Not fries - &lt;a href="http://www.youtube.com/watch?v=YVBvy2cc0Io"&gt;Big Girls Don't Cry&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Food from Japan - &lt;a href="http://www.youtube.com/watch?v=BMYZBVbifh8"&gt;Walk Like a Man&lt;/a&gt;&lt;/li&gt; &lt;li&gt;I don't remember what the song was in the show, but - &lt;a href="http://www.youtube.com/watch?v=nDxhugRKZ8g"&gt;December, 1963&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;/li&gt; &lt;li&gt;Defying Tragedy - clearly this one's &lt;a href="http://www.youtube.com/watch?v=irp8CNj9qBI"&gt;Bohemian Rhapsody (Queen)&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;div style="font-style:italic;"&gt;Intermission&lt;/div&gt;&lt;br /&gt;&lt;li&gt;Petition - &lt;a href="http://www.youtube.com/watch?v=DelH07vg1Ic"&gt;Tradition&lt;/a&gt; (from Fiddler on the Roof)&lt;/li&gt; &lt;li&gt;A Thoroughly Modern Skule Nite - &lt;a href="http://www.youtube.com/watch?v=KVNcLUE87HQ"&gt;Thoroughly Modern Millie&lt;/a&gt; (OK, I didn't recognize that one at the show and totally had to Google it, but it seems right.)&lt;/li&gt; &lt;li&gt;The Perfect Man - &lt;a href="http://www.youtube.com/watch?v=hGLZqDXau98"&gt;It's Raining Men (The Weather Girls)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Finale - OK, I totally forgot this one. Was is December, 1963 from above (which has the line "Oh, what a night")? I keep remembering the finale based on "Tonight" from a couple years ago.&lt;/li&gt; &lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-4446468536636698870?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/4446468536636698870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=4446468536636698870' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/4446468536636698870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/4446468536636698870'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2011/03/skule-nite-1t1.html' title='Skule Nite 1T1'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-6259375244557469009</id><published>2011-02-22T22:59:00.002-05:00</published><updated>2011-03-23T00:51:07.953-04:00</updated><title type='text'>I ain't dead yet!</title><content type='html'>&lt;p&gt;Or something to that effect.&lt;/p&gt; &lt;p&gt;Just been really busy with schoolwork, vacation to India, sleeping...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-6259375244557469009?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/6259375244557469009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=6259375244557469009' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/6259375244557469009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/6259375244557469009'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2011/02/i-aint-dead-yet.html' title='I ain&apos;t dead yet!'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-7939460394288226199</id><published>2010-11-09T21:42:00.003-05:00</published><updated>2010-11-10T00:17:27.552-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenOffice'/><category scheme='http://www.blogger.com/atom/ns#' term='LibreOffice'/><title type='text'>Trying out the LibreOffice build</title><content type='html'>&lt;p&gt;In case you haven't heard, there was a &lt;a href="http://www.documentfoundation.org/"&gt;little fork&lt;/a&gt; of the OpenOffice project not too long ago. They can explain the reasons for it a whole lot better than I can, so I'm not going to. Normally, I never built OpenOffice on Gentoo because I knew it would take a darn long time, and the pre-built 32-bit binaries worked well enough. With the fork, I decided to try it out anyway.&lt;/p&gt; &lt;p&gt;It's somewhat easier to do with the instructions for LibreOffice. Download a bootstrapping tarball, and run a few commands. It's not as easy as the usual &lt;tt&gt;./configure; make; make install&lt;/tt&gt;, but pretty close.&lt;/p&gt; &lt;p&gt;First step is to configure and download all the dependencies. I tried to make it use as many system libraries as I could so as to limit the build size/time. The largest one left was Firefox/xulrunner which seemingly isn't built with the correct flags on Fedora. So that all took up about 2-3GB. Then a "quick" &lt;tt&gt;make&lt;/tt&gt; later, and voila:&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_DsqLGRlfkTU/TNoKg4fCrnI/AAAAAAAAAIc/yTSekhXiFSo/s1600/Screenshot-1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 106px;" src="http://2.bp.blogspot.com/_DsqLGRlfkTU/TNoKg4fCrnI/AAAAAAAAAIc/yTSekhXiFSo/s400/Screenshot-1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5537750251840122482" /&gt;&lt;/a&gt; &lt;p&gt;It only 4 hours 20 minutes to build. After building, it all took up a &lt;span style="font-style:italic;"&gt;mere&lt;/span&gt; 7GB or so. It turns out that the install instructions on the &lt;a href="http://www.documentfoundation.org/develop/"&gt;Get Involved&lt;/a&gt; page are incorrect, but the wiki &lt;a href="http://wiki.documentfoundation.org/Development/How_to_build"&gt;How to Build&lt;/a&gt; page is. So I used &lt;tt&gt;make dev-install&lt;/tt&gt; and everything ends up in &lt;tt&gt;./build/install/&lt;/tt&gt;. Unlike what it says in the wiki, the makefile does not print the location of the final install. Fortunately, it wasn't too hard to find, in &lt;tt&gt;./build/install/program&lt;/tt&gt;. Run &lt;tt&gt;cd ./build/install/program; . ./ooenv; ./soffice.bin -writer&lt;/tt&gt; and there you go:&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_DsqLGRlfkTU/TNeb5vhGzGI/AAAAAAAAAH8/EksJGqaevJk/s1600/Screenshot-2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 244px; height: 320px;" src="http://2.bp.blogspot.com/_DsqLGRlfkTU/TNeb5vhGzGI/AAAAAAAAAH8/EksJGqaevJk/s320/Screenshot-2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5537065683185486946" /&gt;&lt;/a&gt; &lt;p&gt;Now I just have to figure out something to contribute.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-7939460394288226199?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/7939460394288226199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=7939460394288226199' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/7939460394288226199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/7939460394288226199'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/11/trying-out-libreoffice-build.html' title='Trying out the LibreOffice build'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_DsqLGRlfkTU/TNoKg4fCrnI/AAAAAAAAAIc/yTSekhXiFSo/s72-c/Screenshot-1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-1740276374526677059</id><published>2010-11-07T23:32:00.003-05:00</published><updated>2010-11-09T00:27:36.470-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CPC'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Another College Puzzle Challenge!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_DsqLGRlfkTU/TNjbLuy595I/AAAAAAAAAIU/UwHacy6iebU/s1600/IMG_4021_modified.JPG"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 184px; padding: 4px;" src="http://2.bp.blogspot.com/_DsqLGRlfkTU/TNjbLuy595I/AAAAAAAAAIU/UwHacy6iebU/s200/IMG_4021_modified.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5537416736438613906" /&gt;&lt;/a&gt; &lt;p&gt;So this weekend was another &lt;a href="http://www.collegepuzzlechallenge.com/"&gt;College Puzzle Challenge&lt;/a&gt;. Just as fun as &lt;a href="http://qulogic.blogspot.com/2008/11/college-puzzle-challenge.html"&gt;last year&lt;/a&gt;, but slightly different.&lt;/p&gt; &lt;p&gt;There were no waves, so we got all the puzzles at the beginning. I guess that has its advantages and its disadvantages. It's somewhat daunting to have so many puzzles to decipher. On the other hand, you're almost never at a loss for something to do. The biggest problem is that it lets some teams finish in three hours!&lt;/p&gt; &lt;p&gt;One upside from last year was that even though the requirements stated Silverlight 3, we didn't really need it. License issues aside, the Moonlight 3 preview is just too crashy to be useful as far as I can tell. For some reason, they got rid of the date&amp;amp;time of last submission, which I found nice before. They &lt;span style="font-style: italic;"&gt;did&lt;/span&gt; manage to reduce the website issues, even while adding auto-refresh to many pages. It wasn't perfect, but definitely better than last year (though it could be because they actually gave us multiple copies of each puzzle again).&lt;/p&gt; &lt;p&gt;But the best part this year is that we actually solved the metapuzzle. Nowhere near first, but maybe about two hours before the end. Then we even finished all the rest, too! It's too bad they don't show the time, because we really did solve the last one at exactly 11PM, the absolute end of the challenge.&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_DsqLGRlfkTU/TNjXdiNCQjI/AAAAAAAAAIE/swXgs8fLpes/s1600/Screenshot-4.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 225px;" src="http://3.bp.blogspot.com/_DsqLGRlfkTU/TNjXdiNCQjI/AAAAAAAAAIE/swXgs8fLpes/s320/Screenshot-4.png" alt="" id="BLOGGER_PHOTO_ID_5537412644249682482" border="0" /&gt;&lt;/a&gt; &lt;p&gt;I don't know if this was different from last year, but once you solved the metapuzzle, any further solves didn't seem to count for anything. Since the metapuzzle is the "clincher", I guess that makes sense. So there we are, eighth at UT, and 96&lt;sup&gt;th&lt;/sup&gt; overall. Moving up from last year!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-1740276374526677059?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/1740276374526677059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=1740276374526677059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/1740276374526677059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/1740276374526677059'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/11/another-college-puzzle-challenge.html' title='Another College Puzzle Challenge!'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_DsqLGRlfkTU/TNjbLuy595I/AAAAAAAAAIU/UwHacy6iebU/s72-c/IMG_4021_modified.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-7332844483367983552</id><published>2010-11-06T02:11:00.006-04:00</published><updated>2010-11-07T23:09:18.925-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><title type='text'>Jumping on the Fedora 14 bandwagon</title><content type='html'>&lt;p&gt;Fedora 14 was released just a day or two ago. I figured I'd be cutting-edge and upgrade on pretty much the day it came out.&lt;/p&gt; &lt;p&gt;Of course, as with &lt;a href="http://qulogic.blogspot.com/2010/05/upgrading-to-fedora-13.html"&gt;last time&lt;/a&gt;, I'm trying to do so on a laptop with little room for any more stuff. This time though, I tried as hard as I could to get &lt;a href="http://fedoraproject.org/wiki/PreUpgrade"&gt;preupgrade&lt;/a&gt; to work instead of doing a new install.&lt;/p&gt; &lt;h2&gt;The Free Space Issue&lt;/h2&gt; &lt;h3&gt;/boot&lt;/h3&gt; &lt;p&gt;The first issue was, of course, the lack of free space, on both &lt;tt&gt;/boot&lt;/tt&gt; and &lt;tt&gt;/&lt;/tt&gt;. &lt;tt&gt;/boot&lt;/tt&gt; is slightly less than 100MB, meaning I wouldn't be able to fit the install image on it. Fortunately this time, it correctly realized I didn't have room, and set up anaconda to download it after booting.&lt;/p&gt; &lt;h3&gt;/var/cache/yum&lt;/h3&gt; &lt;p&gt;The RPMs get downloaded to &lt;tt&gt;/var/cache/yum&lt;/tt&gt; before being installed, but I didn't really have enough room for that. What I did have was a 4GB USB key. So I edited &lt;tt&gt;/etc/fstab&lt;/tt&gt; to overlay the key there. I was a bit concerned that anaconda wouldn't mount it when I rebooted, but it did so correctly, so I didn't run into any trouble there.&lt;/p&gt; &lt;p&gt;Now, preupgrade seems to download a separate directory for each repository, then link the files into one large thing. Since the USB key was FAT32, it couldn't really do that linking. Since preupgrade is written in Python, it was easy for me to hack it to copy instead of linking. That was a bit slower and naturally took up double the space, but there was enough on the key for it.&lt;/p&gt; &lt;h3&gt;/usr&lt;/h3&gt; &lt;p&gt;But then there's the more pressing issue of the space on &lt;tt&gt;/usr&lt;/tt&gt;.&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_DsqLGRlfkTU/TNdXNVsAcMI/AAAAAAAAAHk/CPjzhPxHR6w/s1600/Screenshot.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_DsqLGRlfkTU/TNdXNVsAcMI/AAAAAAAAAHk/CPjzhPxHR6w/s320/Screenshot.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5536990153546952898" /&gt;&lt;/a&gt; &lt;p&gt;Clearly I'm really pushing it on the free space front here. With the help of &lt;a href="http://library.gnome.org/users/baobab/stable/index-info.html.en"&gt;Baobab&lt;/a&gt;, it was pretty clear where I could find the most "dead" space. These locale files are huge, and a pretty small portion is actually in my usual locale, en_CA. So of course, that was the first thing I axed.&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DsqLGRlfkTU/TNdYHJTzM4I/AAAAAAAAAHs/IaJJdM2oZfw/s1600/Screenshot-1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 274px;" src="http://1.bp.blogspot.com/_DsqLGRlfkTU/TNdYHJTzM4I/AAAAAAAAAHs/IaJJdM2oZfw/s320/Screenshot-1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5536991146656609154" /&gt;&lt;/a&gt; &lt;p&gt;Everything seemed peachy, but it turns out that &lt;a href="https://bugzilla.redhat.com/show_bug.cgi?id=629814"&gt;preupgrade sucks at estimating required disk space&lt;/a&gt;. I then removed OpenOffice and kdelibs, and anaconda stopped complaining. However, it &lt;span style="font-style:italic;"&gt;still&lt;/span&gt; ran out of space, though I managed to clean up some stuff and restart it.&lt;/p&gt; &lt;h2&gt;The Download Issue&lt;/h2&gt; &lt;p&gt;Preupgrade indicates that it will resume from where it was if you cancel it. While this may be true of the RPMs, it's not of the metadata, kernel image, or installer image. I don't really know why it needs to update the metadata all the time, and I don't really know what it is. But I do know it shouldn't have to download the image every time. The &lt;a href="https://bugzilla.redhat.com/show_bug.cgi?id=626767"&gt;problem&lt;/a&gt; is that it wants to check the file size, and then downloads the whole file just to do so. This is to ensure that you have enough space to hold the images on &lt;tt&gt;/boot&lt;/tt&gt;. So if there's enough room, it downloads the file again to place it on the drive!&lt;/p&gt; &lt;p&gt;Since I didn't have enough room on &lt;tt&gt;/boot&lt;/tt&gt;, it had to download the installer image whenever I started upgrade process. Obviously, I didn't want to do that too many times after it failed the first time. So I downloaded the image and placed it on the USB key. Then it was a simple matter of modifying the kickstart file in &lt;tt&gt;/boot&lt;/tt&gt; just before rebooting so that it would specify the right location. The anaconda installer took care of the rest.&lt;/p&gt; &lt;h2&gt;The Cleanup&lt;/h2&gt; &lt;p&gt;After rebooting, yum thought I had several fc13 packages still installed. I tried rebuilding the database but that really didn't help. I tried writing a small script to pick out the extras and remove them, but then I realized that &lt;tt&gt;package-cleanup&lt;/tt&gt; would do that and do it better. A run with &lt;tt&gt;--cleandupes&lt;/tt&gt; took care of the problem. It also took care of some phantom missing storage space.&lt;/p&gt; &lt;h2&gt;Why bother?&lt;/h2&gt; &lt;p&gt;So I'm sure you're all wondering why I even bothered, instead of just installing fresh. I'll admit that would have been easier, as with last time. Mostly, I just wanted to see if I could. But arguably more importantly, I was able to see whether I could do the upgrade via a USB key.&lt;/p&gt; &lt;p&gt;In other words, one could get preupgrade to download everything to the USB key and install from there. It wouldn't be too difficult, probably just requiring an option to tell anaconda where the package cache was. It may already exist in the kickstart configuration, but I haven't looked into it. You can already place the installer image on a USB key, as I did above.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-7332844483367983552?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/7332844483367983552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=7332844483367983552' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/7332844483367983552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/7332844483367983552'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/11/jumping-on-fedora-14-bandwagon.html' title='Jumping on the Fedora 14 bandwagon'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_DsqLGRlfkTU/TNdXNVsAcMI/AAAAAAAAAHk/CPjzhPxHR6w/s72-c/Screenshot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-6504032041403119397</id><published>2010-10-27T22:34:00.000-04:00</published><updated>2010-11-06T02:21:48.519-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pidgin'/><category scheme='http://www.blogger.com/atom/ns#' term='GSoC'/><title type='text'>Fun at the GSoC Mentors Summit</title><content type='html'>&lt;p&gt;Last weekend was the &lt;a href="http://gsoc-wiki.osuosl.org/index.php/2010"&gt;GSoC Mentors Summit&lt;/a&gt;. As a &lt;a href="http://qulogic.blogspot.com/2010/05/mentoring-student-for-gsoc.html"&gt;mentor&lt;/a&gt; for the Pidgin, Finch and libpurple project, I attended for the first time this year.&lt;/p&gt; &lt;p&gt; It was pretty interesting and a lot of fun, but I have to say I didn't really feel like much of a geek there! Everyone's either got an iPhone or a Droid, and they've all done awesome stuff. Can you say you've worked on &lt;a href="http://wordpress.org/"&gt;WordPress&lt;/a&gt;, used by millions of websites, or &lt;a href="http://www.apache.org/"&gt;Apache&lt;/a&gt;, serving even more websites, or &lt;a href="http://www.rtems.com/"&gt;RTEMS&lt;/a&gt;, running several space exploration instruments and other consumer products, or who knows what else?&lt;/p&gt; &lt;p&gt;Nevertheless, it wasn't like I was totally unknown. There were quite a few people who use Pidgin, even one or two using Finch. Oh, and some Mac users using Adium (using libpurple), too.&lt;/p&gt; &lt;p&gt;The flight was fine, but the weather was a bit disappointed. It would have been nicer to explore a bit more, but at least I got to eat a ton of chocolate. I'll try and write a longer re-cap later.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-6504032041403119397?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/6504032041403119397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=6504032041403119397' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/6504032041403119397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/6504032041403119397'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/10/fun-at-gsoc-mentors-summit.html' title='Fun at the GSoC Mentors Summit'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-8852924362556605224</id><published>2010-10-04T22:28:00.003-04:00</published><updated>2010-10-20T01:23:30.606-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Toronto'/><title type='text'>Nuit Blanche</title><content type='html'>&lt;p&gt;I probably should have gotten around to finishing this post a while ago, but anyway...&lt;/p&gt; &lt;p&gt;So &lt;a href="http://scotiabanknuitblanche.ca/"&gt;Nuit Blanche&lt;/a&gt; was this weekend. I don't think it was as fun this year as the last time. Of course, the cold was not much fun, but the other time was a bit chilly, too.&lt;/p&gt; &lt;p&gt;I think the main problem was that we didn't plan a route and basically went to whatever seemed close to us. Which turned out to be the more "popular" ones, i.e., those in the downtown core. And it turns out those are not necessarily the best.&lt;/p&gt; &lt;p&gt;Take for example, the synchronizing bug light thing. Strings of lights that supposedly sync up and can be perturbed by the audience. Except it didn't seem to do much, and I've seen it &lt;a href="http://tinkerlog.com/2008/07/27/synchronizing-fireflies-ng/"&gt;done better&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;I think the biggest problem in such crowded areas is the high chance of running into smokers. Obviously, since I don't smoke, I'm not really a fan of second-hand smoke either. And there was way too much of it. That and smoke from stuff that's not a cigarette, if you know what I mean. ;)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-8852924362556605224?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/8852924362556605224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=8852924362556605224' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/8852924362556605224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/8852924362556605224'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/10/nuit-blanche.html' title='Nuit Blanche'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-8130200716060525614</id><published>2010-09-03T00:37:00.005-04:00</published><updated>2010-09-03T01:10:40.777-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ads'/><title type='text'>The Old Spice Guy</title><content type='html'>&lt;p&gt;is in ur house, makin' y0u7ub3 commentz...&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_DsqLGRlfkTU/TICDBb1MB0I/AAAAAAAAAHc/j9HF-F8Tges/s1600/Screenshot.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 480px; height: 170px;" src="http://4.bp.blogspot.com/_DsqLGRlfkTU/TICDBb1MB0I/AAAAAAAAAHc/j9HF-F8Tges/s1600/Screenshot.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5512550004575438658" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-8130200716060525614?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/8130200716060525614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=8130200716060525614' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/8130200716060525614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/8130200716060525614'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/09/old-spice-guy.html' title='The Old Spice Guy'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_DsqLGRlfkTU/TICDBb1MB0I/AAAAAAAAAHc/j9HF-F8Tges/s72-c/Screenshot.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-1182111770505321639</id><published>2010-08-27T23:29:00.001-04:00</published><updated>2010-09-03T01:08:30.800-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Work'/><title type='text'>I lost my badge!</title><content type='html'>&lt;p&gt;And by that, I mean I gave it back to my manager. Of course, what I really mean there is that work is over!&lt;/p&gt; &lt;p&gt;I'd say it was an interesting experience. So writing documentation is probably not what I'd want to do for a living, but it was OK for a summer job to pass the time.&lt;/p&gt; &lt;p&gt;It's really a Windows shop there, which wasn't great. On the other hand, I don't have a problem with Office. It's really quite nice, especially if you're trying to script it. Don't even ask how to do any scripting in OpenOffice. Conversely, the ribbon was not amazing. It requires too many clicks to do anything and its layout changing is annoying.&lt;/p&gt; &lt;p&gt;So I didn't really say much. I'm just happy to be done work!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-1182111770505321639?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/1182111770505321639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=1182111770505321639' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/1182111770505321639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/1182111770505321639'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/08/i-lost-my-badge.html' title='I lost my badge!'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-1303522499367338853</id><published>2010-08-15T00:26:00.003-04:00</published><updated>2010-08-19T22:10:28.828-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='Bus Pirate'/><title type='text'>Got a Bus Pirate!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_DsqLGRlfkTU/TGdQNIlx1SI/AAAAAAAAAHE/9gkkE3cZQMw/s1600/IMG_3162a.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://3.bp.blogspot.com/_DsqLGRlfkTU/TGdQNIlx1SI/AAAAAAAAAHE/9gkkE3cZQMw/s320/IMG_3162a.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5505457256058180898" /&gt;&lt;/a&gt; &lt;p&gt;&lt;span style="font-weight:bold;"&gt;Update:&lt;/span&gt; The ModemManager rule should really only apply to the USB device, not the TTY. I updated the rule below to be a bit more specific.&lt;/p&gt; &lt;p&gt;Around the end of July, I ordered a &lt;a href="http://code.google.com/p/the-bus-pirate/"&gt;Bus Pirate&lt;/a&gt; from &lt;a href="http://www.seeedstudio.com/"&gt;Seeed Studio&lt;/a&gt;. It took about a week to ship, which is pretty quick, I think. I picked it up from the post office on Tuesday.&lt;/p&gt; &lt;p&gt;After opening the package and plugging it in, I was greeted with nice blinky lights, and my computer &lt;span style="font-style: italic;"&gt;didn't&lt;/span&gt; start smoking, so that was a good sign. However, I seemed to run into a bug, where every few lines or so, the display would be screwed up. I started with &lt;a href="http://alioth.debian.org/projects/minicom/"&gt;minicom&lt;/a&gt;, until I found out that I could talk to the bus using &lt;a href="http://www.gnu.org/software/screen/"&gt;screen&lt;/a&gt; instead. But the output was still not working. Even if I did something simple like press Enter repeatedly, after 5 or so lines, the prompt would show incorrectly. That was kind of disappointing, since Seeed had put a sticker on it for passing QC, so I thought I had a bad cable or set up something wrong.&lt;/p&gt; &lt;p&gt;But today, I finally hit a stroke of luck. One time, upon connecting, I noticed &lt;span style="font-style: italic;"&gt;something&lt;/span&gt; writing to the port. The text started with &lt;tt&gt;AT...&lt;/tt&gt; and I of course recognized those as modem commands. I remembered a bug report or blog post about ModemManager messing with (things that look like) serial ports.&lt;/p&gt; &lt;p&gt;&lt;a href="http://mail.gnome.org/archives/networkmanager-list/2008-August/msg00004.html"&gt;ModemManager&lt;/a&gt; works alongside NetworkManager to provide support for connecting through GSM and CDMA modems. The problem is that a lot of modems suck and ModemManager needs to probe serial ports to see if it's really a modem. Since I'm on a desktop and I probably wouldn't ever use a modem, I could just remove it, but then what would I do on the laptop?&lt;/p&gt; &lt;p&gt;So I set out to find how to blacklist a serial port from ModemManager. I couldn't just get ModemManager to ignore all Bus Pirates, because it identifies itself as a generic FTDI USB-to-serial converter. While I can let &lt;a href="http://dangerousprototypes.com/"&gt;Dangerous Prototypes&lt;/a&gt; go for that since it's a little hacking board, I'm sure there are &lt;span style="font-style: italic;"&gt;actual&lt;/span&gt; companies using an FTDI chip who don't identify their modem devices uniquely. Thus, blacklisting the entire FTDI series was out.&lt;/p&gt; &lt;p&gt;All was not lost however, as ModemManager's blacklist basically works through &lt;a href="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html"&gt;udev&lt;/a&gt;. Because USB device numbers are not static, I was already using a udev rule to give me a static device name for the Bus Pirate (from the &lt;a href="http://wiki.archlinux.org/index.php/Bus_pirate"&gt;Arch Linux wiki&lt;/a&gt;). After a quick look at the ModemManager &lt;a href="http://cgit.freedesktop.org/ModemManager/ModemManager/tree/src/77-mm-usb-device-blacklist.rules"&gt;blacklist rules&lt;/a&gt;, I found that it uses &lt;tt&gt;ENV{ID_MM_DEVICE_IGNORE}="1"&lt;/tt&gt; to signal to ModemManager to ignore a device.&lt;/p&gt; &lt;p&gt;So, to sum it all up, you need to create a udev rule in &lt;tt&gt;/etc/udev/rules.d/98-bus-pirate.rules&lt;/tt&gt;:&lt;/p&gt; &lt;blockquote class="code"&gt;SUBSYSTEM=="tty", ATTRS{idVendor}=="0403",\&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ATTRS{idProduct}=="6001", ATTRS{serial}=="...",\&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GROUP="users", MODE="0660", SYMLINK+="buspirate"&lt;br /&gt;&lt;br /&gt;ACTION=="add|change", SUBSYSTEM=="usb",\&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="0403",\&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ATTRS{idProduct}=="6001", ATTRS{serial}=="...",\&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ENV{ID_MM_DEVICE_IGNORE}="1"&lt;/blockquote&gt; &lt;p&gt;Check the Arch wiki for how to get the proper serial number. The first rule sets up a &lt;tt&gt;/dev/buspirate&lt;/tt&gt; device node link so you have a memorable name to use (instead of &lt;tt&gt;/dev/ttyUSB#&lt;/tt&gt;). It also sets permissions so that it's accessible to the &lt;tt&gt;users&lt;/tt&gt; group. Make sure to add your user to that group and you won't need to be root to use the Bus Pirate. The second rule sets a variable on the USB device so that ModemManager doesn't attempt to probe it.&lt;/p&gt; &lt;p&gt;To connect, just use screen. I set up an alias to run &lt;tt&gt;screen /dev/buspirate 115200 8N1&lt;/tt&gt; and it works great. Now I just need to get something to hack on with it.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-1303522499367338853?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/1303522499367338853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=1303522499367338853' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/1303522499367338853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/1303522499367338853'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/08/got-bus-pirate.html' title='Got a Bus Pirate!'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_DsqLGRlfkTU/TGdQNIlx1SI/AAAAAAAAAHE/9gkkE3cZQMw/s72-c/IMG_3162a.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-2953488188972877903</id><published>2010-08-13T14:18:00.001-04:00</published><updated>2010-08-14T15:22:25.666-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Scribus'/><title type='text'>Writing Invites with Scribus</title><content type='html'>&lt;p&gt;So I recently had to create a whole bunch of invites. Not a huge number like a thousand, but more than enough that I didn't want to make each one individually. Anyway, I decided to make them in &lt;a href="http://www.scribus.net/"&gt;Scribus&lt;/a&gt;. It's semi-professional, and has grade-A output. After the fact, I'd say that it was a pretty good choice, except for a few annoying wrinkles.&lt;/p&gt; &lt;h2&gt;The Good&lt;/h2&gt; &lt;p&gt;On the good side, Scribus is really stringent about printing issues (though that wasn't as much of a concern this time). It's really good at getting you to use proper fonts. And I really love the ability to use math in any entry field. OK, this doesn't seem like a lot, but overall it's pretty good, and I don't want to go listing out everything!&lt;/p&gt; &lt;h2&gt;The Bad&lt;/h2&gt; &lt;p&gt;The reason why I say it's only &lt;span style="font-style:italic;"&gt;semi&lt;/span&gt;-professional is because of these wrinkles. There was one annoying crash, but fortunately, it went away after an upgrade. The real problems are mostly non-intuitiveness, where things don't happen how you'd like. I'm having a hard time remembering them as I think I've grown accustomed to it all. Actually, one thing I remember is that the style editor acts very oddly. If you're editing styles, the style information never stays in sync with the style you have selected. Nine times out of ten (I made that stat up), stuff will be disabled as if you've selected a built-in non-editable style even when you haven't. Oh, and the undo stack is pretty weird. Why does Scribus seem to think I've edited the document when I just saved and Scribus isn't even in focus!&lt;/p&gt; &lt;h2&gt;The Ugly&lt;/h2&gt; &lt;p&gt;However, out of all things, I think the most disappointing was the scripting API. I mean, automating stuff was one of the things I hoped to do. I did eventually get that done, but it was not fun getting there, and took way too long.&lt;/p&gt; &lt;p&gt;Originally, I planned to create a template, and then write a script which created a Scribus file for each invite. This idea didn't work out at all as the importing broke stuff. That's OK, because then I had the better idea of using a Master Page, with each invite as a separate page. Scribus has the ability to export each page separately, so this worked out well. I could put everything on the Master Page except the small bit with the name which would be different for each page.&lt;/p&gt; &lt;p&gt;The problems really arise from the fact that the scripting API is not well thought-out. It may use &lt;a href="http://www.python.org/"&gt;Python&lt;/a&gt;, but it's not at all Pythonic. It's not even self-consistent. When you change an object's properties, you can specify its name, or work with the mysterious "selection". That selection could be a whole object, or it could be some text within the object. Sometimes, after calling a function, the selection is gone! Exporting to a PDF involves a &lt;tt&gt;PDFfile&lt;/tt&gt; object, while nowhere else is a class used.&lt;/p&gt; &lt;p&gt;Scribus files seem to be XML, but the scripting API does not take any advantage of that. All you get is a handful of top-level functions, and stuff to modify that mysterious selection. It's really too bad, because with a proper object model, I'm sure you could do some really cool stuff.&lt;/p&gt; &lt;h2&gt;The End&lt;/h2&gt; &lt;p&gt;In the end, I did end up with a script that worked. It was based of the &lt;a href="http://wiki.scribus.net/index.php/Poor_man%27s_mail_merge"&gt;mail-merge script&lt;/a&gt; on the Scribus wiki. It didn't do what I originally wanted, but it did get the job done. And of course, the invites did turn out awesome.&lt;/p&gt; &lt;p&gt;But after trying that, going back to VBA in MS Office was a bit of a relief.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-2953488188972877903?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/2953488188972877903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=2953488188972877903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/2953488188972877903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/2953488188972877903'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/08/writing-invites-with-scribus.html' title='Writing Invites with Scribus'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-7115603576828162699</id><published>2010-08-08T22:19:00.003-04:00</published><updated>2010-08-08T22:43:27.814-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><title type='text'>Switching from Gentoo to Fedora</title><content type='html'>&lt;p&gt;Round about last week, I switched my desktop from &lt;a href="http://www.gentoo.org/"&gt;Gentoo&lt;/a&gt; to &lt;a href="http://fedoraproject.org/"&gt;Fedora&lt;/a&gt;. It took a few days to get everything the way I wanted. But it only took that long because I had lots of data to backup and (selectively) restore, and I only worked in the evenings. Fortunately, a "re-install" is way less painful than Windows, since all you really need to keep is your home directory. I just don't know how Windows users live through it, especially without all their programs in a convenient package manager. I can happily say I have &lt;span style="font-style:italic;"&gt;never&lt;/span&gt; re-formatted Windows for any reason (and that's not because I don't used it).&lt;/p&gt; &lt;p&gt;I guess there are a few reasons for the switch. I'd say it basically boils down to the following three:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Gentoo wasn't updating fast enough for things I wanted. I can't say whether this is a general trend, but at least for packages I wanted, it was slow, and I could see that Fedora was getting those updates.&lt;/li&gt;&lt;li&gt;My computer is getting older and packages are getting bigger. It's not been too bad (except for god-awful C++ programs that use Boost), but I don't want to work my system so hard as it gets older.&lt;/li&gt;&lt;li&gt;And the &lt;span style="font-weight:bold;"&gt;most&lt;/span&gt; important: I got lazier. Not lazy enough to install &lt;a href="http://www.ubuntu.com/"&gt;Ubuntu&lt;/a&gt; though!&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;I guess I'll see how well Fedora fairs. I've just got an audio bug or two to fix (already reported) and it should be good. Eventually, I should go see if my cx18 works, too.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-7115603576828162699?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/7115603576828162699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=7115603576828162699' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/7115603576828162699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/7115603576828162699'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/08/switching-from-gentoo-to-fedora.html' title='Switching from Gentoo to Fedora'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-7530866910342976062</id><published>2010-07-10T20:13:00.004-04:00</published><updated>2010-07-24T16:17:17.412-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='Spam'/><title type='text'>Deconstructing Facebook spam, Part 2</title><content type='html'>&lt;span style="font-style:italic;"&gt;This is Part 2 of my look into some Facebook spam. First post is &lt;a href="http://qulogic.blogspot.com/2010/07/deconstructing-facebook-spam.html"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;h2&gt;Decyphering the code&lt;/h2&gt;&lt;p&gt;I was bored, so I tried to decipher the code. What is this \x69\x6E\x6E\x65... stuff? Well, that's easy. It's the &lt;a href="http://en.wikipedia.org/wiki/Hexadecimal"&gt;hexadecimal&lt;/a&gt; representation of the &lt;a href="http://en.wikipedia.org/wiki/ASCII"&gt;ASCII code&lt;/a&gt; for some letters/symbols. Decoding that isn't too difficult. Placing the JS function "alert();" around the text will pop up the text as the browser sees it (once it's decoded the hex into the actual letters.) Don't try it if you don't know how to quote it properly, though. We end up with something like this:&lt;/p&gt; &lt;blockquote class="code"&gt;var _0x4168=["innerHTML","app104746576239621_body","getElementById",...];&lt;br /&gt;var variables=[_0x4168[0],_0x4168[1], ...];&lt;br /&gt;void (document[variables[2]](variables[1])[variables[0]]=variables[3]);&lt;br /&gt;...&lt;/blockquote&gt; &lt;p&gt;So there's the variable &lt;tt&gt;_0x4168&lt;/tt&gt; that contains an array of strings. The next variable &lt;tt&gt;variables&lt;/tt&gt; is also an array of strings taken from the first. In fact, it's probably redundant. I guess it's to make it more obfuscated. Then there's some real code that references &lt;tt&gt;variables&lt;/tt&gt;.&lt;/p&gt; &lt;p&gt;So let's replace all those &lt;tt&gt;variables&lt;/tt&gt; references with the actual values, and we get something like this.&lt;/p&gt; &lt;blockquote class="code"&gt;void (document["getElementById"]("app104746576239621_body")["innerHTML"]="&amp;lt;a id=\"suggest\" href=\"#\" ajaxify=\"/ajax/social_graph/invite_dialog.php?class=FanManager&amp;amp;amp;node_id=137354336277359\" class=\" profile_action actionspro_a\" rel=\"dialog-post\"&amp;gt;Suggest to Friends&amp;lt;/a&amp;gt;");&lt;br /&gt;var ss=document["getElementById"]("suggest");&lt;br /&gt;var c=document["createEvent"]("MouseEvents");&lt;br /&gt;...&lt;/blockquote&gt; &lt;p&gt;OK, so one last strange thing. What's with this &lt;tt&gt;["text"]&lt;/tt&gt; stuff? It turns out JS has this funky alternative to accessing class members. You can do it the normal way (&lt;tt&gt;object.member&lt;/tt&gt;) or you can treat the object as a dictionary with the key being a string of the name of the member (&lt;tt&gt;object["member"]&lt;/tt&gt;). So here's how the code finally ends up. I left out some other extras like the voids and provided some indenting.&lt;/p&gt;&lt;blockquote class="code"&gt;document.getElementById("app104746576239621_body").innerHTML=&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"&amp;lt;a id=\"suggest\" href=\"#\"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ajaxify=\"/ajax/social_graph/invite_dialog.php?class=FanManager&amp;amp;amp;node_id=137354336277359\"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;class=\" profile_action actionspro_a\" rel=\"dialog-post\"&amp;gt;Suggest to Friends&amp;lt;/a&amp;gt;";&lt;br /&gt;var ss=document.getElementById("suggest");&lt;br /&gt;var c=document.createEvent("MouseEvents");&lt;br /&gt;c.initEvent("click",true,true);&lt;br /&gt;ss.dispatchEvent(c);&lt;br /&gt;setTimeout(function (){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fs.select_all();&lt;br /&gt;}, 4000);&lt;br /&gt;setTimeout(function (){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SocialGraphManager.submitDialog("sgm_invite_form",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"/ajax/social_graph/invite_dialog.php");&lt;br /&gt;}, 5000);&lt;br /&gt;document.getElementById("app104746576239621_body").innerHTML=&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"&amp;lt;iframe src=\"http://tinyurl.com/253qebf\"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;style=\"width: 800px; height: 600px;\"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;frameborder=0 scrolling=\"no\"&amp;gt;&amp;lt;/iframe&amp;gt;";&lt;/blockquote&gt; &lt;h2&gt;So what does it do?&lt;/h2&gt; &lt;p&gt;We can go through this by each line (or something like a line):&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Look for a certain element on the page, and replace its "inner" HTML with a link called "Suggest to Friends!" with an ID of "suggest".&lt;/li&gt;&lt;li&gt;Get the element with the ID of "suggest".&lt;/li&gt;&lt;li&gt;Create a mouse event object.&lt;/li&gt;&lt;li&gt;Initialize that event object for a click.&lt;/li&gt;&lt;li&gt;Dispatch the event. This simulates a click on the previously created link.&lt;/li&gt;&lt;li&gt;Call an anonymous function after 4 seconds. This function calls &lt;tt&gt;fs.select_all()&lt;/tt&gt;&lt;/li&gt;&lt;li&gt;Call another anonymous function after 5 seconds. This function calls &lt;tt&gt;SocialGraphManager.submitDialog&lt;/tt&gt;.&lt;/li&gt;&lt;li&gt;Look for a specific element on the page, and replace it with an iframe of a tinyurl.&lt;/li&gt;&lt;/ol&gt; &lt;h2&gt;So what does it &lt;span style="font-style:italic;"&gt;really&lt;/span&gt; do?&lt;/h2&gt; &lt;p&gt;It should make some sense now. As expected, it's a  spammer. The first five steps basically load the "Suggest to Friends" page. It's a bit overly complex, but it gets you there (could have just set &lt;tt&gt;document.location&lt;/tt&gt; to the URI). After four seconds, all your friends are selected, and one second later, the page is submitted, sending the suggestion to all your friends. Finally, it loads an iframe to replace the body section. The TinyURL is gone now, but it was a fake picture of Facebook, with a link that was the so-called second step.&lt;/p&gt; &lt;p&gt;In fact, that second link does go to a marginally legitimate page. It's a &lt;a href="http://www.greasespot.net/"&gt;Greasemonkey&lt;/a&gt; script that periodically checks your friends list and tells you when someone disappears. Now, if you think about it, that really doesn't tell you if someone's blocked you. It tells you if someone removed you from their list. It tells you if someone closed their Facebook account. But it &lt;span style="font-weight:bold;"&gt;doesn't&lt;/span&gt; say anything about being blocked.&lt;/p&gt; &lt;p&gt;The interesting thing is how it gets you. You don't click a weird link, or anything. The user actually has to enter the JS themselves. Now sure, they don't &lt;span style="font-style:italic;"&gt;know&lt;/span&gt; that, but it's still all them. That's all the more reason to get people a bit more educated when using computers.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-7530866910342976062?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/7530866910342976062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=7530866910342976062' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/7530866910342976062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/7530866910342976062'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/07/deconstructing-facebook-spam-part-2.html' title='Deconstructing Facebook spam, Part 2'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-943805378301237673</id><published>2010-07-10T00:29:00.005-04:00</published><updated>2010-07-10T02:30:41.519-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='Spam'/><title type='text'>Deconstructing Facebook spam</title><content type='html'>&lt;span style="font-style:italic;"&gt;I split this into a couple posts because it's a bit long.&lt;/span&gt;&lt;h2&gt;The Pitch&lt;/h2&gt; &lt;p&gt;So someone (let's not point any fingers) "suggested" I might like "How to know who blocked me ?", a random Facebook Page. Now, ignoring the bad grammar, I took a look anyway. What we have is this lovely set of instructions:&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_DsqLGRlfkTU/TDf6m6T23YI/AAAAAAAAAG8/on229IbAUt4/s1600/Screenshot.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 264px;" src="http://3.bp.blogspot.com/_DsqLGRlfkTU/TDf6m6T23YI/AAAAAAAAAG8/on229IbAUt4/s320/Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5492133816996126082" border="0" /&gt;&lt;/a&gt; &lt;p&gt;OK, OK, wait... Those are the instructions? Seriously? Let's point out a few reasons why you probably shouldn't follow those instructions:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Haven't you ever received an e-mail with a link (like an e-card, maybe)? It's always "Click link, or try copying this URL into your browser". Why are these instructions "backwards"?&lt;/li&gt;&lt;li&gt;What kind of crazy jibberish link is that? OK, so to a lot of people, &lt;span style="font-style: italic;"&gt;anything&lt;/span&gt; on a computer is jibberish, but this one's a whole different level of jibberish.&lt;/li&gt;&lt;li&gt;It starts with "javascript:"!&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;So you don't know what that last point means? Basically, the part of the URI before the colon defines the protocol the browser uses to communicate with a server (the remote end). "http://" is a regular website, "https://" is a secure website, etc. On the other hand, "javascript:" means "treat the rest of the URI as &lt;a href="http://en.wikipedia.org/wiki/JavaScript"&gt;JavaScript&lt;/a&gt; code". So by entering that code, you're really making the browser do who-knows-what. Granted, the instruction did say that it's code, and the step is to "Invite your friends", but why doesn't it use Facebook's standard invite display?&lt;/p&gt; &lt;p&gt;Many questions and oddities means you probably shouldn't do it. But not everyone notices those sorts of things.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-943805378301237673?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/943805378301237673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=943805378301237673' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/943805378301237673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/943805378301237673'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/07/deconstructing-facebook-spam.html' title='Deconstructing Facebook spam'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_DsqLGRlfkTU/TDf6m6T23YI/AAAAAAAAAG8/on229IbAUt4/s72-c/Screenshot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-8648349949817450447</id><published>2010-07-05T23:48:00.012-04:00</published><updated>2010-07-06T01:54:13.034-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='Toronto'/><category scheme='http://www.blogger.com/atom/ns#' term='Infrastructure'/><title type='text'>About power outages, again</title><content type='html'>&lt;p&gt;So in case you aren't in Toronto, we had a little bit of a &lt;a href="http://www.680news.com/news/local/article/74019--power-restored-to-city-after-major-blackout"&gt;power outage&lt;/a&gt;. Downtown, power went out about quarter to 5, though it didn't affect my work's building. But then when we got back home and I was watching Jeopardy!, the power went out in our area too. And it was out for about 1.75 hours, which I think is the longest (local) blackout I've experienced in Canada (barring the &lt;a href="http://en.wikipedia.org/wiki/Northeast_Blackout_of_2003"&gt;day-long one in 2003&lt;/a&gt;).&lt;/p&gt; &lt;p&gt;Now I'm sure you remember that &lt;a href="http://qulogic.blogspot.com/2009/12/when-power-goes-out.html"&gt;previous post about power outages&lt;/a&gt; I made. The problem, of course, was that the Hydro One site didn't cover Toronto. Well, things have changed. Toronto Hydro now has a &lt;a href="http://www.torontohydro.com/sites/electricsystem/poweroutages/Pages/OutageMap.aspx"&gt;site for power outages&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Of course, there's a different problem now. It's totally broken. Or is it? I could access it with IE7 (which we're stuck with at work), but then it didn't work in Firefox at home. For me, that's basically broken. Had I not tried it at work, I would have dismissed it as useless.&lt;/p&gt; &lt;p&gt;Having peeked at the source of the website, I'm quite unimpressed. "JavaScript" / "javascript"? Capitalized HTML tags? &amp;lt;meta content="MSHTML 6.00.6000.16788" name="GENERATOR" /&amp;gt;? Hello, Toronto Hydro? It's &lt;span style="font-weight:bold;"&gt;2010&lt;/span&gt;. Who writes &lt;span style="font-style: italic;"&gt;real&lt;/span&gt; websites in MS software? I'm surprised they even managed to get Google Maps there, with the junk they have for the rest of the site.&lt;/p&gt; &lt;p&gt;So apparently, they haven't heard of case-sensitivity (a symptom of living on Windows). The link on the main page uses ALLCAPS, which IE7 will ignore and lowercase, but Firefox doesn't. Then for whatever reason, their horrible JavaScript fails to load the Google Maps API. Sometimes it will pop up an error, but usually it just sits there with a big blank space where the map should be. If you lowercase the URI and go to that in Firefox, then it all loads fine (the link above is already corrected.)&lt;/p&gt; &lt;p&gt;And then you go a little further through the source... and what's this? The map data for outages is inlined in the webpage? That explains why it goes and refreshes the &lt;span style="font-style: italic;"&gt;entire&lt;/span&gt; page every once in a while. You wouldn't do that with proper AJAX.&lt;/p&gt; &lt;p&gt;Technical reasons aside, is it any good? Well, after seeing the &lt;a href="http://www.hydroone.com/stormcenter/"&gt;HydroOne site&lt;/a&gt;, I wouldn't say so. It'd be nice to see the border of Toronto Hydro's jurisdiction, but that's kind of minor. Really though, it's just a map with some patterns on it, which tells you whether it's a big or small problem, but not much else. It says the "start of the outage", but not when it was fixed, or even &lt;span style="font-style: italic;"&gt;if&lt;/span&gt; it was fixed. Unlike the HydroOne site, there's no indication whether repair crews have been dispatched, or whether the cause is known. Even better would be an estimate of how long it might be till the problem's fixed, though the HydroOne site doesn't seem to have that either. (I'm a bit jaded from the horrible code.)&lt;/p&gt; &lt;p&gt;Someone needs to go hit them on the head with some real Web 2.0 design, and then maybe think about what someone might want to know when the power goes out.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-8648349949817450447?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/8648349949817450447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=8648349949817450447' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/8648349949817450447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/8648349949817450447'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/07/all-about-power-outages-again.html' title='About power outages, again'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-6841075889195559137</id><published>2010-06-23T14:10:00.002-04:00</published><updated>2010-06-23T14:34:34.634-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='Toronto'/><category scheme='http://www.blogger.com/atom/ns#' term='Earthquake'/><category scheme='http://www.blogger.com/atom/ns#' term='Geophysics'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><title type='text'>Feeling a little unsteady?</title><content type='html'>&lt;p&gt;That is to say, did you notice the &lt;span style="font-style:italic;"&gt;earthquake&lt;/span&gt;?&lt;/p&gt; &lt;p&gt;I almost didn't recognize it. Since I'm working from home due to the G20, I don't have the benefit of a tall building that would react to the movement (if you want to call it that.)&lt;/p&gt; &lt;p&gt;Anyway, thanks to &lt;a href="http://www.hospitalsongs.com/"&gt;Elizabeth&lt;/a&gt;'s favourite Web 2.0 app, &lt;a href="http://www.twitter.com/"&gt;Twitter&lt;/a&gt;, check out this cool USGS site, &lt;a href="http://earthquake.usgs.gov/earthquakes/recenteqsww/Quakes/us2010xwa7.php"&gt;over here&lt;/a&gt;. Realtime data about earthquakes all over the globe. What's really cool is this &lt;a href="http://earthquake.usgs.gov/earthquakes/dyfi/events/us/2010xwa7/us/index.html"&gt;Did You Feel It? map&lt;/a&gt; where people can report what they felt, and it graphs it over the region.&lt;/p&gt; &lt;p&gt;Now if only they could fix the text encoding in their database. The website appears correctly in UTF-8, but some accented characters from some fields are incorrect. Ah, well...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-6841075889195559137?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/6841075889195559137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=6841075889195559137' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/6841075889195559137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/6841075889195559137'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/06/feeling-little-unsteady.html' title='Feeling a little unsteady?'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-4626987826489831103</id><published>2010-06-16T16:32:00.003-04:00</published><updated>2010-06-16T20:20:00.642-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Skule'/><title type='text'>Look! There! A New Graduate!</title><content type='html'>&lt;p&gt;So right about now, I should have just received my diploma. Which means this post is coming to you via a new-fangled technology that creates posts directly from my brain.&lt;/p&gt; &lt;p&gt;Or, well, maybe that's not a reality just yet. It's more of a thing called scheduled posting.&lt;/p&gt; &lt;p&gt;Anyway, back to the real topic. Convocation is today! Four + PEY years of studying and sleeplessness have come to an end. Sure, it was painful at times, but I still think it was a lot of fun. But now, it's time to move onward to bigger and better things, I hope.&lt;/p&gt; &lt;p&gt;We'll just have to see whether that comes true, won't we...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-4626987826489831103?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/4626987826489831103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=4626987826489831103' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/4626987826489831103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/4626987826489831103'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/06/look-there-new-graduate.html' title='Look! There! A New Graduate!'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-6140598506421421655</id><published>2010-06-13T23:27:00.001-04:00</published><updated>2010-06-14T01:12:00.417-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Work'/><title type='text'>Off to work I go...</title><content type='html'>&lt;p&gt;Yep, that's right. Work. In the summer!&lt;/p&gt; &lt;p&gt;Well actually, I started on last Wednesday, though I haven't really done too much yet. They don't have a proper laptop for me yet, so I can't login and don't have email. Which turns out to be pretty limiting, actually. The temporary computer doesn't have access to most of the (internal) network, for stuff like printers and such. Basically, I've just been reading random documents in the meantime.&lt;/p&gt; &lt;p&gt;I'm not doing anything too glamorous, though. Pretty much writing documents. Apparently, they seem to think I was good at that.&lt;/p&gt; &lt;p&gt;Oh yes, I forgot to mention where! At &lt;a href="http://www.ml.com/"&gt;Merrill Lynch&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-6140598506421421655?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/6140598506421421655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=6140598506421421655' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/6140598506421421655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/6140598506421421655'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/06/off-to-work-i-go.html' title='Off to work I go...'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-5189330184936276482</id><published>2010-05-27T22:28:00.007-04:00</published><updated>2010-05-28T04:07:40.435-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><title type='text'>Upgrading to Fedora 13</title><content type='html'>&lt;p&gt;Well, this didn't go as smoothly as the live USB versions, mostly due to &lt;a href="http://fedoraproject.org/wiki/PreUpgrade"&gt;&lt;tt&gt;preupgrade&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;I don't have a "standard" install, you might say. This is on a laptop that's not mine and Fedora is not the primary OS. So it's very space-constrained. I don't even have the recommended 200MB (now the recommendation is a whopping 500MB) space for &lt;tt&gt;/boot&lt;/tt&gt;. Personally, I think that's a ridiculous amount of room to hold a kernel and initrd (even if they are generic), but that's the default install size.&lt;/p&gt; &lt;p&gt;So the  problem is that &lt;tt&gt;preupgrade&lt;/tt&gt; downloads everything to &lt;tt&gt;/boot&lt;/tt&gt;, but I don't have enough room for it. The other problem is that &lt;tt&gt;preupgrade&lt;/tt&gt; didn't bother to tell me either. There are some bug reports for it already, but I'm pretty sure it worked for F11-&amp;gt;F12, so it's an annoying regression.&lt;/p&gt; &lt;p&gt;Fortunately, that &lt;tt&gt;preupgrade&lt;/tt&gt; page has instructions for setting up the correct grub command line.  I had enough room for the kernel and initrd, but not the install image. I'm not sure if it's because the downloader failed to notice it ran out of space, but the installer wouldn't auto-download the install image. I had to set a URL source, find a mirror, and point it to &lt;tt&gt;&amp;lt;mirror&amp;gt;/releases/13/Fedora/i386/os/&lt;/tt&gt;.&lt;/p&gt; &lt;p&gt;So I've got the installer image set up and everything's good to go, right? Well, no. In the end, my space-constrained root didn't have enough room to upgrade. Oh well, might as well see how nice a full install looks. I still remember what I had installed well enough to tweak it after.&lt;/p&gt; &lt;p&gt;How did that go? It was pretty nice and simple, actually. The only problem I ran into was that it didn't figure out my boot loader configuration. I don't know why that is, but replacing it seemed to have worked. The only hiccup was I didn't remember which partition should have been Windows. It would have been nice if it had shown partition labels.&lt;/p&gt; &lt;p&gt;Anyway, after dropping stuff I didn't need (who needs all graphics drivers on a laptop?), and installing all the stuff I could remember (like devel packages), I ended up with 1.2G free. I even have OpenOffice installed this time. I don't know how I managed to go from ~100M to 1.2G, but that's definitely a great improvement.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-5189330184936276482?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/5189330184936276482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=5189330184936276482' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/5189330184936276482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/5189330184936276482'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/05/upgrading-to-fedora-13.html' title='Upgrading to Fedora 13'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-340679784623601053</id><published>2010-05-27T03:00:00.003-04:00</published><updated>2010-05-27T03:10:53.204-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Mint'/><category scheme='http://www.blogger.com/atom/ns#' term='LiveCD'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='Multiboot'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Upgrading Linux images...</title><content type='html'>&lt;p&gt;So there's been quite a few new releases of distributions recently. Last month, there's been &lt;a href="http://www.ubuntu.com/"&gt;Ubuntu 10.04&lt;/a&gt; and &lt;a href="http://www.linuxmint.com/"&gt;Linux Mint 9&lt;/a&gt;. This month it's &lt;a href="http://fedoraproject.org/"&gt;Fedora 13&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Anyway, I just updated my live boot drive with all of those and everything works pretty well.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-340679784623601053?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/340679784623601053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=340679784623601053' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/340679784623601053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/340679784623601053'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/05/upgrading-linux-images.html' title='Upgrading Linux images...'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-7049325267396091746</id><published>2010-05-21T16:55:00.001-04:00</published><updated>2010-05-21T17:43:43.357-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pidgin'/><title type='text'>Coming soon, to a Pidgin near you...</title><content type='html'>&lt;p&gt;Direct connections for MSN! What do I mean? Just take a look at the screenshot below.&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_DsqLGRlfkTU/S_b66qPI-KI/AAAAAAAAAG0/hKF7uKuJKb8/s1600/FileTransfers.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 264px;" src="http://3.bp.blogspot.com/_DsqLGRlfkTU/S_b66qPI-KI/AAAAAAAAAG0/hKF7uKuJKb8/s320/FileTransfers.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5473838282792564898" /&gt;&lt;/a&gt; &lt;p&gt;What's that? You don't see it? Just take a look at how fast it's going. Yes, that's right; it's not a pitiful 10KiB/s, but about an order of magnitude faster.&lt;/p&gt; &lt;p&gt;It all started with &lt;a href="http://developer.pidgin.im/ticket/247"&gt;this little patch&lt;/a&gt; on trac. But it required a lot of work to get it going. I must have made at least 60 commits just fixing things and getting it to cooperate with aMSN and the official client. I &lt;span style="font-style:italic;"&gt;think&lt;/span&gt; it should be good now, but you can always disable it in the Account options. It even makes buddy icon and custom emoticon loading faster.&lt;/p&gt; &lt;p&gt;Anyway, I promised I would say something about 2.7.1, and here you go. Direct connections will be in 2.7.1. In fact, I'm just about to push all the revisions.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-7049325267396091746?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/7049325267396091746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=7049325267396091746' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/7049325267396091746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/7049325267396091746'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/05/coming-soon-to-pidgin-near-you.html' title='Coming soon, to a Pidgin near you...'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_DsqLGRlfkTU/S_b66qPI-KI/AAAAAAAAAG0/hKF7uKuJKb8/s72-c/FileTransfers.png' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-2385064158829620764</id><published>2010-05-17T23:55:00.004-04:00</published><updated>2010-05-21T16:43:23.909-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pidgin'/><category scheme='http://www.blogger.com/atom/ns#' term='Monotone'/><title type='text'>Branchifying Revisions in Monotone</title><content type='html'>&lt;p&gt;Have you ever started committing things in &lt;a href="http://monotone.ca/"&gt;Monotone&lt;/a&gt; and then realized "This should probably go in a separate branch"? It's somewhat difficult to fix that. You can add a new branch cert, but the old one won't go away.&lt;/p&gt; &lt;p&gt;I wrote a little script based on a &lt;a href="http://www.mail-archive.com/monotone-devel@nongnu.org/msg02725.html"&gt;mailing list message&lt;/a&gt; I saw. It removes the old branch cert, and adds the new one, moving forward along revisions. It even changes merges with "the rest" into propagate messages instead. There are limitations, though. It only works with linear history (but if you've been working alone, that shouldn't be a problem) and it requires mtn 0.45 (since it uses the binary cert format.) Of course, it goes without saying that if you've shared any of your changes with someone else, then this is pointless (or you'd have to change everyone's database.)&lt;/p&gt; &lt;p&gt;It's pretty short. Make sure those SQL statements don't break up when you copy it.&lt;/p&gt; &lt;blockquote class="code"&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;set -e&lt;br /&gt;&lt;br /&gt;DB=db.mtn&lt;br /&gt;KEY='someone@domain.com'&lt;br /&gt;START=0123456789abcdef0123456789abcdef01234567&lt;br /&gt;&lt;br /&gt;OLD_BRANCH='com.domain.main'&lt;br /&gt;NEW_BRANCH='com.domain.fancy-stuff'&lt;br /&gt;&lt;br /&gt;prev=&lt;br /&gt;curr=$START&lt;br /&gt;while [ -n "$curr" ]; do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo "Changing revision $curr"&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mtn --db=$DB db execute \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"DELETE FROM revision_certs WHERE hex(revision_id) = upper('$curr') AND name = 'branch';"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mtn --db=$DB -k$KEY cert $curr branch $NEW_BRANCH&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;parents=`mtn --db=$DB automate parents $curr`&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if [ `echo "$parents" | wc -l` -eq 2 ]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;# Fix a merge&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo "Fixing merge for $curr"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mtn --db=$DB db execute \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"DELETE FROM revision_certs WHERE hex(revision_id) = upper('$curr') AND name = 'changelog';"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;other=`echo "$parents" | sed -e "/$prev/d"`&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mtn --db=$DB -k$KEY cert $curr changelog \&lt;br /&gt;"propagate from branch '$OLD_BRANCH' (head $other)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;to branch '$NEW_BRANCH' (head $prev)"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fi&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;prev=$curr&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;curr=`mtn --db=$DB automate children $curr`&lt;br /&gt;done&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-2385064158829620764?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/2385064158829620764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=2385064158829620764' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/2385064158829620764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/2385064158829620764'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/05/branchifying-revisions-in-monotone.html' title='Branchifying Revisions in Monotone'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-2451925180192784146</id><published>2010-05-12T23:14:00.002-04:00</published><updated>2010-05-13T01:36:18.143-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pidgin'/><title type='text'>Pidgin 2.7.0 Released!</title><content type='html'>&lt;p&gt;So it seems like I only post about minor releases (as opposed to micro), but I promise that I'll definitely say something about 2.7.1.&lt;/p&gt; &lt;p&gt;Anyway, &lt;a href="http://pidgin.im/"&gt;Pidgin&lt;/a&gt; 2.7.0 should be released pretty soon now. You may or may not know that the release versions are dictated by API/ABI requirements. A minor release means we've added API. I wouldn't say there are tons of new user-visible features in this release, but definitely some developer-related things.&lt;/p&gt; &lt;p&gt;Most importantly, we dropped support for old GTK+ and GLib, requiring 2.10.0 and 2.12.0 respectively. Visibly, that means we can't support Windows 98 anymore, but I think we can say that's an acceptable loss by now. For development purposes, though, that means a ton of code that can be removed. It means a lot less code that needs to be maintained. We also were able to upgrade some things like from EggTrayIcon to GtkStatusIcon, which is better at integrating into the notification area.&lt;/p&gt; &lt;p&gt;Don't worry; it wasn't all development changes. We've also got integrated Mood setting. This interfaces to ICQ and &lt;a href="http://xmpp.org/extensions/xep-0107.html"&gt;XMPP&lt;/a&gt;, so I don't know too much about it. More in my area, MSN gained support for file transfer previews, which show up in the request window and the conversation.&lt;/p&gt; &lt;p&gt;There are quite a few other changes that I don't really even know about, so you might want to check the &lt;a href="http://developer.pidgin.im/wiki/ChangeLog"&gt;ChangeLog&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-2451925180192784146?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/2451925180192784146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=2451925180192784146' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/2451925180192784146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/2451925180192784146'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/05/pidgin-270-released.html' title='Pidgin 2.7.0 Released!'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-7826901002704891943</id><published>2010-05-03T20:18:00.003-04:00</published><updated>2010-05-06T01:08:46.941-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pidgin'/><category scheme='http://www.blogger.com/atom/ns#' term='GSoC'/><title type='text'>Mentoring a student for GSoC</title><content type='html'>&lt;p&gt;So last week the &lt;a href="http://socghop.appspot.com/gsoc/program/list_projects/google/gsoc2010"&gt;accepted proposals&lt;/a&gt; for &lt;a href="http://code.google.com/soc/"&gt;GSoC&lt;/a&gt; were announced. &lt;a href="http://pidgin.im/"&gt;Pidgin&lt;/a&gt; was given 4 slots.&lt;/p&gt; &lt;p&gt;First up, we have Ivan Komarov working on &lt;a href="http://developer.pidgin.im/wiki/GSoC2010/ImproveICQ"&gt;improving ICQ&lt;/a&gt;. I don't really use ICQ, so I can't say much, but if &lt;span style="font-style:italic;"&gt;you&lt;/span&gt; do, hopefully there'll be a lot of great things coming out of it that will be useful to you. Next up is Adam Fowler working on a &lt;a href="http://developer.pidgin.im/wiki/GSoC2010/BetterChatLogViewer"&gt;better chat log viewer&lt;/a&gt;. People really seem to complain about what we have now and at the very least, it's kind of slow once you have a lot of logs, so there should be room for some good improvements there. And then we have Gilles Bedel working on &lt;a href="http://developer.pidgin.im/wiki/GSoC2010/DetachableLibpurple"&gt;detachable libpurple sessions&lt;/a&gt;. I'm not sure how often I'd use it, but every once in a while, I feel like checking in on Pidgin from the laptop and it's a very painful process through SSH and D-Bus. This project should make that sort of thing much simpler. Finally, we have Jorge Villaseñor Salinas working on &lt;a href="http://developer.pidgin.im/wiki/GSoC2010/MSN_Refactor"&gt;refactoring MSN&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;So that last one is the one I'm mentoring. Personally, I've been wanting to re-write bits and pieces of the MSN prpl for a while now, but I've never had the time to get around to it. Jorge's already done some great work getting custom smiley support working for Pidgin 2.5.0. I'm sure he'll have no problem re-working the MSN prpl. I'm looking forward to getting a more structured and (hopefully) well-designed prpl which should make development a lot easier and quicker.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-7826901002704891943?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/7826901002704891943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=7826901002704891943' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/7826901002704891943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/7826901002704891943'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/05/mentoring-student-for-gsoc.html' title='Mentoring a student for GSoC'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-2820933519911394211</id><published>2010-04-22T20:18:00.005-04:00</published><updated>2010-05-06T01:08:39.083-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Skule'/><title type='text'>Confusing hallways...</title><content type='html'>&lt;p&gt;Have you ever been in a building and just got totally confused? Like where in the world am I going through this hallway?&lt;/p&gt; &lt;p&gt;I don't mean that it's a little weird. Sure, &lt;a href="http://www.greatspaces.utoronto.ca/projects/bahen.htm"&gt;Bahen&lt;/a&gt; is a bit weird, but only because it's basically a building on top of another one. It's not really all that confusing. MedSci's also a bit weird, with that extra lecture hall (that we had ECE253 in) in a separate half for some reason.&lt;/p&gt; &lt;p&gt;No, what I'm talking about is the &lt;a href="http://en.wikipedia.org/wiki/File:Clara_Benson_Building.JPG"&gt;Benson&lt;/a&gt; building. We just had an exam in there a couple days ago. I don't really get that building. If you've ever had an exam there, you'll know what I mean.&lt;/p&gt; &lt;p&gt;There are two sets of doors, but you can only enter (for an exam) through the ones closer to the intersection. When you get in, there are stairs on the left, just in front of you. But if you go forward just a little, there are more stairs to the right in a nearby hallway. Eventually you can get upstairs after going through several floors and half-floors and what not.&lt;/p&gt; &lt;p&gt;Finding a washroom isn't all that easy either. On the third floor, the women's washroom is about halfway down the hall from the gym, but the men's is hidden. You go all the way to the end of the hallway and there's some sort of cafeteria in front of you. Immediately to the left of the hallway are more stairs (that go in the opposite direction). The men's washroom is in the little nook just a bit farther left between the end of the building and the stairs. It's confusing just trying to describe it. Anyway, I missed it once as I thought that was where the elevator would be (but apparently there isn't one). So I went down the stairs instead and all that was there was the second set of doors. And apparently, all you can do is exit!&lt;/p&gt; &lt;p&gt;Yep, I just don't get it.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-2820933519911394211?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/2820933519911394211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=2820933519911394211' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/2820933519911394211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/2820933519911394211'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/04/confusing-hallways.html' title='Confusing hallways...'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-724002739675768570</id><published>2010-04-12T22:14:00.010-04:00</published><updated>2010-04-13T03:45:35.621-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Skule'/><category scheme='http://www.blogger.com/atom/ns#' term='Thesis'/><category scheme='http://www.blogger.com/atom/ns#' term='LaTeX'/><title type='text'>Bye Bye Thesis!</title><content type='html'>&lt;p&gt;Soo, I guess Thesis is finally done!&lt;/p&gt; &lt;p&gt;Last Friday I handed it in to the EngSci Office to get put in the "special" envelope, and today I dropped it off to my professor. Here it is in its wrapped-up glory (which is, in all honesty, not that exciting.)&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_DsqLGRlfkTU/S8QVqbvuUTI/AAAAAAAAAGU/nkZoSRlasmg/s1600/IMG_2618a.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_DsqLGRlfkTU/S8QVqbvuUTI/AAAAAAAAAGU/nkZoSRlasmg/s320/IMG_2618a.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5459512467026497842" /&gt;&lt;/a&gt; &lt;p&gt;Silly me, though, I didn't take a picture of the final blue-cover version. It must have been the relief of getting it printed and bound with 5 minutes to go. Maybe I can get some 1T1 to borrow it from the library some time.&lt;/p&gt; &lt;p&gt;Now, I guess I'd have to say, in all honesty, it probably doesn't say much, really. Sure, I managed some results, but they &lt;span style="font-style: italic;"&gt;definitely&lt;/span&gt; could have been better. &lt;span style="font-style: italic;"&gt;However&lt;/span&gt;, one thing that I do know, is that it &lt;span style="font-style: italic;"&gt;looks&lt;/span&gt; awesome thanks to &lt;a href="http://www.latex-project.org/"&gt;LaTeX&lt;/a&gt;. Just check out this lovely (inside) title page and first chapter (fonts are slightly off since I used &lt;a href="http://www.imagemagick.org/www/convert.html"&gt;convert&lt;/a&gt; to make these PNGs):&lt;/p&gt; &lt;span style="text-align:center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DsqLGRlfkTU/S8QcpavRZ0I/AAAAAAAAAGc/w7WcnekrBs0/s1600/thesis1-1.png"&gt;&lt;img style="margin:0 auto 10px; display:inline; cursor:pointer; cursor:hand;width: 247px; height: 320px;" src="http://1.bp.blogspot.com/_DsqLGRlfkTU/S8QcpavRZ0I/AAAAAAAAAGc/w7WcnekrBs0/s320/thesis1-1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5459520146157692738" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_DsqLGRlfkTU/S8Qcp1OgHEI/AAAAAAAAAGk/qgFN9BYxhy8/s1600/thesis1-8.png"&gt;&lt;img style="margin:0 auto 10px; display:inline; cursor:pointer; cursor:hand;width: 247px; height: 320px;" src="http://2.bp.blogspot.com/_DsqLGRlfkTU/S8Qcp1OgHEI/AAAAAAAAAGk/qgFN9BYxhy8/s320/thesis1-8.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5459520153268001858" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-724002739675768570?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/724002739675768570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=724002739675768570' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/724002739675768570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/724002739675768570'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/04/bye-bye-thesis.html' title='Bye Bye Thesis!'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_DsqLGRlfkTU/S8QVqbvuUTI/AAAAAAAAAGU/nkZoSRlasmg/s72-c/IMG_2618a.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-405710919701966347</id><published>2010-03-05T01:02:00.004-05:00</published><updated>2010-03-05T01:11:40.503-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Iron Ring'/><category scheme='http://www.blogger.com/atom/ns#' term='Skule'/><title type='text'>Iron Ring!</title><content type='html'>&lt;p&gt;Just got it yesterday!&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_DsqLGRlfkTU/S5CgMVmoF6I/AAAAAAAAAGM/S1fqChr89UY/s1600-h/IMG_2588a.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://4.bp.blogspot.com/_DsqLGRlfkTU/S5CgMVmoF6I/AAAAAAAAAGM/S1fqChr89UY/s400/IMG_2588a.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5445028083308959650" /&gt;&lt;/a&gt; &lt;p&gt;Just a few more months until graduation; isn't that amazing...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-405710919701966347?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/405710919701966347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=405710919701966347' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/405710919701966347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/405710919701966347'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/03/iron-ring.html' title='Iron Ring!'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_DsqLGRlfkTU/S5CgMVmoF6I/AAAAAAAAAGM/S1fqChr89UY/s72-c/IMG_2588a.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-707834773806672297</id><published>2010-02-28T17:55:00.000-05:00</published><updated>2010-02-28T17:55:41.749-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Olympics'/><title type='text'>Canada for the Gold!!</title><content type='html'>&lt;p&gt;So, I guess Shaun Majumder was right...&lt;/p&gt; &lt;object width="550" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/FWk93kZpOfE&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/FWk93kZpOfE&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="550" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-707834773806672297?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/707834773806672297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=707834773806672297' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/707834773806672297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/707834773806672297'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/02/canada-for-gold.html' title='Canada for the Gold!!'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-8555924894605179031</id><published>2010-02-22T21:11:00.006-05:00</published><updated>2010-02-28T01:20:47.674-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LiveCD'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='Multiboot'/><title type='text'>Booting multiple Fedora images from USB</title><content type='html'>&lt;p&gt;Well, I've been trying to &lt;a href="http://qulogic.blogspot.com/2010/01/booting-fedora-from-iso.html"&gt;boot Fedora from ISO&lt;/a&gt;, but haven't exactly been successful. On &lt;a href="https://bugzilla.redhat.com/show_bug.cgi?id=557426"&gt;the bug&lt;/a&gt;, you can see a possible fix, but it's a bit complicated and requires messing with the image from an existing install.&lt;/p&gt; &lt;p&gt;Instead, I figured out a way to do it that uses the extracted files. It's pretty simple. First, mount the ISO and extract three files:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;the LiveOS image: &lt;tt&gt;squashfs.img&lt;/tt&gt; and possibly &lt;tt&gt;osmin.img&lt;/tt&gt;,&lt;/li&gt; &lt;li&gt;the compressed kernel: &lt;tt&gt;vmlinuz0&lt;/tt&gt;, and;&lt;/li&gt; &lt;li&gt;the initial ramdisk &lt;tt&gt;initrd0.img&lt;/tt&gt;&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;In case you were wondering, the copies in the &lt;tt&gt;EFI&lt;/tt&gt; and &lt;tt&gt;isolinux&lt;/tt&gt; directories are the same. You can then place all these files in a subdirectory on the drive. Then you add an entry to GRUB pointing to the files. In this case, I placed the files in &lt;tt&gt;/boot/F12-$arch&lt;/tt&gt; and the drive's label is &lt;tt&gt;LiveLinux&lt;/tt&gt;.&lt;/p&gt; &lt;blockquote class="code"&gt;menuentry "Fedora 12 32bit" {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;linux /boot/F12-i686/vmlinuz0 root=live:LABEL=LiveLinux \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;live_dir=boot/F12-i686 rootfstype=auto ro liveimg quiet rhgb &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initrd /boot/F12-i686/initrd0.img&lt;br /&gt;}&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-8555924894605179031?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/8555924894605179031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=8555924894605179031' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/8555924894605179031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/8555924894605179031'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/02/booting-multiple-fedora-images-from-usb.html' title='Booting multiple Fedora images from USB'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-5285421481335718577</id><published>2010-02-14T22:33:00.006-05:00</published><updated>2010-02-14T23:06:09.487-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ads'/><category scheme='http://www.blogger.com/atom/ns#' term='Olympics'/><category scheme='http://www.blogger.com/atom/ns#' term='BBC'/><title type='text'>BBC Olympics Ad Spot</title><content type='html'>&lt;p&gt;I really like this one...&lt;/p&gt; &lt;p&gt;&lt;object width="550" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/zcJ9Wm7ncyY&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/zcJ9Wm7ncyY&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="550" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt; &lt;p&gt;It's all black &amp;amp; white and in that great sort of style like &lt;a href="http://en.wikipedia.org/wiki/Samurai_Jack"&gt;Samurai Jack&lt;/a&gt; (normally in colour, but sometimes there's a black&amp;amp;white sequence &lt;span style="font-style:italic;"&gt;or&lt;/span&gt; whole episode). What's also great about the ad is that it tells a story, interweaving various winter sports into it.&lt;/p&gt; &lt;p&gt;I also like the music. I've been wondering where I heard it before, and it's actually from the beginning of &lt;a href="http://www.michaelbuble.com/"&gt;Michael Bublé&lt;/a&gt;'s version of Cry Me a River. I'm not actually sure how well it fits in with &lt;span style="font-style:italic;"&gt;that&lt;/span&gt; song, but it's great in the ad.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-5285421481335718577?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/5285421481335718577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=5285421481335718577' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/5285421481335718577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/5285421481335718577'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/02/bbc-olympics-ad-spot.html' title='BBC Olympics Ad Spot'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-6651369951918018212</id><published>2010-02-10T18:55:00.005-05:00</published><updated>2010-08-10T20:58:31.934-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pidgin'/><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='XMPP'/><title type='text'>XMPP, meet Facebook...</title><content type='html'>&lt;p&gt;So, it seems the &lt;a href="http://www.facebook.com/"&gt;Facebook&lt;/a&gt; has &lt;span style="font-style:italic;"&gt;finally&lt;/span&gt; added support for logging in to their Chat via &lt;a href="http://xmpp.org/"&gt;XMPP&lt;/a&gt;. This is, of course, awesome so people stop asking about it, but also terrible since it took them so darn long. That meant a lot of horrible &lt;a href="http://code.google.com/p/pidgin-facebookchat/"&gt;hacks&lt;/a&gt; just to get it working in the interim. (No offence Eion, I just mean the scraping, not the code.)&lt;/p&gt; &lt;p&gt;This announcement comes straight from the &lt;a href="http://developers.facebook.com/news.php?blog=1&amp;story=361"&gt;developer blog&lt;/a&gt;. You need to have set up a username (which you can &lt;a href="http://www.facebook.com/sitetour/chat.php"&gt;check here&lt;/a&gt;). Casey's blog has &lt;a href="http://blog.caseyho.com/2010/02/how-to-enable-facebook-chat-in-pidgin.html"&gt;all the screenshots you need to figure it out&lt;/a&gt;. The only downside is it doesn't use encrypted streams.&lt;/p&gt; &lt;p&gt;The biggest problem, though? Having to organize a few hundred buddies into their correct contacts.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-6651369951918018212?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/6651369951918018212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=6651369951918018212' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/6651369951918018212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/6651369951918018212'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/02/xmpp-meet-facebook.html' title='XMPP, meet Facebook...'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-6442780828929242978</id><published>2010-01-30T19:29:00.007-05:00</published><updated>2010-01-30T19:41:03.379-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LiveCD'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Multiboot'/><category scheme='http://www.blogger.com/atom/ns#' term='Parted Magic'/><category scheme='http://www.blogger.com/atom/ns#' term='memtest'/><title type='text'>Booting recovery images from USB</title><content type='html'>&lt;p&gt;So, I'm still trying to figure out the Fedora boot, but in the meantime, I tried to figure out how to boot from a few recovery systems.&lt;/p&gt; &lt;p&gt;First off, let's try &lt;a href="http://partedmagic.com/"&gt;Parted Magic&lt;/a&gt;. This one is pretty simple since they provide a "USB" version. If you extract that, you'll find a &lt;tt&gt;boot&lt;/tt&gt; and a &lt;tt&gt;pmagic&lt;/tt&gt; folder. Copy the &lt;tt&gt;pmagic&lt;/tt&gt; folder to the USB drive. In &lt;tt&gt;boot/grub/grub.lst&lt;/tt&gt;, you'll find a whole bunch of boot options. I only chose the default and failsafe versions for my USB, but some of the others might be useful for you. For GRUB2, however, it'll look a little different:&lt;/p&gt; &lt;blockquote class="code"&gt;menuentry "Parted Magic (Default)" {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;linux /pmagic/bzImage edd=off noapic load_ramdisk=1 prompt_ramdisk=0 \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rw vga=791 loglevel=0 max_loop=256 keymap=us&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initrd /pmagic/initramfs&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;menuentry "Parted Magic (Failsafe)" {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;linux /pmagic/bzImage edd=off acpi=off noapic load_ramdisk=1 \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;prompt_ramdisk=0 rw vga=normal nolapic nopcmcia noscsi nogpm \&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;consoleboot nosmart keymap=us nosshd nosound max_loop=256&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initrd /pmagic/initramfs&lt;br /&gt;}&lt;/blockquote&gt; &lt;p&gt;Second, you'll probably want &lt;a href="http://www.memtest.org/"&gt;memtest&lt;/a&gt;. The memtest page has a "Pre-Compiled Bootable Binary" which works just fine. You can also find memtest in the PartedMagic package. Whichever one you choose, it can just be placed directly on the USB drive. The line in GRUB2 is not exactly the same for memtest since it's 16-bit:&lt;/p&gt; &lt;blockquote class="code"&gt;menuentry "Memory test (memtest86+)" {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;linux16 /memtest86+.bin&lt;br /&gt;}&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-6442780828929242978?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/6442780828929242978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=6442780828929242978' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/6442780828929242978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/6442780828929242978'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/01/booting-recovery-images-from-usb.html' title='Booting recovery images from USB'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-8933731587290253736</id><published>2010-01-24T23:24:00.004-05:00</published><updated>2010-01-25T02:24:41.516-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LiveCD'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='Multiboot'/><title type='text'>Trying to boot Fedora from ISO</title><content type='html'>&lt;p&gt;Last time I managed to boot Ubuntu and Linux Mint from ISO pretty easily. Unfortunately, Fedora does not work so simply. There is no &lt;tt&gt;iso-scan&lt;/tt&gt; parameter that can be used for it.&lt;/p&gt; &lt;p&gt;Fedora uses &lt;a href="http://fedoraproject.org/wiki/Dracut"&gt;Dracut&lt;/a&gt; to create its initramfs infrastructure. From that page, I found the &lt;tt&gt;rdshell&lt;/tt&gt; parameter that could be added to the kernel command line to get into a shell before switching to the real root and init. Once there, I was able to mount the USB drive, then the ISO, and finally the actual live image. So I knew that it should be possible to boot from ISO, but the initramfs doesn't have any parameter to look for it. And useful for later, I found the the version of dracut was 002-13.4.git8f397a9b.fc12.&lt;/p&gt; &lt;p&gt;I went looking at the Dracut pages a little more, and it turns out that support for booting off an ISO was added, and is in dracut-004. Which is great, except of course, it means it's not on the existing image. The &lt;a href="http://dracut.git.sourceforge.net/git/gitweb.cgi?p=dracut/dracut;a=commit;h=651f3f3d1a3f58d58fd365962154e555017bd7ae"&gt;commit&lt;/a&gt; was easy to find, and seemed self-contained, so I figured I might be able to patch the existing initramfs myself. It would probably be better to just build it from scratch, but I don't think I have everything installed for it and it didn't look like too big of a change to do manually. Modifying the initramfs was simple:&lt;/p&gt; &lt;blockquote class="code"&gt;mount -o loop Fedora-12-i686-Live.iso /mnt/cdrom&lt;br /&gt;zcat /mnt/cdrom/isolinux/initrd0.img | cpio -iV&lt;br /&gt;# Modify files here&lt;br /&gt;find . | cpio -oVH newc | gzip &gt; /media/LiveLinux/boot/F12-i686-initrd.img&lt;/blockquote&gt; &lt;p&gt;Now for that modify step, you need to look at the &lt;tt&gt;install&lt;/tt&gt; script of the &lt;tt&gt;90dmsquash-live&lt;/tt&gt; module to see where dracut would be installing the modified files. Anyway, that seemed to work up until getting past dracut. I saw plymouth start up, but then the kernel complained about the invalid root. Obviously, the ISO was not actually mounted in the end. I even booted to the dracut shell and found no trace of the USB drive. I'm waiting to see if the comments on &lt;a href="https://bugzilla.redhat.com/show_bug.cgi?id=557426"&gt;bug 557426&lt;/a&gt; will help explain something.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-8933731587290253736?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/8933731587290253736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=8933731587290253736' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/8933731587290253736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/8933731587290253736'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/01/booting-fedora-from-iso.html' title='Trying to boot Fedora from ISO'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-640366053457919303</id><published>2010-01-18T22:50:00.000-05:00</published><updated>2010-01-21T23:23:06.790-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Mint'/><category scheme='http://www.blogger.com/atom/ns#' term='LiveCD'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Multiboot'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Booting Ubuntu/Linux Mint from ISO</title><content type='html'>&lt;p&gt;&lt;a href="http://qulogic.blogspot.com/2010/01/booting-multiple-live-cds-from-single.html"&gt;Last time&lt;/a&gt; I prepared the USB drive to boot from ISO. That's great, but it's no good if there are no ISOs to boot into.&lt;/p&gt; &lt;p&gt;First off, I set up Ubuntu in GRUB. Fortunately, this was pretty easy to do. Ubuntu supports booting from ISO using the &lt;tt&gt;iso-scan&lt;/tt&gt; kernel parameter. Since Linux Mint is derived from Ubuntu, it also supports this parameter. The following lines in the GRUB2 config will enable booting from a Ubuntu/Linux Mint ISO.&lt;/p&gt; &lt;blockquote class="code"&gt;menuentry "Ubuntu 9.10 32bit" {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;loopback loop /ubuntu-9.10-desktop-i386.iso&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-9.10-desktop-i386.iso noeject noprompt --&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initrd (loop)/casper/initrd.lz&lt;br /&gt;}&lt;/blockquote&gt; &lt;p&gt;The &lt;tt&gt;loopback&lt;/tt&gt; line loads the ISO in a way that GRUB can locate the kernel and initrd. The stuff about casper is something used for data persistence (so that the ISO remains read-only). I don't have that enabled yet. This GRUB entry works similarly for Ubuntu (32- &amp;amp; 64-bit), Ubuntu Netbook Remix, and Linux Mint (32- &amp;amp; 64-bit).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-640366053457919303?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/640366053457919303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=640366053457919303' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/640366053457919303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/640366053457919303'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/01/booting-ubuntulinux-mint-from-iso.html' title='Booting Ubuntu/Linux Mint from ISO'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-4273675398256575185</id><published>2010-01-16T22:34:00.012-05:00</published><updated>2010-01-20T01:10:34.306-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LiveCD'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Multiboot'/><title type='text'>Booting multiple live CD's from a single USB</title><content type='html'>&lt;p&gt;Recently, I got a 1TB USB drive. I was planning on using this just for backups, but quite frankly, it's so big there's no need to limit it to just that. So I decided I'd put a few live CD images on it somehow to get a sort of universal test drive. I set aside about 30G which is way overkill, but in GiB, it meant the remaining was a round 900 (darn GB vs GiB thing).&lt;/p&gt; &lt;p&gt;First thing's first, what to put on it? I figure &lt;a href="http://www.ubuntu.com/"&gt;Ubuntu&lt;/a&gt;'s a good choice for a beginner Linux that would probably boot anywhere (or try to). Along with that, &lt;a href="http://www.linuxmint.com/"&gt;Linux Mint&lt;/a&gt; seems to be a great looking option, too. Plus it's green! Also, &lt;a href="http://fedoraproject.org/"&gt;Fedora&lt;/a&gt; since I'm using that on the laptop. Maybe Ubuntu Netbook Remix and something similar like &lt;a href="http://moblin.org/"&gt;Moblin&lt;/a&gt;. And since I'm a bit crazy, there'd have to be the 64-bit versions too. Finally, a few recovery things like &lt;a href="http://gparted.sourceforge.net/"&gt;GParted&lt;/a&gt; or similar.&lt;/p&gt; &lt;p&gt;Now that I have some idea what to get, I have to figure out how to get it to boot. Since I need to get a few live CD's working at the same time, I figure I can't just extract them at the root of the drive (like you would if you wanted a regular LiveUSB). So the question is how I can get them to boot straight from the ISO. First, I need a bootloader that will understand ISO files for me. I saw a few patches to GRUB to do this, but it looks like &lt;a href="http://www.gnu.org/software/grub/grub-2.en.html"&gt;GRUB 2&lt;/a&gt; proper also supports loading from an ISO, though it's still experimental. Since it's unstable in Gentoo, I had to unmask it first. I also set the &lt;tt&gt;multislot&lt;/tt&gt; USE flag on GRUB so I wouldn't lose the stable version.&lt;/p&gt; &lt;blockquote class="code"&gt;# Unmask GRUB 2&lt;br /&gt;echo "=sys-boot/grub-1.97.1 **" &amp;gt;&amp;gt; /etc/portage/package.keywords&lt;br /&gt;echo "sys-boot/grub multislot" &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;emerge -va =sys-boot/grub-1.97.1&lt;br /&gt;# My USB drive is on /dev/sdf&lt;br /&gt;# and the partition is labelled "LiveLinux"&lt;br /&gt;grub2-install --no-floppy --root-directory=/media/LiveLinux /dev/sdf&lt;br /&gt;&lt;/blockquote&gt; &lt;p&gt;Next I'll go over the results of trying to get each LiveCD to boot from ISO.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-4273675398256575185?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/4273675398256575185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=4273675398256575185' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/4273675398256575185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/4273675398256575185'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/01/booting-multiple-live-cds-from-single.html' title='Booting multiple live CD&apos;s from a single USB'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-3984684956168111794</id><published>2010-01-12T22:56:00.008-05:00</published><updated>2010-01-20T01:05:35.890-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>My first kernel patch</title><content type='html'>&lt;p&gt;OK, so it's not really anything big. In fact, it's really just a copy and paste (almost).&lt;/p&gt; &lt;p&gt;So, way back when &lt;a href="http://www.cakey.de/acerhk/"&gt;acerhk&lt;/a&gt; actually compiled, I was able to use the extra keys on the laptop. These were the volume, media, mail, etc. keys. Now with Fedora and a much newer kernel, it no longer compiles.&lt;/p&gt; &lt;p&gt;Every once in a while, I tried to see if I could fix the compile, but never really got anywhere. But then I found something interesting in the kernel sources. In &lt;tt&gt;drivers/input/serio/i8042-x86ia64io.h&lt;/tt&gt; there was something about a Dritek quirk. I recognized the name as something the acerhk driver also supplied. So, I rebooted and tried that out using &lt;tt&gt;i8042.dritek=1&lt;/tt&gt; and voilà, the extra keys worked. And a quick copy and paste later and I had me a patch. Just like that:&lt;/p&gt; &lt;blockquote class="code"&gt;@@ -467,6 +467,13 @@ static struct dmi_system_id __initdata i&lt;br /&gt;&amp;nbsp; */&lt;br /&gt;&amp;nbsp;static struct dmi_system_id __initdata i8042_dmi_dritek_table[] = {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ident = "Acer Aspire 5610",&lt;br /&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.matches = {&lt;br /&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DMI_MATCH(DMI_SYS_VENDOR, "Acer"),&lt;br /&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5610"),&lt;br /&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&lt;br /&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&lt;br /&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.ident = "Acer Aspire 5630",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.matches = {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DMI_MATCH(DMI_SYS_VENDOR, "Acer"),&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-3984684956168111794?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/3984684956168111794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=3984684956168111794' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/3984684956168111794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/3984684956168111794'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2010/01/my-first-kernel-patch.html' title='My first kernel patch'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-6939293366769702969</id><published>2009-12-29T00:51:00.003-05:00</published><updated>2010-02-07T23:18:07.419-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='Infrastructure'/><title type='text'>When the power goes out...</title><content type='html'>&lt;p&gt;A little while ago, one of my friends text me because the power had gone out in her building. She was wondering whether the power was out where I was. Fortunately for me, the power was just fine.&lt;/p&gt; &lt;p&gt;So I thought to myself, "I've got the power of the Internet to look into these things!" Off to Google, and it turns out it's pretty hard to find out about recent power outages. What came up was lots and lots of old news about previous outages that were already fixed. Now I'm pretty good with my Google-fu, so maybe it was just a minor outage and thus less (or no) news.&lt;/p&gt; &lt;p&gt;However, I did manage to find &lt;a href="http://www.hydroone.com/stormcenter/"&gt;this little page&lt;/a&gt;. It's a map with the location of power outages and repairs in regions covered by &lt;a href="http://www.hydroone.com/"&gt;HydroOne&lt;/a&gt;, the power distribution company for Ontario. Now this is how important services should be run. The information is available easily, and quickly. In fact, it's got its own link right on the front page. The one problem is, if you follow the blue line, you'll see that Toronto is excluded. That's because we have our own local power supply company here, Toronto Hydro. So I can't find out about my friend's problem from HydroOne.&lt;/p&gt; &lt;p&gt;What can I find on &lt;a href="http://www.torontohydro.com/"&gt;Toronto Hydro's website&lt;/a&gt;? Absolutely nothing. Well, actually, what I found was a lot of stuff I &lt;span style="font-style:italic;"&gt;don't&lt;/span&gt; want. There are many pages about things I might be interested in if I were a customer. But the most important information, &lt;span style="font-style:italic;"&gt;the availability of the service&lt;/span&gt;, is not there. It would be great if the power never went out, but let's face it, even with perfect equipment, someone's going to go drive into a transformer or something that's going to disrupt service. The closest thing I could find about service reliability on Toronto Hydro's site is to "Report a Streetlight out". While a broken streetlight is unsafe in certain locations, wouldn't the power being out be even worse? I guess they just figure that if the power's out in your area, you won't be able to look up the fact that the power's out or when it's going to be fixed.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-6939293366769702969?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/6939293366769702969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=6939293366769702969' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/6939293366769702969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/6939293366769702969'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2009/12/when-power-goes-out.html' title='When the power goes out...'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-3697894639184518399</id><published>2009-12-26T23:42:00.003-05:00</published><updated>2010-01-17T01:20:14.356-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><title type='text'>Christmas Trees</title><content type='html'>&lt;p&gt;So, I have this mini Christmas tree, with some fibre optics, that pulses red and white. A while back, it stopped working and I planned to fix it, but never got around to it. Until now!&lt;/p&gt;&lt;p&gt;I managed to cobble together a simple circuit based on a 555 timer. Here's a shot of the test on the breadboard. Basically, it's the 555 in astable mode, with a couple capacitors to smooth out the transitions.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_DsqLGRlfkTU/S1Kkpe3BznI/AAAAAAAAAFk/lu7dspr8TZw/s1600-h/IMG_2424.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_DsqLGRlfkTU/S1Kkpe3BznI/AAAAAAAAAFk/lu7dspr8TZw/s320/IMG_2424.JPG" alt="" id="BLOGGER_PHOTO_ID_5427581533500329586" border="0" /&gt;&lt;/a&gt;&lt;p&gt;The test had reds, but I put alternating red and yellow on the final circuit because yellow looked pretty good. Each side has a different size capacitor because it just pulses better that way. I managed to put this together on a little board. The wires on the right go to the LEDs.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_DsqLGRlfkTU/S1Kkpv9EuaI/AAAAAAAAAFs/wp7rsb9RczQ/s1600-h/IMG_2425.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_DsqLGRlfkTU/S1Kkpv9EuaI/AAAAAAAAAFs/wp7rsb9RczQ/s320/IMG_2425.JPG" alt="" id="BLOGGER_PHOTO_ID_5427581538089089442" border="0" /&gt;&lt;/a&gt;&lt;p&gt;With a little knife-work, I managed to size it up right. The wires are a little stiff, but a bit of jiggling got them in there.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DsqLGRlfkTU/S1KkqJFUx7I/AAAAAAAAAF0/2CpA5-ZceDg/s1600-h/IMG_2426.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_DsqLGRlfkTU/S1KkqJFUx7I/AAAAAAAAAF0/2CpA5-ZceDg/s320/IMG_2426.JPG" alt="" id="BLOGGER_PHOTO_ID_5427581544834582450" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-3697894639184518399?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/3697894639184518399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=3697894639184518399' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/3697894639184518399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/3697894639184518399'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2009/12/christmas-trees.html' title='Christmas Trees'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_DsqLGRlfkTU/S1Kkpe3BznI/AAAAAAAAAFk/lu7dspr8TZw/s72-c/IMG_2424.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-6134035405633621100</id><published>2009-11-28T22:32:00.003-05:00</published><updated>2010-01-17T01:07:29.056-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='SELinux'/><title type='text'>SELinux Re-labelling</title><content type='html'>&lt;p&gt;So yesterday, I downgraded from ext4 to ext3. I think I forgot to set SELinux to permissive, so a couple things ended up wrong. I re-labelled everything. This is what it looked like:&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_DsqLGRlfkTU/S1Ki9NIF6OI/AAAAAAAAAFc/uEUnZQUAtLs/s1600-h/IMG_2134.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_DsqLGRlfkTU/S1Ki9NIF6OI/AAAAAAAAAFc/uEUnZQUAtLs/s320/IMG_2134.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5427579673314191586" /&gt;&lt;/a&gt;&lt;p&gt;Now, there are a few things wrong there. First, the text really doesn't doesn't fit in. I think this is because KMS sets up the blue background, but isn't quite connected to the virtual console nicely. There's always work going on there, but it's not quite right yet. It's always getting better though.&lt;/p&gt;&lt;p&gt;The second thing, you might not notice at first. But if you look between the first paragraph and the lines of stars, then you'll notice some random characters. Those were typed by me. You see, nothing happens between printing the first two lines and the first asterisk. I think I read somewhere that each one corresponds to a few thousand files, but it took so long, I almost thought something had frozen. Fortunately, I let it continue and it finished correctly. But I really think there should be a better indication of activity in between asterisks.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-6134035405633621100?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/6134035405633621100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=6134035405633621100' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/6134035405633621100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/6134035405633621100'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2009/11/selinux-re-labelling.html' title='SELinux Re-labelling'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_DsqLGRlfkTU/S1Ki9NIF6OI/AAAAAAAAAFc/uEUnZQUAtLs/s72-c/IMG_2134.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-5004544401932526735</id><published>2009-11-27T23:38:00.000-05:00</published><updated>2010-01-17T00:56:38.539-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Fedora'/><title type='text'>Downgrading ext4 to ext3</title><content type='html'>&lt;p&gt;So, a little while ago, I replaced &lt;a href="http://www.gentoo.org/"&gt;Gentoo&lt;/a&gt; with &lt;a href="http://fedoraproject.org/"&gt;Fedora 11&lt;/a&gt; on my laptop. The laptop is a little older and prone to overheating when compiling, so I didn't see the value in using Gentoo there. And I never quite figured out the cross-compile for my desktop since it was AMD64-&gt;x86.&lt;/p&gt;&lt;p&gt;I ran into one very annoying problem, and that was with ext4. Every so often, any disk I/O would just stop. I could no longer load programs, and if anything attempted to write a file, it would freeze (technically, it would enter the "uninterruptible" state and get stuck).  I found a few kernel OOPS in the log, and reported those with the Fedora tool for that, but it didn't seem like it happened for many people.&lt;/p&gt;&lt;p&gt;In any case, the real problem is that I had to force a reboot, and ext4 would &lt;span style="font-style: italic;"&gt;always&lt;/span&gt; lose something. Sometimes it was some just-created data that could be replaced, and other times, the whole file system seemed messed up. Random libraries would crash or fail to load because they were corrupted. It was quite annoying.&lt;/p&gt;&lt;p&gt;So, I've been looking for a way to 'downgrade' to ext3. I've used ext3 for a long time on my desktop, and also on the laptop with Gentoo, and never ran into anything quite so bad. The only problem was no-one seemed to have a guide to go &lt;span style="font-style: italic;"&gt;to&lt;/span&gt; ext 3. The best I could find is to create a new partition and copy files there. Unfortunately, I didn't have enough free space to get that done. (Re-partitioning is not that hard since Fedora uses LVM.)&lt;/p&gt;&lt;p&gt;After much searching, I have managed to find a solution. &lt;a href="http://www.fsarchiver.org/"&gt;Fsarchiver&lt;/a&gt; provides an easy way to back up a complete file system. Once you have that backup, you can recreate it using a different file system format without losing any of the metadata (assuming the new one supports it all). Also, because it uses compression, I was able to fit what I needed onto a USB stick, and restore from there.&lt;/p&gt;&lt;p&gt;I used the Fedora 11 LiveCD (on the same USB stick I used for the backup) to do all of this. Fortunately, fsarchiver is provided in a Fedora package that can be installed from the default repositories. I'm doing this from memory, but it should go something like this (I'll only show the fsarchiver bits):&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote class="code"&gt;yum install fsarchiver&lt;br /&gt;fsarchiver savefs /media/live/rootfs.fsa /dev/mapper/lvm_name&lt;br /&gt;&amp;lt;re-format partition&amp;gt;&lt;br /&gt;fsarchiver restfs /media/live/rootfs.fsa id=0,dest=/dev/mapper/lvm_name,mkfs=ext3&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-5004544401932526735?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/5004544401932526735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=5004544401932526735' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/5004544401932526735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/5004544401932526735'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2009/11/downgrading-ext4-to-ext3.html' title='Downgrading ext4 to ext3'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-7931383817337999773</id><published>2009-08-21T00:17:00.003-04:00</published><updated>2010-01-19T21:13:08.654-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pidgin'/><title type='text'>Voice &amp; Video</title><content type='html'>&lt;p&gt;Sooo, &lt;a href="http://pidgin.im"&gt;Pidgin&lt;/a&gt; supports voice and video now.&lt;/p&gt;&lt;p&gt;It's only on XMPP (aka Google Talk), and only on Linux, but hopefully that will change soon. I hear it's a real pain to get all the farsight/gstreamer dependencies compiled for Windows right now.&lt;/p&gt;&lt;p&gt;And here's hoping we can get MSN support soon, too. I'm not too sure how well farsight supports it though.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-7931383817337999773?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/7931383817337999773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=7931383817337999773' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/7931383817337999773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/7931383817337999773'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2009/08/voice-video.html' title='Voice &amp; Video'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-8783577676835888826</id><published>2009-07-24T18:26:00.005-04:00</published><updated>2010-01-17T01:18:27.510-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PEY'/><title type='text'>Moving Out...</title><content type='html'>&lt;p&gt;Of the office, I mean.&lt;/p&gt;&lt;p&gt;Here we are all packed up and ready to go. Instead of the old CRT, I'm only taking the Dell TV/monitor that I had lying around. I still haven't found a power supply for it, but I hope to pick one up in the extra refuse that we're not taking with us.&lt;/p&gt;&lt;a tooltip="linkalert-tip" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DsqLGRlfkTU/S1KPuFR8JxI/AAAAAAAAAFM/Eepi9zNhT6Q/s1600-h/aIMG_0868.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="http://1.bp.blogspot.com/_DsqLGRlfkTU/S1KPuFR8JxI/AAAAAAAAAFM/Eepi9zNhT6Q/s320/aIMG_0868.JPG" alt="" id="BLOGGER_PHOTO_ID_5427558522789046034" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;Update: And here we are in the new location:&lt;/p&gt;&lt;a tooltip="linkalert-tip" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_DsqLGRlfkTU/S1KPupgIoHI/AAAAAAAAAFU/WmqBhZgFRN0/s1600-h/IMG_0876.JPG"&gt;&lt;img tooltip="linkalert-tip" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_DsqLGRlfkTU/S1KPupgIoHI/AAAAAAAAAFU/WmqBhZgFRN0/s320/IMG_0876.JPG" alt="" id="BLOGGER_PHOTO_ID_5427558532512260210" border="0" /&gt;&lt;/a&gt;&lt;p&gt;It's a little bit smaller, I think. If you notice, now we've got fancy IP phones. What sucks is I brought that Dell TV/monitor instead of a CRT, only finding a power supply now. And it doesn't work! Ah well, instead, I borrowed the LCD from the other PEY student. And some of you might recognize that calendar there...&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-8783577676835888826?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/8783577676835888826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=8783577676835888826' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/8783577676835888826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/8783577676835888826'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2009/07/moving-out.html' title='Moving Out...'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_DsqLGRlfkTU/S1KPuFR8JxI/AAAAAAAAAFM/Eepi9zNhT6Q/s72-c/aIMG_0868.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-9191633750419073353</id><published>2009-05-11T00:24:00.015-04:00</published><updated>2011-07-01T03:07:24.996-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Family'/><category scheme='http://www.blogger.com/atom/ns#' term='DIY'/><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><title type='text'>Mother's Day for Engineers</title><content type='html'>&lt;p&gt;So, in case you were wondering, when it's Mother's Day, engineers don't give gifts; they fix things!&lt;/p&gt; &lt;p&gt;In this case, we have a 5-CD changer that was starting to have problems. Now sure, you might say that a computer would be able to save all the music from those CDs and more. But if you know engineers (or at least, myself), then you know we'd never throw away something that can still be salvaged (or at least kept for parts).&lt;/p&gt;&lt;p&gt;The problem was that the audio seemed to cut out every once in a while. It turns out that something was wrong with the output jacks. I tried fiddling with them to make the connections tighter, but it didn't seem to work. Some of you may remember the troubles I had to go through to get cables to stay connected in such a way that the sound didn't cut out when you were over.&lt;/p&gt;&lt;p&gt;So, obviously, the best solution is to open it up and fix it! The circuit board with the jack is in the bottom left of the left image, with a closeup on the right. The other circuit board sure looks empty though.&lt;/p&gt; &lt;p style="text-align: center; vertical-align: middle;"&gt;&lt;a tooltip="linkalert-tip" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_DsqLGRlfkTU/S1JxI56PTfI/AAAAAAAAAEs/UFfzqucq5Es/s1600-h/IMG_0658.JPG"&gt;&lt;img tooltip="linkalert-tip" style="margin: 0px auto 10px; cursor: pointer; width: 300px; height: 225px; display: inline;" src="http://3.bp.blogspot.com/_DsqLGRlfkTU/S1JxI56PTfI/AAAAAAAAAEs/UFfzqucq5Es/s320/IMG_0658.JPG" alt="" id="BLOGGER_PHOTO_ID_5427524898732854770" border="0" /&gt;&lt;/a&gt; &lt;a tooltip="linkalert-tip" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_DsqLGRlfkTU/S1Jx37sqPwI/AAAAAAAAAE0/FEPqxsGEVzg/s1600-h/aIMG_0660.JPG"&gt;&lt;img tooltip="linkalert-tip" style="margin: 0px auto 10px; cursor: pointer; width: 225px; height: 300px; display: inline;" src="http://2.bp.blogspot.com/_DsqLGRlfkTU/S1Jx37sqPwI/AAAAAAAAAE0/FEPqxsGEVzg/s320/aIMG_0660.JPG" alt="" id="BLOGGER_PHOTO_ID_5427525706666622722" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;With a little fiddling of the restraints, the connector board comes out pretty easily. A few minutes of desoldering later, and out come the jacks. If you recall, I made a post about &lt;a tooltip="linkalert-tip" href="http://qulogic.blogspot.com/2009/05/kycon-inc.html"&gt;Kycon&lt;/a&gt; recently. They sent me some nice red and white gold-plated RCA jacks, perfect for replacing these (not that that's a coincidence). Here we have the new and the old next to each other. Aren't the new ones all nice and shiny?&lt;br /&gt;&lt;/p&gt; &lt;a tooltip="linkalert-tip" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DsqLGRlfkTU/S1KB1XOrD5I/AAAAAAAAAE8/LshlY72cAQM/s1600-h/IMG_0661.JPG"&gt;&lt;img tooltip="linkalert-tip" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_DsqLGRlfkTU/S1KB1XOrD5I/AAAAAAAAAE8/LshlY72cAQM/s320/IMG_0661.JPG" alt="" id="BLOGGER_PHOTO_ID_5427543254703476626" border="0" /&gt;&lt;/a&gt; &lt;p&gt;If you look closely, you'll notice that the plastic casing is shaped slightly differently in the new ones. The old had a little hook, while the new are just little stubs. Unfortunately, the gaps are also a little smaller. That required a little bit of sanding on the circuit board to fit.&lt;/p&gt;&lt;p&gt;Anyway, with a little elbow grease, and some more soldering, I had them right back in. The connection wasn't that great any more though (probably need to tone down the iron), so I added a couple jumper wires for the relevant paths. Fortunately, the sound quality did not suffer because of it (at least to my ears and with the sound system we have).&lt;/p&gt; &lt;a tooltip="linkalert-tip" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DsqLGRlfkTU/S1KGM3b5d8I/AAAAAAAAAFE/YqUfQLqIsMg/s1600-h/IMG_0665.JPG"&gt;&lt;img tooltip="linkalert-tip" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="http://1.bp.blogspot.com/_DsqLGRlfkTU/S1KGM3b5d8I/AAAAAAAAAFE/YqUfQLqIsMg/s320/IMG_0665.JPG" alt="" id="BLOGGER_PHOTO_ID_5427548056532383682" border="0" /&gt;&lt;/a&gt; &lt;p&gt;And that gives us this nice little board with shiny new gold-plated jacks. The plastic on the jumpers got a little melty, but that helped me to position them in a good place. Anyway, after putting it back together, I tried it out on the surround system and it sounded great. So, back upstairs it went, and that makes one nice present done.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-9191633750419073353?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/9191633750419073353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=9191633750419073353' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/9191633750419073353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/9191633750419073353'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2009/05/mothers-day-for-engineers.html' title='Mother&apos;s Day for Engineers'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_DsqLGRlfkTU/S1JxI56PTfI/AAAAAAAAAEs/UFfzqucq5Es/s72-c/IMG_0658.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-262062035319748741</id><published>2009-05-05T00:26:00.003-04:00</published><updated>2010-01-16T23:12:40.627-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Electronics'/><title type='text'>Kycon, Inc</title><content type='html'>&lt;p&gt;Just going to take a post to mention &lt;a href="http://kycon.com/"&gt;this company&lt;/a&gt;. In case you didn't know, some electronics suppliers like to send out samples for the "publicity", in the hopes that you'll remember their product and use it in your next big project.&lt;/p&gt;&lt;p&gt;Anyway, these guys were pretty great. I put in a request on Sunday for a couple connectors. To leave it cheap, I asked for regular ground shipping. But in Canada, they don't seem to offer that, so they automatically upgraded to some kind of two-night express shipping for free! So I got the parts in less than two days, and they seem pretty good quality. Yep, so this post is just my way to make some publicity for them.&lt;/p&gt;&lt;p&gt;Now, what did I get this for? Well, that's a different post...&lt;/p&gt;&lt;p&gt;Edit: I just noticed a couple connectors on our test boards are Kycon, too.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-262062035319748741?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/262062035319748741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=262062035319748741' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/262062035319748741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/262062035319748741'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2009/05/kycon-inc.html' title='Kycon, Inc'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-839605224831166925</id><published>2009-04-18T23:48:00.002-04:00</published><updated>2009-08-05T01:15:24.986-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pidgin'/><category scheme='http://www.blogger.com/atom/ns#' term='GTK+'/><title type='text'>GTK+ 3.0 for Pidgin</title><content type='html'>&lt;p&gt;A little while ago, grim posted a &lt;a tooltip="linkalert-tip" href="http://www.debian-news.net/2009/04/06/preparing-for-gtk-30-and-gnome-3/"&gt;link about preparations for GTK+ 3.0&lt;/a&gt;. I started a bit of work on it in a &lt;a href="http://developer.pidgin.im/viewmtn/branch/shortchanges/im.pidgin.cpw.qulogic.gtk3"&gt;separate branch&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;So far, it hasn't been too much trouble. I managed to fix single includes in the main branch, and all deprecated functions in libpurple core too. Finch was super-easy and required almost no work. What was left was the Pidgin UI.&lt;/p&gt;&lt;p&gt;The main Pidgin UI required a bit more work. Replacing GtkOptionMenu with GtkComboBox  was pretty simple, just a couple preprocessor checks needed. Using GtkTooltip instead of GtkTooltips was also pretty painless, but there's still one matter left. The headline text that goes in the buddy list for mail notification used to do a hack with the tooltip to colour it correctly. At the moment, it ends up grey because I'm not sure how to get it working.&lt;/p&gt;&lt;p&gt;There are still a couple big changes left. I still really don't know how to write UI Manager stuff, and it's hard to find good examples. It only has to be done twice, for the buddy list and for the conversation window, but I'm not sure how much that really means. Fortunately, we are not heavily GNOME dependant, so that's probably the biggest change.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-839605224831166925?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/839605224831166925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=839605224831166925' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/839605224831166925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/839605224831166925'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2009/04/gtk-30-for-pidgin.html' title='GTK+ 3.0 for Pidgin'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-4961522040762926107</id><published>2009-03-22T23:26:00.002-04:00</published><updated>2009-04-02T01:13:26.794-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Skule'/><title type='text'>Skule Nite 0T9</title><content type='html'>&lt;p&gt;Yes, another year for Skule Nite... And again, quite fun as usual.&lt;/p&gt;&lt;p&gt;The big acts were mostly all based on Disney movie songs. Though I'm not too sure where the last few were from. But no matter, "Google Man" was still a great skit. The "Lord of the ECF" were great, and the bits on 24 were funny, too. At first, I didn't really like the Obama skit (probably because I didn't recognize the song), but the 4 Years skit was a spot on parody of 4 Minutes.&lt;/p&gt;&lt;p&gt; But of course, the best part of the show was the Vision Quest with the great blacklighting effects. People totally freaked out when that stick-man started moving (I kind of figured it would happen, though). They definitely managed to top last year's blacklight sketch. This part alone was worth the admission. ;)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;You know, I saw they were filming it; I wonder what they actual do with that.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;So yep, definitely another great year. But I do have one question: where is the EngSci club hiding that jacuzzi?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-4961522040762926107?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/4961522040762926107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=4961522040762926107' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/4961522040762926107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/4961522040762926107'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2009/03/skule-nite-0t9.html' title='Skule Nite 0T9'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-1859910453702527119</id><published>2009-02-28T01:29:00.002-05:00</published><updated>2009-02-28T02:27:23.910-05:00</updated><title type='text'>Nothing's Happening!</title><content type='html'>&lt;p&gt;Here, I mean... As some people have mentioned, "tomorrow" should have happened a loonnngggg time ago. I probably won't talk about the AGO, though. You should have gone when it was free!&lt;/p&gt;&lt;p&gt;Anyway, there's been some interesting things going on. A few months of working at this new company. Which as I guessed, is ending up not all that different. I might write a little bit more about that later. (I'm not promising any more tomorrows, though!)&lt;/p&gt;&lt;p&gt;Christmas/New Year's vacation was quite good. I'm sure most of you know already, but I went on a vacation to Goa. It was wayyy too short at ~2.5 weeks, and that made it jam-packed with things to do. But all in all, it was pretty fun.&lt;/p&gt;&lt;p&gt;Anyway, hope to get back to writing here a bit more often...&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-1859910453702527119?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/1859910453702527119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=1859910453702527119' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/1859910453702527119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/1859910453702527119'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2009/02/nothings-happening.html' title='Nothing&apos;s Happening!'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-2428986507684511485</id><published>2008-11-16T02:16:00.000-05:00</published><updated>2008-11-16T04:17:12.310-05:00</updated><title type='text'>AGO!</title><content type='html'>Went to the free exhibition of the AGO today. It was pretty interesting. Maybe I'll post a bit more tomorrow...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-2428986507684511485?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/2428986507684511485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=2428986507684511485' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/2428986507684511485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/2428986507684511485'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2008/11/ago.html' title='AGO!'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-2140230484352832970</id><published>2008-11-10T01:46:00.002-05:00</published><updated>2010-11-09T00:00:19.218-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CPC'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>College Puzzle Challenge</title><content type='html'>&lt;p&gt;Before I forget, this weekend was the Microsoft &lt;a href="http://www.collegepuzzlechallenge.com/"&gt;College Puzzle Challenge&lt;/a&gt;. It was a lot of fun, like last year. I think our best score was fourth here at UofT.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_DsqLGRlfkTU/SR_fpLMk-fI/AAAAAAAAAEY/SCXH8gTvVhI/s1600-h/IMG_8639.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_DsqLGRlfkTU/SR_fpLMk-fI/AAAAAAAAAEY/SCXH8gTvVhI/s320/IMG_8639.JPG" alt="" id="BLOGGER_PHOTO_ID_5269175987519945202" border="0" /&gt;&lt;/a&gt;&lt;p&gt;Can you figure out our name?&lt;/p&gt;&lt;p&gt;There were a couple of puzzles with answers that just didn't make sense. Like this &lt;a href="http://www.collegepuzzlechallenge.com/Archive/2008/Drop%20Quote.pdf"&gt;Drop Quote&lt;/a&gt; one. With a drop quote puzzle, you need to drop the letters to form words. But here you have to do funky add and subtract before you get a message out of it... Actually, it doesn't seem so hard written out. :P Another annoying one was &lt;a href="http://www.collegepuzzlechallenge.com/Archive/2008/Hospital%20Visit.pdf"&gt;Hospital Visit&lt;/a&gt;. I mean, finding random medical abbreviations from those descriptions is a little crazy. How are we supposed to figure out what "must take her medicine before eating" is in abbreviated form? Not only that, but the patient names in the answer aren't even the same as in the question.&lt;/p&gt;&lt;p&gt;Anyway, ended up twenty-first here, which isn't too bad. That's 133&lt;sup&gt;rd&lt;/sup&gt; overall. Like last year, we really dropped in the last hour or so, but what can you do. I guess I can be happy that we're the first team with the score of 170.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-2140230484352832970?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/2140230484352832970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=2140230484352832970' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/2140230484352832970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/2140230484352832970'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2008/11/college-puzzle-challenge.html' title='College Puzzle Challenge'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_DsqLGRlfkTU/SR_fpLMk-fI/AAAAAAAAAEY/SCXH8gTvVhI/s72-c/IMG_8639.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-4785701476498134813</id><published>2008-10-28T22:53:00.002-04:00</published><updated>2008-10-29T01:05:43.330-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PEY'/><title type='text'>First Day of Work</title><content type='html'>&lt;p&gt;Well, first day at Broadcom, that is. Not too big of a deal. Most things were the same. Except we were on a new network setup. Which means no access to the AMD company intranet, and more importantly, no access to Office Communicator. Whatever will I do when I need to talk to one of you?&lt;/p&gt;&lt;p&gt;I also wasted some of the day trying to figure out my email password. We got new Broadcom-y emails, for which we set the password a few weeks ago. Normally, this would be fine, but that day really sucked, sleep-wise, so I didn't remember what I set at all. Tried calling the IT desk, but it didn't seem to work. We thought it was just busy from everyone forgetting their passwords, but actually there was some long-distance code we needed to enter for it to dial.&lt;/p&gt;&lt;p&gt;Anyway, that's about all that happened on my second "first day". Of course, I did some real work, too. But I don't think that's as interesting.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-4785701476498134813?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/4785701476498134813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=4785701476498134813' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/4785701476498134813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/4785701476498134813'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2008/10/first-day-of-work.html' title='First Day of Work'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-9056437981545081202</id><published>2008-10-28T08:30:00.000-04:00</published><updated>2008-10-28T22:53:07.263-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PEY'/><title type='text'>Last Day at AMD!</title><content type='html'>&lt;p&gt;Yep, that's right. Today was my last day of work at &lt;a href="http://www.amd.com/"&gt;AMD&lt;/a&gt;. Now, don't go jumping to conclusions that I quit PEY or anything. Like I said before, the &lt;a href="http://qulogic.blogspot.com/2008/08/so-it-looks-like-its-official-now.html"&gt;DTV division was sold&lt;/a&gt; to &lt;a href="http://www.broadcom.com/"&gt;Broadcom&lt;/a&gt;. Well, here's to my first day at the new company tomorrow. It doesn't look like a whole lot will change just yet anyway. Sure, there's a new network, new email address, new badge, but it's still the same building, and I'll still go to the cafeteria for lunch.&lt;/p&gt;&lt;p&gt;A couple of weeks ago, we got our offer package. There sure were a lot of forms to fill out. It was just like starting a new job entirely. Fun thing though, they stickied the locations for the signatures. Just take a look at all these stickers!&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DsqLGRlfkTU/SQajQM4MUlI/AAAAAAAAADI/KpaGayQPYHs/s1600-h/IMG_8575a.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 165px;" src="http://1.bp.blogspot.com/_DsqLGRlfkTU/SQajQM4MUlI/AAAAAAAAADI/KpaGayQPYHs/s320/IMG_8575a.JPG" alt="" id="BLOGGER_PHOTO_ID_5262072713359151698" border="0" /&gt;&lt;/a&gt;&lt;p&gt;On the other hand, now I have a whole bunch of "Sign Here" stickers. There were &lt;span style="font-style: italic;"&gt;thirteen&lt;/span&gt; signatures necessary. I wonder what I'll do with them.&lt;br /&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DsqLGRlfkTU/SQakH_SRwEI/AAAAAAAAADQ/UOvYjEQLwnQ/s1600-h/IMG_8576a.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="http://1.bp.blogspot.com/_DsqLGRlfkTU/SQakH_SRwEI/AAAAAAAAADQ/UOvYjEQLwnQ/s320/IMG_8576a.JPG" alt="" id="BLOGGER_PHOTO_ID_5262073671783137346" border="0" /&gt;&lt;/a&gt;&lt;p&gt;To round this post out, I've got one more photo from AMD. A little sign from outside the 1&lt;sup&gt;st&lt;/sup&gt; floor offices in 33CV. I guess I can't exactly go randomly wandering around there. If you didn't know, only 2&lt;sup&gt;nd&lt;/sup&gt; and 3&lt;sup&gt;rd&lt;/sup&gt; floors are for DTV. So I guess now we aren't supposed to go to the offices or the production area downstairs.&lt;br /&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DsqLGRlfkTU/SQamKfM3I1I/AAAAAAAAADY/ino6DhXYzEs/s1600-h/IMG_8609a.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="http://1.bp.blogspot.com/_DsqLGRlfkTU/SQamKfM3I1I/AAAAAAAAADY/ino6DhXYzEs/s320/IMG_8609a.JPG" alt="" id="BLOGGER_PHOTO_ID_5262075913733350226" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-9056437981545081202?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/9056437981545081202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=9056437981545081202' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/9056437981545081202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/9056437981545081202'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2008/10/last-day-at-amd.html' title='Last Day at AMD!'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_DsqLGRlfkTU/SQajQM4MUlI/AAAAAAAAADI/KpaGayQPYHs/s72-c/IMG_8575a.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-1275378234407982576</id><published>2008-10-12T02:22:00.001-04:00</published><updated>2008-10-14T02:31:21.314-04:00</updated><title type='text'>Small World</title><content type='html'>&lt;p&gt;So, the &lt;a href="http://www.apus.utoronto.ca/"&gt;Association of Part-time Undergraduate Students&lt;/a&gt; just sent me some mail. However, the name was certainly not for anyone in our house. My dad was about to send it back when I looked at it. And as it turns out, I did know the person to whom it was addressed. It had &lt;a href="http://vancouver365.wordpress.com/"&gt;Kirill&lt;/a&gt;'s name, and my address.&lt;/p&gt;&lt;p&gt;Out of all those thousands of part-time students (not just PEY's), that little glitch happened to pick someone I knew. Small world, eh?&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-1275378234407982576?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/1275378234407982576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=1275378234407982576' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/1275378234407982576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/1275378234407982576'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2008/10/small-world.html' title='Small World'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-697814031735137748</id><published>2008-10-02T23:02:00.002-04:00</published><updated>2008-10-06T01:35:56.498-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PEY'/><title type='text'>Intermittent Bugs</title><content type='html'>&lt;p&gt;I hate intermittent bugs.&lt;/p&gt;&lt;p&gt;You know, those ones that never always happen in a reproduceable manner. I had to test this bug that seems to happen 1 time in 20+ tries. Not to mention that I needed to do it from a cold boot, so it took 1-2 minutes per trial. Fortunately, I was able to automate it so I didn't need do anything except hit the power button every time it worked.&lt;/p&gt;&lt;p&gt;Twenty tries and I get nothing. So I send an email saying so, and that's just when the bug shows up. Then had to try a few different versions to figure out when it was introduced. But in the end it seemed nobody else could reproduce the bug (though someone could before).&lt;/p&gt;&lt;p&gt;Swapped development boards with someone and couldn't reproduce the bug after 50 tries...  What a waste of a day...&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-697814031735137748?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/697814031735137748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=697814031735137748' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/697814031735137748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/697814031735137748'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2008/10/intermittent-bugs.html' title='Intermittent Bugs'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-5381310266750399783</id><published>2008-09-23T21:34:00.000-04:00</published><updated>2008-09-24T23:28:21.865-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PEY'/><title type='text'>Expensive Toys</title><content type='html'>&lt;p&gt;So I'm sure you've seen that I have those 6 monitors and maybe a TV or two to play with at work. We all know how much those cost, a few hundred per monitor, maybe a thousand or two for a TV.&lt;/p&gt;&lt;p&gt;Anyway, a couple days ago, I got this card to set up in a computer. It's a modulator card that takes some video file input and has the ability to output in various modulation schemes, like 8VSB, DVB, QAM64, and a few others. I was told it was expensive, but I didn't think it was too much. It's pretty cool, because I can set up whatever type of input signal I want. So I happened to find the packing slip with the box.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The packing slip also had the bill: the card cost as much as &lt;span style="font-weight: bold;"&gt;3 or 4&lt;/span&gt; (regular) TV's!! Good thing it's safe in the box... ;)&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-5381310266750399783?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/5381310266750399783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=5381310266750399783' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/5381310266750399783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/5381310266750399783'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2008/09/expensive-toys.html' title='Expensive Toys'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-8185016213809001430</id><published>2008-09-12T23:18:00.000-04:00</published><updated>2008-09-14T00:08:58.490-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PEY'/><title type='text'>They said it would be around now...</title><content type='html'>&lt;p&gt;Can you believe it's been 4 months that we've been on PEY?&lt;/p&gt;&lt;p&gt;Those PEY office guys say we'd really start to notice it around now. All our friends would be starting class, and we wouldn't. But you know, I don't think I've quite noticed it yet.&lt;/p&gt;&lt;p&gt;Normally over the summer, I usually don't see a lot of people (besides a few random gatherings). So in fact, since I see so many PEY students at AMD, it's completely not like a regular summer. Anyway, it's been a week of school now. There's been enough dinners and things so far to keep me from noticing.&lt;/p&gt;&lt;p&gt;I admit though, it was a bit weird not going to university on that very first morning, or for F!rosh week. But after being on campus a couple times lately, I noticed that there really aren't a lot of people there (that I know). Perhaps it's just that a lot of people are on PEY, or it's so early in the year. Normally, I'd run into a lot more people on campus.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I wonder when it'll really sink in...&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-8185016213809001430?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/8185016213809001430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=8185016213809001430' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/8185016213809001430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/8185016213809001430'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2008/09/they-said-it-would-be-around-now.html' title='They said it would be around now...'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-4861074734051517403</id><published>2008-08-26T00:54:00.004-04:00</published><updated>2008-08-26T01:27:16.098-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PEY'/><title type='text'>DTV Sold...</title><content type='html'>&lt;p&gt;So, it looks like &lt;a href="http://www.amd.com/us-en/Corporate/VirtualPressRoom/0,,51_104_543%7E127711,00.html"&gt;it's official now&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;The DTV department from AMD has been &lt;a href="http://www.broadcom.com/press/release.php?id=1190026&amp;amp;source=home"&gt;sold to Broadcom&lt;/a&gt;. I'm not really sure what that means for us yet. They say they're going to offer contracts to all employees from DTV, and even some non-employees who assist with DTV. We're supposed to talk to our managers over the next two weeks. There's just one thing... Our manager's on vacation for the next two weeks. :P&lt;/p&gt;&lt;p&gt;Anyway, not many people seem to be too concerned right now. It's probably going to be until at least the end of the year before everything's all done. And things will probably change about as much as when AMD bought ATI, which is not all that much as I hear.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I just hope we don't have to change buildings. Then we won't get to play cards at lunch. :P&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-4861074734051517403?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/4861074734051517403/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=4861074734051517403' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/4861074734051517403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/4861074734051517403'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2008/08/so-it-looks-like-its-official-now.html' title='DTV Sold...'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-2848301749984301852</id><published>2008-08-19T02:05:00.003-04:00</published><updated>2008-08-25T02:17:58.800-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pidgin'/><title type='text'>Pidgin 2.5.0 Released!</title><content type='html'>&lt;p&gt;Look, &lt;a href="http://pidgin.im/"&gt;Pidgin 2.5.0&lt;/a&gt; is out!&lt;/p&gt;&lt;p&gt;And yes, we have MSNP15 support. That means offline message support, sending custom smileys, server-side aliasing, buddy embleming and a whole bunch of other goodies. Hylke made some nice updates to the icon theme that looks cleaner, I think. Though I'm not sure whether I like the new pigeon yet. I hope with all that testing those Adium guys did, there won't be too many problems. Some people aren't as optimistic, but we'll see how it goes. :P&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Oh, and guess what? &lt;a href="http://developer.pidgin.im/viewmtn/revision/info/a85113159ac3ecd4bef1ea184fd8fc2e0378e426"&gt;I'm a developer&lt;/a&gt;, too!&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-2848301749984301852?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/2848301749984301852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=2848301749984301852' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/2848301749984301852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/2848301749984301852'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2008/08/pidgin-250-released.html' title='Pidgin 2.5.0 Released!'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-5688256540446077364</id><published>2008-08-05T01:16:00.006-04:00</published><updated>2008-08-25T02:17:36.961-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Goa'/><title type='text'>Mando Mogi Margão</title><content type='html'>&lt;p&gt;As I had mentioned before, we had a whole mando troupe staying over at our houses. It turns out they were able to play three nights in a row. Anyway, here are a few pictures from their show.&lt;/p&gt;&lt;p style="text-align: center;"&gt;Performing at UTM:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_DsqLGRlfkTU/SLJIvNTdatI/AAAAAAAAABc/PVNKjXZdOUA/s1600-h/Link+to+IMG_7394.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_DsqLGRlfkTU/SLJIvNTdatI/AAAAAAAAABc/PVNKjXZdOUA/s400/Link+to+IMG_7394.JPG" alt="" id="BLOGGER_PHOTO_ID_5238329292447640274" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DsqLGRlfkTU/SLJIvt76jOI/AAAAAAAAABk/C1dtvCDY9e0/s1600-h/Link+to+IMG_7571.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_DsqLGRlfkTU/SLJIvt76jOI/AAAAAAAAABk/C1dtvCDY9e0/s400/Link+to+IMG_7571.JPG" alt="" id="BLOGGER_PHOTO_ID_5238329301207256290" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="text-align: center;"&gt;Performing at the Mississauga Convention Centre:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DsqLGRlfkTU/SLJIvzZtUjI/AAAAAAAAABs/QfR5R4LlAnA/s1600-h/Link+to+IMG_7699.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_DsqLGRlfkTU/SLJIvzZtUjI/AAAAAAAAABs/QfR5R4LlAnA/s400/Link+to+IMG_7699.JPG" alt="" id="BLOGGER_PHOTO_ID_5238329302674395698" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_DsqLGRlfkTU/SLJOR9kP0xI/AAAAAAAAACM/7Un_EBE4p1I/s1600-h/Link+to+IMG_7723.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_DsqLGRlfkTU/SLJOR9kP0xI/AAAAAAAAACM/7Un_EBE4p1I/s400/Link+to+IMG_7723.JPG" alt="" id="BLOGGER_PHOTO_ID_5238335387076645650" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="text-align: center;"&gt;At the Grand Ball:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_DsqLGRlfkTU/SLJNs0s27QI/AAAAAAAAAB8/Xtpom0UQSlQ/s1600-h/Link+to+IMG_7926.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_DsqLGRlfkTU/SLJNs0s27QI/AAAAAAAAAB8/Xtpom0UQSlQ/s400/Link+to+IMG_7926.JPG" alt="" id="BLOGGER_PHOTO_ID_5238334749041683714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_DsqLGRlfkTU/SLJNtC1mq7I/AAAAAAAAACE/9D_J-S_U1Ds/s1600-h/Link+to+IMG_8045.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_DsqLGRlfkTU/SLJNtC1mq7I/AAAAAAAAACE/9D_J-S_U1Ds/s400/Link+to+IMG_8045.JPG" alt="" id="BLOGGER_PHOTO_ID_5238334752836463538" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-5688256540446077364?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/5688256540446077364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=5688256540446077364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/5688256540446077364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/5688256540446077364'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2008/08/mando-mogi-margo.html' title='Mando Mogi Margão'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_DsqLGRlfkTU/SLJIvNTdatI/AAAAAAAAABc/PVNKjXZdOUA/s72-c/Link+to+IMG_7394.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-239467056235605632</id><published>2008-08-03T02:09:00.005-04:00</published><updated>2008-08-15T01:15:43.325-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Goa'/><title type='text'>Goan Idol</title><content type='html'>&lt;p&gt;So, about that International Goan Convention... I didn't go to any of the daytime workshops because of work, but we did go to the evening events.&lt;/p&gt;&lt;p&gt;The first evening was the Goan Idol. This was held at UTM (they got a deal or something) in one of the lecture halls. It's too bad, because there was no stage or spotlights or anything. And it's really hard to take pictures in low light without flash. Not to mention everyone in the Mando troupe wanted a picture or video, which I had to take. All in all, there were about 4 or 5 cameras I had to use. Sometimes at the same time!&lt;br /&gt;&lt;/p&gt;&lt;p&gt;There were 10 contestants, with varying degrees of singing talent. Actually, I didn't think any of them were that bad. Anyway, some pictures...&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_DsqLGRlfkTU/SKUNYpBulcI/AAAAAAAAAA8/Cv57UXg6tKs/s1600-h/Link+to+IMG_7594.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_DsqLGRlfkTU/SKUNYpBulcI/AAAAAAAAAA8/Cv57UXg6tKs/s400/Link+to+IMG_7594.JPG" alt="" id="BLOGGER_PHOTO_ID_5234604858869192130" border="0" /&gt;&lt;/a&gt;&lt;p style="text-align: center;"&gt;The ones who didn't win...&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_DsqLGRlfkTU/SKUO8sL1yZI/AAAAAAAAABE/RZrwgVWJZ-Q/s1600-h/IMG_7656.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_DsqLGRlfkTU/SKUO8sL1yZI/AAAAAAAAABE/RZrwgVWJZ-Q/s400/IMG_7656.JPG" alt="" id="BLOGGER_PHOTO_ID_5234606577703831954" border="0" /&gt;&lt;/a&gt;&lt;p style="text-align: center;"&gt;Third Place&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DsqLGRlfkTU/SKUPmLvtUpI/AAAAAAAAABU/IwpawAHSlb8/s1600-h/IMG_7645.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_DsqLGRlfkTU/SKUPmLvtUpI/AAAAAAAAABU/IwpawAHSlb8/s400/IMG_7645.JPG" alt="" id="BLOGGER_PHOTO_ID_5234607290550407826" border="0" /&gt;&lt;/a&gt;&lt;p style="text-align: center;"&gt;Second Place&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_DsqLGRlfkTU/SKUO81_PvYI/AAAAAAAAABM/1IntLJCoWFY/s1600-h/IMG_7636.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_DsqLGRlfkTU/SKUO81_PvYI/AAAAAAAAABM/1IntLJCoWFY/s400/IMG_7636.JPG" alt="" id="BLOGGER_PHOTO_ID_5234606580335361410" border="0" /&gt;&lt;/a&gt;&lt;p style="text-align: center;"&gt;First Place&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-239467056235605632?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/239467056235605632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=239467056235605632' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/239467056235605632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/239467056235605632'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2008/08/goan-idol.html' title='Goan Idol'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_DsqLGRlfkTU/SKUNYpBulcI/AAAAAAAAAA8/Cv57UXg6tKs/s72-c/Link+to+IMG_7594.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-2077199911293652051</id><published>2008-07-30T00:29:00.003-04:00</published><updated>2008-07-31T01:25:27.353-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Goa'/><title type='text'>International Goan Convention</title><content type='html'>&lt;p&gt;So last week was the 2008 International Goan Convention. There were a bunch of workshops and stuff during the day which I did not attend because I had work. Now even though it was last week, it's really ending for us tomorrow (or, later today, anyway). That's because the Mando group was staying at our house.&lt;/p&gt;&lt;p&gt;Now, I wouldn't say the preparation for this event was spectacular. The coordinators &lt;span style="font-style: italic;"&gt;thought&lt;/span&gt; the Mando troupe was arriving Monday, when in fact they arrived on Sunday night. As if that wasn't a shock, they didn't really have anywhere set up for them to stay. And because we're such nice people, that's how we ended up with &lt;span style="font-style: italic;"&gt;6&lt;/span&gt; people staying over, not to mention the 5 others at my grandparent's house across the street. There were 3 more not with us, but since they needed to practice, they came over quite a bit, too.&lt;/p&gt;&lt;p&gt;Anyway, last week was quite a busy thing. First there was the Goan Idol on Thursday, where I had to video tape and take pictures at the same time. Then the Tiatr on Friday, which was amazingly long. And finally the Grand Ball on Saturday. No pictures to put up yet, but I've got tons from everyone's camera. More on that in another post...&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-2077199911293652051?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/2077199911293652051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=2077199911293652051' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/2077199911293652051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/2077199911293652051'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2008/07/international-goan-convention.html' title='International Goan Convention'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-917384359661548031</id><published>2008-07-21T02:48:00.005-04:00</published><updated>2008-07-22T00:54:02.438-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PEY'/><title type='text'>Vacation</title><content type='html'>&lt;p&gt;So how did this happen?&lt;/p&gt;&lt;p&gt;Somehow not only does my team lead (who gives me work and I ask questions) have vacation next week, but so do my mom and dad. I, on the other hand, technically have no vacation since I'm on contract.&lt;/p&gt;&lt;p&gt;Well, at least my sister doesn't have vacation. ;)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-917384359661548031?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/917384359661548031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=917384359661548031' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/917384359661548031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/917384359661548031'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2008/07/vacation.html' title='Vacation'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-4361784460350807071</id><published>2008-07-14T03:03:00.003-04:00</published><updated>2008-07-14T23:54:18.829-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pidgin'/><title type='text'>MSNP15 in Pidgin</title><content type='html'>&lt;p&gt;So, look at that, MSNP15 is now in &lt;a href="http://pidgin.im/"&gt;Pidgin&lt;/a&gt;'s main branch. Well actually, it was committed over 23 hours ago. But &lt;a href="http://theflamingbanker.blogspot.com/2008/07/state-of-msn-plugin-address.html"&gt;unlike John&lt;/a&gt;, I wasn't going to say it was done until the &lt;a href="http://developer.pidgin.im/viewmtn/branch/changes/im.pidgin.gobjectification"&gt;GObjectification&lt;/a&gt; branch had the update as well.&lt;/p&gt;&lt;p&gt;While it would be great to take credit for the whole thing (but I wouldn't, because I'm not that sort of person), there have in fact been &lt;span style="font-style: italic;"&gt;several&lt;/span&gt; contributors. Let's take a look at that now, shall we, with these graphs from &lt;a href="http://grahame.angrygoats.net/moinmoin/ViewMTN"&gt;ViewMTN&lt;/a&gt;. Yes, I realize they're kind of small, but full size would make this really long and you can always click on them.&lt;br /&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_DsqLGRlfkTU/SHrqAzF11SI/AAAAAAAAAAc/EBBNYSJoEB8/s1600-h/im.pidgin.soc.2006.msnp13.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_DsqLGRlfkTU/SHrqAzF11SI/AAAAAAAAAAc/EBBNYSJoEB8/s320/im.pidgin.soc.2006.msnp13.png" alt="" id="BLOGGER_PHOTO_ID_5222744017325118754" border="0" /&gt;&lt;/a&gt;&lt;p&gt;MSNP13 started way back when on the &lt;span style="font-family:monospace;"&gt;im.pidgin.soc.2006.msnp13&lt;/span&gt; branch (though it wasn't actually on MTN). This was done by Ma Yuan for &lt;a href="http://code.google.com/soc/2006/"&gt;GSoC&lt;/a&gt; in 2006. Several new and interesting features were implemented then. Receiving OIM's was one of the first new features. Adding contacts from the Yahoo! network was soon added, as well. One of the most requested features, personal status messages, was added not long after. There were also various changes made under the hood to support the new protocol, such as SOAP processing code. Unfortunately, some of that code was in need of cleanup, and in fact some parts went against the original MSN protocol plugin's design. In the end, this code was not yet ready to be merged.&lt;br /&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_DsqLGRlfkTU/SHr027iHHGI/AAAAAAAAAAk/d_C6GxRmPsk/s1600-h/im.pidgin.cpw.khc.msnp14.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp2.blogger.com/_DsqLGRlfkTU/SHr027iHHGI/AAAAAAAAAAk/d_C6GxRmPsk/s320/im.pidgin.cpw.khc.msnp14.png" alt="" id="BLOGGER_PHOTO_ID_5222755942420388962" border="0" /&gt;&lt;/a&gt;&lt;p&gt;I don't think much happened after that until the next year. &lt;a href="http://coderich.net/"&gt;Richard&lt;/a&gt; and &lt;a href="http://www.hxbc.us/"&gt;Ka-Hing&lt;/a&gt; did some work in &lt;a href="http://developer.pidgin.im/ticket/148"&gt;ticket #148&lt;/a&gt; to get things up to standard. This work resulted in the new &lt;span style="font-family:monospace;"&gt;im.pidgin.cpw.khc.msnp14&lt;/span&gt; branch. As you can tell from that graph there, it involved quite a bit of branching off to get things cleaned up. For a month or two, this branch only really had updates from trunk applied to it. There were some minor updates made to fix bugs. Around May, &lt;a href="http://www.nosnilmot.com/"&gt;Stu&lt;/a&gt; began making several changes. These fixed a variety of bugs, and closed several tickets. Partial updates were found to be buggy, so the full contact list would be used for the time being.&lt;/p&gt;&lt;p&gt;Again, this branch sat with no commits except for propagating from trunk. There was then yet another MSN &lt;a href="http://code.google.com/soc/2007/"&gt;GSoC project for 2007&lt;/a&gt;. This time the project was written by Carlos Silva. Besides cleaning up the code, there were several other goals such as direct file transfers, transfer of winks and voice clips, and the like. There were several fixes made in this time that took care of quite a few major bugs and tickets. In this case, the MSNP14 branch &lt;span style="font-style: italic;"&gt;was&lt;/span&gt; propagated to trunk in mid-September, but it did not compile by default. In this regard, it looks like the major objective was complete, but the next biggest objective was not. Even this merged code did not make it into the next few releases, because they were branched from trunk earlier for some other reasons. In the background, Ka-Hing had started work in &lt;span style="font-family:monospace;"&gt;im.pidgin.cpw.khc.msnp14.soap&lt;/span&gt; which involved much cleanup to the SOAP code. This was merged at around November.&lt;/p&gt;&lt;p&gt;Some time around this point, I started hacking minor things in Pidgin. Using &lt;a href="http://msnpiki.msnfanatic.com/index.php/MSNP15:SSO"&gt;whatever documentation&lt;/a&gt; I could get out of msnpiki, I &lt;a href="http://developer.pidgin.im/ticket/4382"&gt;updated libpurple&lt;/a&gt; to be able to login with SSO on MSNP15. This involved a couple other &lt;a href="http://developer.pidgin.im/ticket/4380"&gt;cipher&lt;/a&gt; &lt;a href="http://developer.pidgin.im/ticket/4381"&gt;changes&lt;/a&gt; as well. While that was all fine and dandy, it did nothing about the various other problems in the code. Around December, &lt;a href="http://www.pidgin.im/%7Eseanegan/blog/"&gt;Sean&lt;/a&gt; noticed these things, and I was promoted to a "Crazy Patch Writer". While &lt;a href="http://www.guifications.org/trac/wiki/grim"&gt;Gary&lt;/a&gt; took care of committing the cipher stuff, Ka-Hing and I worked with my code, cleaning up some things that weren't ready yet. Soon after, we got some help from Masca and Maiku reporting bugs and making fixes.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_DsqLGRlfkTU/SHr2RkjQznI/AAAAAAAAAAs/YIeas3uxHrQ/s1600-h/im.pidgin.cpw.qulogic.msn.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_DsqLGRlfkTU/SHr2RkjQznI/AAAAAAAAAAs/YIeas3uxHrQ/s320/im.pidgin.cpw.qulogic.msn.png" alt="" id="BLOGGER_PHOTO_ID_5222757499619298930" border="0" /&gt;&lt;/a&gt;&lt;p&gt;At the beginning of June this year, Richard gave me push access, and I started my own branch at &lt;span style="font-family:monospace;"&gt;im.pidgin.cpw.qulogic.msn&lt;/span&gt;. This had all the MSNP15 changes, of course, as well as anything new I came across and decided to work on. One of the biggest bugs was renewing ticket tokens for all the SOAP operations. It turns out no-one had figured that out before, so I had to reverse-engineer it myself. &lt;a href="http://code.google.com/p/ospy"&gt;oSpy&lt;/a&gt; was a great help in achieving this. Dimmuxx, an &lt;a href="http://www.adiumx.com/"&gt;Adium&lt;/a&gt; user, also started some &lt;a href="http://forums.cocoaforge.com/viewtopic.php?f=10&amp;amp;t=17585"&gt;unofficial Adium builds&lt;/a&gt; with code from my branch. This turned out to be a great help in testing out the code. Not only did Dimmuxx test out token updating by staying connected for 24+ hours, the Adium users helped unearth quite a few bugs. If it weren't for them, I'm sure I wouldn't have found all of them. Lately, I've been doing a lot of cleanup. The debug messages in the MSN plugin were all prefixed with various names, from plain old "msn", to stuff like "MSN-OIM", "msn_switchboard", to just "msg". There was also a lot of dead code due to the MSN servers dropping commands along the way from MSNP9 to MSNP15. Anyway, here's the final merge (the middle hexagon), along with a propagate to the GObjectification branch to the right.&lt;br /&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_DsqLGRlfkTU/SHr6v6JQZyI/AAAAAAAAAA0/l91DScxq7ss/s1600-h/merge.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_DsqLGRlfkTU/SHr6v6JQZyI/AAAAAAAAAA0/l91DScxq7ss/s400/merge.png" alt="" id="BLOGGER_PHOTO_ID_5222762418858387234" border="0" /&gt;&lt;/a&gt;&lt;p&gt;So, with what does that leave us? Well, Pidgin now supports MSNP15, ahead of most other MSN clients of which I know. Assuming there are no critical problems, this code should be in 2.5.0. Of course, there are still some other items that need to be done. Fast file transfers using direct connections (&lt;a href="http://developer.pidgin.im/ticket/247"&gt;#247&lt;/a&gt;) do not work yet, though they are in &lt;a href="http://code.google.com/p/msn-pecan/"&gt;msn-pecan&lt;/a&gt; by Felipe. Winks, sound clips, ink, and all those other items (&lt;a href="http://developer.pidgin.im/ticket/393"&gt;#393&lt;/a&gt;) are not yet ready. There doesn't even exist code for things like shared folders, though I am not aware of a client that does support that fully, anyway. Nevertheless, I can't wait for 2.5.0 to be released!&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-4361784460350807071?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/4361784460350807071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=4361784460350807071' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/4361784460350807071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/4361784460350807071'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2008/07/msnp15-in-pidgin.html' title='MSNP15 in Pidgin'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_DsqLGRlfkTU/SHrqAzF11SI/AAAAAAAAAAc/EBBNYSJoEB8/s72-c/im.pidgin.soc.2006.msnp13.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-7379069549747887765</id><published>2008-07-09T20:45:00.005-04:00</published><updated>2008-07-11T01:09:06.603-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PEY'/><title type='text'>My messy cubicle</title><content type='html'>&lt;p&gt;Well, it's not really that messy, but it sure is full of stuff...&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_DsqLGRlfkTU/SHVe4XhFECI/AAAAAAAAAAU/reAQRtWqgj8/s1600-h/IMG_7280.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_DsqLGRlfkTU/SHVe4XhFECI/AAAAAAAAAAU/reAQRtWqgj8/s400/IMG_7280.JPG" alt="" id="BLOGGER_PHOTO_ID_5221183665484402722" border="0" /&gt;&lt;/a&gt;&lt;p&gt;Let's see what we have here...&lt;/p&gt;&lt;p&gt;On the left is my Linux computer. I was using the monitor on top of it for that, but I got tired of the CRT-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;ness&lt;/span&gt;, so I got that next 17" LCD over for it.&lt;/p&gt;&lt;p&gt;The oscilloscope is for testing output from my test board, which if you ask me, looks &lt;span style="font-style: italic;"&gt;nothing&lt;/span&gt; like a square wave, but apparently is quite alright for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;DTV&lt;/span&gt;. The test board is right above it, though you can't see it too clearly. I can't give away all &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;AMD's&lt;/span&gt; secrets, now can I? ;) That pole there has a TV feed with some random stuff for testing. And &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;CityTV&lt;/span&gt;, if I really feel bored.&lt;/p&gt;&lt;p&gt;The darker screen behind the keyboard is the Windows laptop. It's kinda old, and I don't like &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;trackpads&lt;/span&gt;, so I use &lt;a href="http://synergy2.sourceforge.net/"&gt;Synergy&lt;/a&gt; to control it from the Linux machine. Darn old keyboard and mouse, but they're way better than working on a laptop. The larger CRT at the right is a second display for the laptop. At least it does 85Hz, so it's not so tiring as the other one.&lt;/p&gt;&lt;p&gt;At the top are testing displays. The Dell on the right doesn't have a power supply, so I don't use it yet, but I probably will for some dual-output tests. The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Samsung's&lt;/span&gt; a lovely 24" &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;widescreen&lt;/span&gt; which I'm using to test board output. Evidently, things aren't working, as that garbled mess you see should look something like the image conveniently hiding everything on the three other displays (That's right, no secret information for you!).&lt;/p&gt;&lt;p&gt;Finally, off camera to the right, there's another test board taking up the rest of my desk. I have just enough room to fit my &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;AMD&lt;/span&gt; coffee mug (filled with water, of course) and Engineering notebook. On the floor, there's also a 40" Sony I get to play with as well (You'll just have to believe me). I seriously ran out of plugs to connect all these things.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-7379069549747887765?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/7379069549747887765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=7379069549747887765' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/7379069549747887765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/7379069549747887765'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2008/07/my-messy-cubicle.html' title='My messy cubicle'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_DsqLGRlfkTU/SHVe4XhFECI/AAAAAAAAAAU/reAQRtWqgj8/s72-c/IMG_7280.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6429058563345441134.post-7516604295592281794</id><published>2008-07-09T00:56:00.000-04:00</published><updated>2008-07-09T01:00:34.866-04:00</updated><title type='text'>Hi!</title><content type='html'>I really don't have anything to say here right now. But I suppose I will eventually...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6429058563345441134-7516604295592281794?l=qulogic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qulogic.blogspot.com/feeds/7516604295592281794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6429058563345441134&amp;postID=7516604295592281794' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/7516604295592281794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6429058563345441134/posts/default/7516604295592281794'/><link rel='alternate' type='text/html' href='http://qulogic.blogspot.com/2008/07/hi.html' title='Hi!'/><author><name>QuLogic</name><uri>http://www.blogger.com/profile/07345373432997090835</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_DsqLGRlfkTU/SLNp8j0sCEI/AAAAAAAAACY/fIMsnFIVce4/S220/IMG_7260.JPG'/></author><thr:total>0</thr:total></entry></feed>
