<?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-2007130787014902660</id><updated>2011-04-21T12:47:06.253-07:00</updated><category term='linux'/><category term='Windows XP'/><category term='Format'/><category term='Drivers'/><category term='Neighbor of the Beast'/><category term='arch linux'/><category term='DRM'/><category term='Mac OS X'/><category term='groups'/><category term='Flash Drive'/><category term='Warning Message'/><category term='MSI'/><category term='linux konsole fonts'/><category term='USB'/><title type='text'>LevineTech</title><subtitle type='html'>Technical knowledge, for when kicking the computer doesn't help.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-4114812010743103315</id><published>2009-03-08T09:54:00.000-07:00</published><updated>2009-03-08T10:30:28.393-07:00</updated><title type='text'>How to buy a printer</title><content type='html'>I saw an &lt;a href="http://www.37signals.com/svn/posts/1612-all-in-one-i-have-no-idea"&gt;interesting post&lt;/a&gt; at 37signals complaining about how hard it is to decide which All-in-one printer to buy.&lt;br /&gt;&lt;br /&gt;The process is actually about as simple as anything in computers, but like most things in technology you need to use filters.&lt;br /&gt;&lt;br /&gt;For example, if you're going to be buying a new printer and you run Linux on your desktop, it's a safe bet to throw a dart on a list of HP All-in-one printers, go to the &lt;a href="http://www.openprinting.org/printer_list.cgi?make=HP"&gt;OpenPrinting database&lt;/a&gt; and see how well the printer is supported.&lt;br /&gt;&lt;br /&gt;In any event, the steps below should help you to find the right printer for you regardless of the OS you run.&lt;br /&gt;&lt;br /&gt;1. Identify what you want to use it for.&lt;br /&gt;&lt;br /&gt;- Will you be scanning many pages at the same time regularly? (you need an automatic sheet feeder)&lt;br /&gt;- Do you care about color quality? (besides looking at color dpi you'll want to search customer reviews for "quality")&lt;br /&gt;- Does speed matter to you? (If you will never print out more than 4 pages at a time and the printer is just for you, likely no).&lt;br /&gt;- Will you be printing out photos on a regular basis? (a photo printer might be a better bet than an All-in-one printer, though my old HP PSC 1610 All-in-one prints photos remarkably well)&lt;br /&gt;&lt;br /&gt;2. Go to &lt;a href="http://www.newegg.com"&gt;newegg.com&lt;/a&gt;. You don't have to buy it from Newegg, but their site tends to make finding what you need much easier than other online stores.&lt;br /&gt;&lt;br /&gt;From there go into Computer Hardware | Printers and Faxes | Select Inject or Laser Printers | Select Advanced Search if you're not already there | Select what kind of printer you want under recommended use (All-in-one in this case). Filter by Best Rating if you aren't already there.&lt;br /&gt;&lt;br /&gt;3. Look at the top 10 recommendations that aren't made by Brother or Lexmark, see which ones meet what you're looking for in terms of quality and speed. You will be left with around 5 in most cases.&lt;br /&gt;&lt;br /&gt;4. See which printers have drivers for your OS. Search for forum and blog posts of people complaining about installing or using the drivers (For example, for an HP F4280 search Google for "&lt;a href="http://www.google.com/search?hl=en&amp;q=HP-F4280+All-in-one+linux+problem"&gt;HP F4280 all-in-one linux problem&lt;/a&gt;". Search the customer reviews on Newegg for the OS you run. Ignore any printer that has poor support for your OS.&lt;br /&gt;&lt;br /&gt;5. Buy the remaining printer that fits your budget.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-4114812010743103315?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/4114812010743103315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=4114812010743103315' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/4114812010743103315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/4114812010743103315'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2009/03/how-to-buy-printer.html' title='How to buy a printer'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-938843075188036870</id><published>2009-02-16T18:41:00.000-08:00</published><updated>2009-02-16T18:53:15.267-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux konsole fonts'/><title type='text'>Great color scheme for Konsole (Tango Console)</title><content type='html'>I'm currently using the color scheme &lt;a href=" http://linux.softpedia.com/get/Desktop-Environment/KDE/Tango-Konsole-32794.shtml"&gt;Tango Console&lt;/a&gt; with Courier New bold 9pt in Konsole on KDE 4. You can see a couple screen shots of how it looks below.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jIcx06cvZ2Q/SZolw0Dw82I/AAAAAAAAAIk/x3pokLbIOpM/s1600-h/konsole2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 261px;" src="http://4.bp.blogspot.com/_jIcx06cvZ2Q/SZolw0Dw82I/AAAAAAAAAIk/x3pokLbIOpM/s320/konsole2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5303593031720563554" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_jIcx06cvZ2Q/SZolw8sSJ4I/AAAAAAAAAIc/-Z__kfnnLoo/s1600-h/konsole1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 262px;" src="http://2.bp.blogspot.com/_jIcx06cvZ2Q/SZolw8sSJ4I/AAAAAAAAAIc/-Z__kfnnLoo/s320/konsole1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5303593034037995394" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-938843075188036870?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/938843075188036870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=938843075188036870' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/938843075188036870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/938843075188036870'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2009/02/great-color-scheme-for-konsole-tango.html' title='Great color scheme for Konsole (Tango Console)'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_jIcx06cvZ2Q/SZolw0Dw82I/AAAAAAAAAIk/x3pokLbIOpM/s72-c/konsole2.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-8830741103415043834</id><published>2009-02-16T18:30:00.000-08:00</published><updated>2009-02-16T18:36:05.468-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arch linux'/><category scheme='http://www.blogger.com/atom/ns#' term='groups'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Groups that your user needs to be a member of in Arch Linux</title><content type='html'>In the weekend that I've been playing with Arch Linux on my laptop I've found that I needed to add my main user account to the groups below:&lt;br /&gt;&lt;pre&gt;[scyon@blackbird ~]$ grep scyon /etc/group | cut -d: -f1&lt;br /&gt;network&lt;br /&gt;audio&lt;br /&gt;optical&lt;br /&gt;storage&lt;br /&gt;power&lt;br /&gt;vboxusers&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-8830741103415043834?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/8830741103415043834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=8830741103415043834' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/8830741103415043834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/8830741103415043834'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2009/02/groups-that-your-user-needs-to-be.html' title='Groups that your user needs to be a member of in Arch Linux'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-3718290734795755103</id><published>2008-11-30T19:58:00.000-08:00</published><updated>2008-11-30T20:04:03.370-08:00</updated><title type='text'>Getting Tor, Privoxy and Torbutton working on Ubuntu</title><content type='html'>This was tested on my laptop running Ubuntu 8.04 (Hardy Heron).&lt;br /&gt;&lt;br /&gt;1. From a terminal run &lt;pre&gt;sudo apt-get install tor privoxy&lt;/pre&gt;&lt;br /&gt;2. Edit /etc/privoxy/config&lt;br /&gt;3. Add the line (including the period at the end): &lt;pre&gt;forward-socks4a / localhost:9050 .&lt;/pre&gt;&lt;br /&gt;4. Comment out the line: &lt;pre&gt;logfile logfile&lt;/pre&gt;&lt;br /&gt;5. Restart Privoxy: &lt;pre&gt;sudo /etc/init.d/privoxy restart&lt;/pre&gt;&lt;br /&gt;6. Install the Firefox &lt;a href="https://addons.mozilla.org/firefox/addon/2275"&gt;torbutton&lt;/a&gt; extension.&lt;br /&gt;&lt;br /&gt;Right clicking the torbutton and selecting Preferences | Proxy Settings | Test settings should work out of the box now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-3718290734795755103?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/3718290734795755103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=3718290734795755103' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/3718290734795755103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/3718290734795755103'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2008/11/getting-tor-privoxy-and-torbutton.html' title='Getting Tor, Privoxy and Torbutton working on Ubuntu'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-293069753688710634</id><published>2008-11-13T19:18:00.000-08:00</published><updated>2008-11-13T19:23:44.971-08:00</updated><title type='text'>The best thing I've read all day</title><content type='html'>&lt;i&gt;Interoperability, transparency, extensibility, and storage or transaction economy: these are the important themes in designing file formats and application protocols. &lt;b&gt;Interoperability and transparency demand that we focus such designs on clean data representations, rather than putting convenience of implementation or highest possible performance first&lt;/b&gt;.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;From &lt;a href="http://www.faqs.org/docs/artu/textualitychapter.html"&gt;The Art of Unix Programming&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-293069753688710634?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/293069753688710634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=293069753688710634' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/293069753688710634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/293069753688710634'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2008/11/best-thing-ive-read-all-day.html' title='The best thing I&apos;ve read all day'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-7458155224453797446</id><published>2008-11-13T07:51:00.001-08:00</published><updated>2008-11-13T07:59:01.700-08:00</updated><title type='text'>Free (as in beer) PDF to Word Conversion</title><content type='html'>Normally I try to avoid talking about my job here (this is my personal blog and nothing on it is attributable to my employer) but I want to make an exception in this case.&lt;br /&gt;&lt;br /&gt;The company I work for (&lt;a href="http://www.soliddocuments.com"&gt;Solid Documents&lt;/a&gt;) just launched a &lt;a href="http://www.freepdftoword.org/"&gt;free PDF to Word&lt;/a&gt; conversion service. &lt;br /&gt;&lt;br /&gt;Usually when I'm at home I have to fire up a VM running Windows (and &lt;a href="http://www.soliddocuments.com/products.htm?product=SolidConverterPDF"&gt;Solid Converter PDF&lt;/a&gt;) to convert a file (I typically convert to RTF as our software doesn't require MS Office for that conversion), but now I don't have to (and neither do you). Nice.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-7458155224453797446?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/7458155224453797446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=7458155224453797446' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/7458155224453797446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/7458155224453797446'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2008/11/free-as-in-beer-pdf-to-word-conversion.html' title='Free (as in beer) PDF to Word Conversion'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-949154745098848368</id><published>2008-11-12T20:10:00.000-08:00</published><updated>2008-11-12T20:14:58.375-08:00</updated><title type='text'>Stupid (but useful) one liner for Visually Monitoring Free Disk Space</title><content type='html'>I'm sure there is a better way of doing this (or a prebuilt tool that does) but I felt like doing some oldschool shell scripting while I update my local Ubuntu mirror for Intrepid Ibex.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;One liner:&lt;/b&gt; &lt;br /&gt;&lt;pre&gt;while true; do clear; date; df -ah; sleep 10; done&lt;/pre&gt;&lt;br /&gt;The output looks like:&lt;br /&gt;&lt;pre&gt;Wed Nov 12 20:10:43 PST 2008&lt;br /&gt;Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;/dev/hda1              72G   49G   20G  71% /&lt;br /&gt;tmpfs                 506M     0  506M   0% /lib/init/rw&lt;br /&gt;proc                     0     0     0   -  /proc&lt;br /&gt;sysfs                    0     0     0   -  /sys&lt;br /&gt;procbususb               0     0     0   -  /proc/bus/usb&lt;br /&gt;udev                   10M   44K   10M   1% /dev&lt;br /&gt;tmpfs                 506M     0  506M   0% /dev/shm&lt;br /&gt;devpts                   0     0     0   -  /dev/pts&lt;br /&gt;/dev/hdb1             459G   59G  377G  14% /var/spool/apt-mirror&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-949154745098848368?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/949154745098848368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=949154745098848368' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/949154745098848368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/949154745098848368'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2008/11/stupid-but-useful-one-liner-for.html' title='Stupid (but useful) one liner for Visually Monitoring Free Disk Space'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-2973436266035582690</id><published>2008-08-25T21:51:00.000-07:00</published><updated>2008-08-25T21:58:55.973-07:00</updated><title type='text'>Ping a range of IP addresses using Python (or whatever else you need to do)</title><content type='html'>&lt;pre&gt;#!/usr/bin/env python&lt;br /&gt;#&lt;br /&gt;# IPRange. Do stuff with IP addresses.&lt;br /&gt;#&lt;br /&gt;# this is code is designed to parse a range of ip addresses and&lt;br /&gt;# do something with them. Example uses are ping, nmap, ssh, etc.&lt;br /&gt;#&lt;br /&gt;# have fun, but don't do illegal things and if it breaks everything&lt;br /&gt;# around you it isn't my fault. Use this only for good, not evil.&lt;br /&gt;#&lt;br /&gt;# contact author(Sam Levine):&lt;br /&gt;# host = darkscyon&lt;br /&gt;# domain = geemail.com (you know, google mail)&lt;br /&gt;# no spam or complaints please. patches are welcome. feedback&lt;br /&gt;# (good or bad) is very welcome.&lt;br /&gt;#&lt;br /&gt;# Be excellent to one another.&lt;br /&gt;&lt;br /&gt;def IPRange(octets, func=""):&lt;br /&gt;    # octets = "192.168.50-55.1-100"&lt;br /&gt;    # func = (some function you've written)&lt;br /&gt;    # objects passed to func are strings&lt;br /&gt;    &lt;br /&gt;    if func == "":&lt;br /&gt;        def func():&lt;br /&gt;            pass&lt;br /&gt;&lt;br /&gt;    octets = (octets.split('.'))&lt;br /&gt;    ranges = []&lt;br /&gt;    loop = 0&lt;br /&gt;    for octet in octets:&lt;br /&gt;        # this is ugly&lt;br /&gt;        # basically the idea is that if the user enters a range of ip&lt;br /&gt;        # addreses delimited by '-' it parses out the first part of the&lt;br /&gt;        # range and the second part.&lt;br /&gt;        # it works, just not pretty or readable&lt;br /&gt;        if octet.find('-') != -1:&lt;br /&gt;            spot = octet.find('-') + 1&lt;br /&gt;            octets[loop] = int(octet[:octet.find('-')])&lt;br /&gt;            ranges.append(int(octet[spot:]) + 1)&lt;br /&gt;        else:&lt;br /&gt;            octets[loop] = int(octet)&lt;br /&gt;            ranges.append(int(octet) + 1)&lt;br /&gt;        loop += 1&lt;br /&gt;    CurrentAddress = ""&lt;br /&gt;    loop = 0&lt;br /&gt;    output = []&lt;br /&gt;    for one in range(octets[0], ranges[0]):&lt;br /&gt;        for two in range(octets[1], ranges[1]):&lt;br /&gt;            for three in range(octets[2], ranges[2]):&lt;br /&gt;                for four in range(octets[3], ranges[3]):&lt;br /&gt;                    for item in (one, two, three, four):&lt;br /&gt;                        CurrentAddress += str \&lt;br /&gt;                            ((one, two, three, four)[loop]) + "."&lt;br /&gt;                        loop += 1&lt;br /&gt;                    CurrentAddress = CurrentAddress[:-1]&lt;br /&gt;                    output.append(func(CurrentAddress))&lt;br /&gt;                    CurrentAddress = ""&lt;br /&gt;                    loop = 0&lt;br /&gt;    # return a list of the output&lt;br /&gt;    return output&lt;br /&gt;&lt;br /&gt;if __name__ == '__main__':&lt;br /&gt;    import os&lt;br /&gt;    # self test code&lt;br /&gt;    def func(x):&lt;br /&gt;        print x&lt;br /&gt;&lt;br /&gt;    test = IPRange("192.168.1-2.10-15", func)&lt;br /&gt;    print "The output should be none", test&lt;br /&gt;&lt;br /&gt;    # example usage&lt;br /&gt;    def pinger(x):&lt;br /&gt;        input, output = os.popen4('ping -c2 ' + x)&lt;br /&gt;        return output&lt;br /&gt;    pinglines = IPRange("192.168.1.1-254", pinger)&lt;br /&gt;    for streams in pinglines:&lt;br /&gt;        for line in streams.readlines():&lt;br /&gt;            print line,&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-2973436266035582690?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/2973436266035582690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=2973436266035582690' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/2973436266035582690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/2973436266035582690'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2008/08/ping-range-of-ip-addresses-using-python.html' title='Ping a range of IP addresses using Python (or whatever else you need to do)'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-2558357711566089747</id><published>2008-08-13T19:53:00.000-07:00</published><updated>2008-08-13T19:58:28.828-07:00</updated><title type='text'>A python script to find and play all the videos on your computer</title><content type='html'>&lt;pre&gt;#!/usr/bin/env python&lt;br /&gt;#&lt;br /&gt;# a silly script I wrote to find and play&lt;br /&gt;# all the movies on my hd.&lt;br /&gt;#&lt;br /&gt;class FileLister:&lt;br /&gt;    def __init__(self, suffixes, directory=None):&lt;br /&gt;        self.suffixes = suffixes&lt;br /&gt;        if directory:&lt;br /&gt;            self.cwd = directory&lt;br /&gt;        else:&lt;br /&gt;            self.cwd = os.getcwd()&lt;br /&gt;    &lt;br /&gt;    def list_files(self):&lt;br /&gt;        list = []&lt;br /&gt;        items = os.listdir(self.cwd)&lt;br /&gt;        for item in items:&lt;br /&gt;            for suffix in self.suffixes:&lt;br /&gt;                if item.endswith(suffix):&lt;br /&gt;                    list.append(item)&lt;br /&gt;        return list&lt;br /&gt;&lt;br /&gt;    def change_dir(self, directory):&lt;br /&gt;        self.cwd = directory&lt;br /&gt;&lt;br /&gt;    def change_filter():&lt;br /&gt;        pass&lt;br /&gt;    &lt;br /&gt;    def walk_dir(self):&lt;br /&gt;        movies = []&lt;br /&gt;        for root, dirs, files in os.walk(self.cwd):&lt;br /&gt;            self.change_dir(root)&lt;br /&gt;            list = self.list_files()&lt;br /&gt;            if list:&lt;br /&gt;                for item in list:&lt;br /&gt;                    movies.append(os.path.join(root, item))&lt;br /&gt;&lt;br /&gt;        return movies&lt;br /&gt;&lt;br /&gt;class MoviePlayer:&lt;br /&gt;    def __init__(self, movie_list, player='vlc'):&lt;br /&gt;        self.player =[player]&lt;br /&gt;        self.mlist = movie_list&lt;br /&gt;&lt;br /&gt;    def play(self):&lt;br /&gt;        command = self.player&lt;br /&gt;        for movie in self.mlist:&lt;br /&gt;            command.append(movie)&lt;br /&gt;        &lt;br /&gt;        subprocess.call(command)&lt;br /&gt;&lt;br /&gt;if __name__ == "__main__":&lt;br /&gt;    import os, subprocess, time&lt;br /&gt;    # replace the magic string below with the location you store your videos&lt;br /&gt;    dir = os.path.expanduser('/media/storage')&lt;br /&gt;    # you may wish to edit the list below to add filetypes you use&lt;br /&gt;    lister = FileLister(['.avi', '.mpg', '.flv', '.mkv'], dir)&lt;br /&gt;    movies = lister.walk_dir()&lt;br /&gt;    movies.sort()&lt;br /&gt;    # mplayer can be substituted with gmplayer or left out to use&lt;br /&gt;    # vlc by default&lt;br /&gt;    playme = MoviePlayer(movies, 'mplayer')&lt;br /&gt;    playme.play()&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-2558357711566089747?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/2558357711566089747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=2558357711566089747' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/2558357711566089747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/2558357711566089747'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2008/08/python-script-to-find-and-play-all.html' title='A python script to find and play all the videos on your computer'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-8492928449580785492</id><published>2008-07-30T20:00:00.000-07:00</published><updated>2008-07-30T20:06:16.446-07:00</updated><title type='text'>My current python "IDE"</title><content type='html'>The script below is one that I'm currently using to quickly setup my python coding environment.&lt;br /&gt;&lt;pre&gt;#!/usr/bin/python&lt;br /&gt;import os&lt;br /&gt;os.popen4('gnome-terminal -e python --working-directory ~/scripts/python -t PYTHON')&lt;br /&gt;os.popen4('gnome-terminal --working-directory ~/scripts/python')&lt;br /&gt;os.popen4('xterm -e "cd scripts/python &amp;&amp; /bin/bash"')&lt;br /&gt;os.popen4('firefox http://docs.python.org/ http://www.pygtk.org/pygtk2tutorial/index.html')&lt;/pre&gt;&lt;br /&gt;You may be asking yourself why I'm opening 3 terminals. I personally like having lots of text in front of me at once so I can focus on reading/thinking and not using the mouse (or the keyboard). &lt;br /&gt;&lt;br /&gt;Xterm is there because it is really really fast. Gnome-terminal is there due to it's superior copy/paste support (I grew up on Windows, sue me).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-8492928449580785492?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/8492928449580785492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=8492928449580785492' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/8492928449580785492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/8492928449580785492'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2008/07/my-current-python-ide.html' title='My current python &quot;IDE&quot;'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-7469687734904287832</id><published>2008-07-12T17:52:00.000-07:00</published><updated>2008-07-12T17:57:41.153-07:00</updated><title type='text'>determining your visible IP address using perl and whatipmyip.com</title><content type='html'>A while back Ashish Shukla put together &lt;br /&gt;&lt;a href="http://wahjava.wordpress.com/2007/05/01/whatismyip-a-perl-hack/"&gt;a great hack&lt;/a&gt; for using perl an whatismyip.com to determine your IP address. My modified version of this is below:&lt;pre&gt;#!/usr/bin/perl -w&lt;br /&gt;#whatismyip.pl - This script uses http://www.whatismyip.com/ service.&lt;br /&gt;&lt;br /&gt;use LWP::Simple;&lt;br /&gt;use strict;&lt;br /&gt;&lt;br /&gt;my $url = "http://www.whatismyip.com/automation/n09230945.asp";&lt;br /&gt;&lt;br /&gt;my $content = get($url);&lt;br /&gt;print "$content\n";&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-7469687734904287832?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/7469687734904287832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=7469687734904287832' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/7469687734904287832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/7469687734904287832'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2008/07/determining-your-visible-ip-address.html' title='determining your visible IP address using perl and whatipmyip.com'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-8008158144095508907</id><published>2008-06-30T21:03:00.000-07:00</published><updated>2008-06-30T21:15:54.460-07:00</updated><title type='text'>fun with nmap</title><content type='html'>I had some fun with nmap today.&lt;br /&gt;&lt;br /&gt;Should you care to see some of the horrible pipe-fitting I did please see the commands below:&lt;pre&gt;nmap -A -vv 192.168.1.1-254 &gt; nmapoutputwithosdetection.txt  &lt;br /&gt;grep "open port" nmapoutputwithosdetection.txt | awk '/[0-9]+\.[0-9]+\.[0-9]\./ {print $6}' | \&lt;br /&gt;sort -u &gt; iplisttoscan.txt&lt;br /&gt;nmap -T sneaky -iL iplisttoscan.txt&lt;/pre&gt;What does this do? nothing productive whatsoever really. I wanted a script to go through and determine the hosts up on my local network, then simulate someone being "sneaky" when using nmap so I could watch the scan using tcpdump (note to self: start using a better sniffer like wireshark).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-8008158144095508907?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/8008158144095508907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=8008158144095508907' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/8008158144095508907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/8008158144095508907'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2008/06/fun-with-nmap.html' title='fun with nmap'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-7606765746505381893</id><published>2008-06-15T20:18:00.000-07:00</published><updated>2008-06-15T20:25:41.602-07:00</updated><title type='text'>my .fluxbox/keys file</title><content type='html'>Although I love gnome and kde, they are are both way too heavy for my EEE PC 4G 700. Speed is extremely important on a device with limited cpu power, more so on a mobile device (hence why putting Vista on a UMPC is insane). My choice for a window manager on my EEE PC is Fluxbox. It is easily configurable (with a little reading) and is very responsive, even on slower hardware.&lt;br /&gt;&lt;br /&gt;Below is the contents of my .fluxbox/keys file, hopefully someone will get something out of seeing it.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;OnDesktop Mouse1 :HideMenus&lt;br /&gt;OnDesktop Mouse2 :WorkspaceMenu&lt;br /&gt;OnDesktop Mouse3 :RootMenu&lt;br /&gt;OnDesktop Mouse4 :NextWorkspace&lt;br /&gt;OnDesktop Mouse5 :PrevWorkspace&lt;br /&gt;# 100 = left 102 = right 61 = / 98 = up 104 = down&lt;br /&gt;Control Mod1 100 :PrevWorkspace&lt;br /&gt;Control Mod1 102 :NextWorkspace&lt;br /&gt;Control Mod1 61 :ToggleDecor&lt;br /&gt;Control Mod1 98 :MaximizeWindow&lt;br /&gt;Control Mod1 104 :Exec gnome-do&lt;br /&gt;Mod1 F1 :Workspace 1&lt;br /&gt;Mod1 F2 :Workspace 2&lt;br /&gt;Mod1 F3 :Workspace 3&lt;br /&gt;Mod1 F4 :Workspace 4&lt;br /&gt;Mod1 F5 :Workspace 5&lt;br /&gt;Mod1 F6 :Workspace 6&lt;br /&gt;Mod1 F7 :Workspace 7&lt;br /&gt;Mod1 F8 :Workspace 8&lt;br /&gt;Mod1 F9 :Workspace 9&lt;br /&gt;Mod1 F10 :Workspace 10&lt;br /&gt;Mod1 F11 :Workspace 11&lt;br /&gt;Mod1 F12 :Workspace 12&lt;br /&gt;Control Mod1 f :Exec firefox&lt;br /&gt;Control Mod1 t :Exec xterm&lt;br /&gt;# turn on bluetooth and connect to my n75&lt;br /&gt;Control Mod1 i :Exec gksu netz&lt;br /&gt;# turn off bluetooth&lt;br /&gt;Control Mod1 n :Exec gksu nonetz&lt;br /&gt;Control Mod1 p :Exec pidgin&lt;br /&gt;Control Mod1 c :Exec gcalctool&lt;br /&gt;Control Mod1 k :Exec conky&lt;br /&gt;Control Mod1 e :Exec FBReader&lt;br /&gt;Control Mod1 0 :Exec gksu /etc/init.d/networking restart&lt;br /&gt;Control Mod1 9 :Exec gksu ifconfig ath0 down&lt;br /&gt;Menu :RootMenu&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-7606765746505381893?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/7606765746505381893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=7606765746505381893' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/7606765746505381893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/7606765746505381893'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2008/06/my-fluxboxkeys-file.html' title='my .fluxbox/keys file'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-897992685920257678</id><published>2008-05-30T07:31:00.000-07:00</published><updated>2008-05-30T07:39:00.999-07:00</updated><title type='text'>Projects I'm currently working on (or will be soon)...</title><content type='html'>1. Creating an &lt;a href="http://ubuntuforums.org/archive/index.php/t-599479.html"&gt;Ubuntu mirror&lt;/a&gt;.&lt;br&gt;&lt;br /&gt;2. Building a &lt;a href="http://www.squid-cache.org/"&gt;Squid Web Cache Server&lt;/a&gt;.&lt;br&gt;&lt;br /&gt;3. Installing &lt;a href="http://openwrt.org/"&gt;OpenWrt&lt;/a&gt; on my Linksys router.&lt;br&gt;&lt;br /&gt;4. Reading O'Reilly books on &lt;a href="http://www.oreilly.com/catalog/9780596002701/"&gt;OpenSSL&lt;/a&gt;, &lt;a href="http://www.oreilly.com/catalog/ldapsa/chapter/"&gt;LDAP Administration&lt;/a&gt; and &lt;a href="http://www.oreilly.com/catalog/9780596004033/"&gt;Kerberos&lt;/a&gt;.&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-897992685920257678?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/897992685920257678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=897992685920257678' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/897992685920257678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/897992685920257678'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2008/05/projects-im-currently-working-on-or.html' title='Projects I&apos;m currently working on (or will be soon)...'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-1447103730494091963</id><published>2008-05-14T20:32:00.000-07:00</published><updated>2008-05-15T19:53:09.786-07:00</updated><title type='text'>Setting up FirePGP on Ubuntu 8.04 (In 5 seconds)</title><content type='html'>Although I found several guides for installing &lt;a href="http://www.gnupg.org/"&gt;GnuPG&lt;/a&gt; and FireGPG (on Ubuntu no less) I didn't find anything that put all the instructions together in one place. &lt;br /&gt;&lt;br /&gt;Below are the steps needed (at least at my end) to set up &lt;a href="http://getfiregpg.org/"&gt;FireGPG&lt;/a&gt; on Ubuntu 8.04. It's really more of an overview (and it takes more than 5 seconds), but it should be helpful in getting you where you need to go.&lt;br /&gt;&lt;br /&gt;If you don't know what FireGPG is, you really don't need to be here. Just know that unencrypted e-mail is like unprotected sex :)&lt;br /&gt;&lt;br /&gt;Please don't do anything crazy; if following these instructions blows up your computer it isn't my fault. :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Setting up FirePGP on Ubuntu 8.04&lt;br /&gt;&lt;br /&gt;1. Open a &lt;a href="http://en.wikipedia.org/wiki/GNOME_Terminal"&gt;terminal&lt;/a&gt; and run:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;sudo apt-get install gnupg gpa&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;2. Run gpa from the terminal. Follow the on screen prompts to create a key. If you cannot do this you should be administering another operating system.&lt;br /&gt;&lt;br /&gt;3. Install FireGPG:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://getfiregpg.org/?page=install&amp;lang=en"&gt;Click here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Click Download | Allow | Install. Restart Firefox.&lt;br /&gt;&lt;br /&gt;4. Restart Firefox when prompted. Go to gmail you should be able to encrypt and decrypt your e-mail.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-1447103730494091963?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/1447103730494091963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=1447103730494091963' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/1447103730494091963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/1447103730494091963'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2008/05/setting-up-firepgp-on-ubuntu-804-in-5.html' title='Setting up FirePGP on Ubuntu 8.04 (In 5 seconds)'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-3219533846722270739</id><published>2008-04-29T20:34:00.000-07:00</published><updated>2008-04-29T20:41:34.047-07:00</updated><title type='text'>Using Perl to Improve Poor Spelling</title><content type='html'>&lt;pre&gt;&lt;br /&gt;#!/usr/bin/perl&lt;br /&gt;# &lt;br /&gt;# written by sam levine (hn darkscyon dn gmail tld com)&lt;br /&gt;# this software comes with no warranty. it may blow up your computer. you have been warned. &lt;br /&gt;# this code is licensed under the GPL.&lt;br /&gt;# this is some random code I was playing with to better grasp regular expressions&lt;br /&gt;# I will improve it at some point (comments, actually working, etc.), for now feel free to &lt;br /&gt;# have fun with it if you are so inclined.&lt;br /&gt;#&lt;br /&gt;#&lt;br /&gt;sub clean {&lt;br /&gt;my $input = $_[0];&lt;br /&gt;print &amp;quot;problem text = $input\n&amp;quot;;&lt;br /&gt;$input =~ s/(.*)/\L\1/;&lt;br /&gt;$input =~ s/(.*)/\u\1/;&lt;br /&gt;$input =~ s/\bliek\b/like/ig;&lt;br /&gt;$input =~ s/\bpwn/defeat/ig;&lt;br /&gt;$input =~ s/\bteh\b/the/ig;&lt;br /&gt;$input =~ s/z(o|0)r\b/ing/ig;&lt;br /&gt;$input =~ s/(!|\?)(!|\?)+/\1/ig;&lt;br /&gt;$input =~ s/kthank?x+/thank you/ig;&lt;br /&gt;$input =~ s/\bwit\b/with/ig;&lt;br /&gt;$input =~ s/\bbiye+/bye/ig;&lt;br /&gt;$input =~ s/\bomg\b/exclamation/ig;&lt;br /&gt;$input =~ s/\breall+y\b/really/ig;&lt;br /&gt;$input =~ s/\bu\b/you/ig;&lt;br /&gt;$input =~ s/\br\b/are/ig;&lt;br /&gt;#print $input;&lt;br /&gt;return $input;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;while (&amp;lt;&amp;gt;) {&lt;br /&gt;$output = &amp;amp;clean($_);&lt;br /&gt;print $output;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-3219533846722270739?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/3219533846722270739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=3219533846722270739' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/3219533846722270739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/3219533846722270739'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2008/04/using-perl-to-improve-poor-spelling.html' title='Using Perl to Improve Poor Spelling'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-1147690174078580101</id><published>2008-04-28T11:33:00.000-07:00</published><updated>2008-04-28T11:38:06.154-07:00</updated><title type='text'>Windows (Vista or XP) is actually fine, it's the lack of good 3rd party apps that kills it for the home user</title><content type='html'>Thanks to lifehacker for putting together such a good list of 3rd party software to use on Windows:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lifehacker.com/384545/superior-alternatives-to-crappy-windows-software"&gt;http://lifehacker.com/384545/superior-alternatives-to-crappy-windows-software&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The reason why I love Ubuntu (and Linux in general) is that you can install most of the equivalent apps with a single command line operation. This alone would keep me using Ubuntu, even if I ended up buying a Macbook Pro.&lt;br /&gt;&lt;br /&gt;Microsoft: Stop making crappy apps and bundle the good stuff with your OS (or make it easy to install them). Small groups of hackers have made great software that they give away for free. Help out your customers and help them get it without having to be nerds.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-1147690174078580101?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/1147690174078580101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=1147690174078580101' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/1147690174078580101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/1147690174078580101'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2008/04/windows-vista-or-xp-is-actually-fine.html' title='Windows (Vista or XP) is actually fine, it&apos;s the lack of good 3rd party apps that kills it for the home user'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-2633956754350131611</id><published>2008-04-27T15:16:00.000-07:00</published><updated>2008-04-27T15:57:35.327-07:00</updated><title type='text'>Perl To Blogger</title><content type='html'>&lt;pre&gt;&lt;br /&gt;#!/usr/bin/perl&lt;br /&gt;# &lt;br /&gt;# perltoblogger&lt;br /&gt;# written by Sam Levine (hn darkscyon dn gmail tld com).&lt;br /&gt;# this may blow up your computer. use it at your own risk.&lt;br /&gt;# this code is licensed under the GPL.&lt;br /&gt;#&lt;br /&gt;# This script is designed to convert perl scripts into code that can&lt;br /&gt;# be posted into&lt;br /&gt;# blogger with a minimum of fuss&lt;br /&gt;# it does not create full html (if it did I would call it&lt;br /&gt;# perltohtml), rather it creates code within&lt;br /&gt;# &amp;lt;pre&amp;gt;&amp;lt;/pre&amp;gt; tags that may be posted as code snippets &lt;br /&gt;# on blogger (or a forum, or a mediawiki wiki, etc.)&lt;br /&gt;#&lt;br /&gt;# Useage: perltoblogger [InputFile] &amp;gt; OutputFile.html&lt;br /&gt;# Example: perltoblogger myperlfile &amp;gt; myhtmlfile.html&lt;br /&gt;#&lt;br /&gt;# thanks to http://www.w3schools.com/tags/ref_entities.asp for the &lt;br /&gt;# list of ASCII entities&lt;br /&gt;# thanks to http://bguide.blogpost.com/2008/03/html-entities.html &lt;br /&gt;# for showing me how to be less of a noob.&lt;br /&gt;# thanks to everyone involed in making perl.&lt;br /&gt;#&lt;br /&gt;print &amp;quot;&amp;lt;pre&amp;gt;\n&amp;quot;;&lt;br /&gt;while (&amp;lt;&amp;gt;) {&lt;br /&gt;s:&amp;amp;:&amp;amp;amp;:g;&lt;br /&gt;s:&amp;lt;:&amp;amp;lt;:g;&lt;br /&gt;s:&amp;gt;:&amp;amp;gt;:g;&lt;br /&gt;s:&amp;apos;:&amp;amp;apos;:g;&lt;br /&gt;s:&amp;quot;:&amp;amp;quot;:g;&lt;br /&gt;&lt;br /&gt;#s:&amp;lt;:&amp;amp;lt;:;&lt;br /&gt;print;&lt;br /&gt;}&lt;br /&gt;print &amp;quot;&amp;lt;/pre&amp;gt;\n&amp;quot;;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-2633956754350131611?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/2633956754350131611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=2633956754350131611' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/2633956754350131611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/2633956754350131611'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2008/04/perl-to-blogger.html' title='Perl To Blogger'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-613884604505916533</id><published>2008-04-23T07:30:00.000-07:00</published><updated>2008-04-27T16:10:56.550-07:00</updated><title type='text'>a study aid for the Linux+ exam: perlreadsome (Man Pages)</title><content type='html'>While I was studying for my Linux+ exam I was unable to &lt;br /&gt;find a utility to cycle through all the administrative &lt;br /&gt;man pages on my computer. I wrote the script below for &lt;br /&gt;this purpose.&lt;br /&gt;&lt;br /&gt;At some point I may put it up on sourceforge (by that &lt;br /&gt;time it might even work on a non-ubuntu linux computer)&lt;br /&gt;, but for now I just wanted it off of my eee pc before &lt;br /&gt;I blow it away and install Ubuntu 8.04 on it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#!/usr/bin/perl&lt;br /&gt;#&lt;br /&gt;# Perl Read Some (Man Pages) version 0.01&lt;br /&gt;#&lt;br /&gt;# this script was written by sam levine (hn darkscyon dn &lt;br /&gt;# gmail tld com).&lt;br /&gt;# it come with NO WARRANTY at all. it is licensed &lt;br /&gt;# under the GPL (Gnu Public License)&lt;br /&gt;# I am a noob programmer. this may make your computer &lt;br /&gt;# explode. YOU HAVE BEEN WARNED.&lt;br /&gt;# &lt;br /&gt;# what this script is designed to do:&lt;br /&gt;# Enable you to study man pages.&lt;br /&gt;#&lt;br /&gt;# while I was studying for my Linux+ test I read man &lt;br /&gt;# pages a lot to prepare.&lt;br /&gt;# doing so was a pain in the arse. I decided to write &lt;br /&gt;# this script for fun,&lt;br /&gt;# and hopefully to help other people prepare for the &lt;br /&gt;# test (this may be helpful for&lt;br /&gt;# the LPIC tests as well.&lt;br /&gt;&lt;br /&gt;# &lt;br /&gt;#@pages = qw[ man ls ping fdisk ifconfig ];&lt;br /&gt;print &amp;quot;create the manlist? (press y then enter)&lt;br /&gt;\n&amp;quot;; # this creates the list of pages to read&lt;br /&gt; chomp($wait = &amp;lt;STDIN&amp;gt;);&lt;br /&gt; if ( $wait eq &amp;apos;y&amp;apos; ) {&lt;br /&gt; open MANLIST, &amp;quot;&amp;gt; manlist.sav&amp;quot;; # &lt;br /&gt;# this overwrites any file named manlist.sav in the &lt;br /&gt;# same folder as the script.&lt;br /&gt; select MANLIST;&lt;br /&gt; print &amp;quot;&amp;quot;; #clear manlist.sav&lt;br /&gt; close MANLIST;&lt;br /&gt; select STDOUT;&lt;br /&gt; print &amp;quot;cleared the manlist.sav file\n&amp;quot;; &lt;br /&gt;# user feedback is important&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; @input = `ls /usr/share/man/man8/`;  # create an &lt;br /&gt;# array with all the admin man pages&lt;br /&gt;      # need to determine the location of this &lt;br /&gt;# and make it portable.&lt;br /&gt;&lt;br /&gt; foreach (@input) {&lt;br /&gt;  s/[\.]+.+$//; &lt;br /&gt;# remove everything after the . in the file name&lt;br /&gt;  open MANLIST, &amp;quot;&amp;gt;&amp;gt; manlist.sav&amp;quot;;&lt;br /&gt;  select MANLIST;&lt;br /&gt;  print; # add the page to the file&lt;br /&gt;  close MANLIST;&lt;br /&gt;  select STDOUT;&lt;br /&gt; }&lt;br /&gt; print &amp;quot;Just made the manlist.sav file. &lt;br /&gt;Press Enter to continue\n&amp;quot;; # I love feedback ;)&lt;br /&gt; chomp($wait = &amp;lt;STDIN&amp;gt;); &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;open MANLIST, &amp;quot;manlist.sav&amp;quot;;&lt;br /&gt;&lt;br /&gt;foreach $item (&amp;lt;MANLIST&amp;gt;) {&lt;br /&gt; push(@pages, $item); # create an array with all &lt;br /&gt;the pages in the manlist.sav file&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;# print &amp;quot;$pages[1]\n&amp;quot;;&lt;br /&gt;# print &amp;quot;$pages[2]\n&amp;quot;;&lt;br /&gt;# print &amp;quot;$pages[ -1 ]\n&amp;quot;;&lt;br /&gt;&lt;br /&gt;#$page = &amp;apos;man&amp;apos;;&lt;br /&gt;foreach $page (@pages) {&lt;br /&gt; #$maning = `man $page`;&lt;br /&gt; system &amp;quot;man $page&amp;quot;; # read the man page&lt;br /&gt; #print $maning;&lt;br /&gt; push(@pages, $page); &lt;br /&gt;# copy the first item to the last item&lt;br /&gt; shift @pages; # remove the first item&lt;br /&gt; print &amp;quot;\nCare to quit? &lt;br /&gt;please press q then enter\n&amp;quot;;&lt;br /&gt; chomp($wait = &amp;lt;STDIN&amp;gt;);&lt;br /&gt; if ( $wait eq &amp;apos;q&amp;apos; ) &lt;br /&gt;   {&lt;br /&gt;   print &amp;quot;saving the manlist\n&amp;quot;;&lt;br /&gt;   open MANLIST, &amp;quot;&amp;gt;manlist.sav&amp;quot;;&lt;br /&gt;   select MANLIST;&lt;br /&gt;   print &amp;quot;&amp;quot;; # clear manlist.sav&lt;br /&gt;   open MANLIST, &amp;quot;&amp;gt;&amp;gt;manlist.sav&amp;quot;;&lt;br /&gt;   select MANLIST;&lt;br /&gt;   # recreate the manlist.sav file with the new organized list of pages&lt;br /&gt;   foreach $page (@pages) {&lt;br /&gt;    print $page;&lt;br /&gt;   }&lt;br /&gt;   close MANLIST;&lt;br /&gt;   select STDOUT;&lt;br /&gt;   last;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-613884604505916533?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/613884604505916533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=613884604505916533' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/613884604505916533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/613884604505916533'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2008/04/study-aid-for-linux-exam-perlreadsome.html' title='a study aid for the Linux+ exam: perlreadsome (Man Pages)'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-6784364126607307855</id><published>2008-04-01T19:06:00.000-07:00</published><updated>2008-04-01T19:26:39.967-07:00</updated><title type='text'>Overclocking my eee pc 701</title><content type='html'>As much as I like using Ubuntu on my eee pc, I find it to be a little on the slow side when compared to the easy mode version of Xandros (their description, not mine) that the laptop ships with.&lt;br /&gt;&lt;br /&gt;Due to this I decided to "overclock" the device back to the speed it was supposed to ship at (900mhz). Doing this will reduce your battery life and can completely destroy your eee pc, even if you do it correctly. Please don't complain if your device gets borked while doing anything mentioned in this post, this is hacky stuff.&lt;br /&gt;&lt;br /&gt;I've had good results with the kernel module written by kiwidrew:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://forum.eeeuser.com/viewtopic.php?id=9797&amp;amp;p=1"&gt;http://forum.eeeuser.com/viewtopic.php?id=9797&amp;amp;p=1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After following the instructions to download install the kernel module in the above link, I put together the script below to overclock the eee:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;sh -c 'echo 85 24 1 &gt; /proc/eee/fsb'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;echo "FSB overclocked to 85MHz"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;sleep 2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;sh -c 'echo 90 24 1 &gt; /proc/eee/fsb'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;echo "FSB overclocked to 90MHz"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;sleep 2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;sh -c 'echo 95 24 1 &gt; /proc/eee/fsb'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;echo "FSB overclocked to 95MHz"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;sleep 2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;sh -c 'echo 100 24 1 &gt; /proc/eee/fsb'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;echo "FSB overclocked to 100MHz"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I named the script oc, made it executable (&lt;span style="font-style: italic;"&gt;chmod +x&lt;/span&gt;) and copied it to /usr/local/bin.&lt;br /&gt;&lt;br /&gt;I can overclock the eee by running &lt;span style="font-style: italic;"&gt;sudo oc&lt;/span&gt;. I've been using it for a good month without any stability problems, so today I decided to make it start automatically.&lt;br /&gt;&lt;br /&gt;To do so I made a link to it using the command below:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;sudo ln -s /usr/local/bin/oc /etc/init.d/oc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I made it start automatically by running the command below:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;sudo sysv-rc-conf --level 2 oc on&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;With any luck you'll have an overclocked eee that will be slightly faster than before. You should check the content of /proc/eee/fsb to make sure it's really running at 100 Mhz (the cpu speed is 9 times this, 900 mhz).&lt;br /&gt;&lt;br /&gt;Thanks to Kiwidrew for writting an awesome kernel module!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-6784364126607307855?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/6784364126607307855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=6784364126607307855' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/6784364126607307855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/6784364126607307855'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2008/04/overclocking-my-eee-pc-701.html' title='Overclocking my eee pc 701'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-7472509099161509191</id><published>2008-03-30T16:33:00.000-07:00</published><updated>2008-03-30T16:34:22.216-07:00</updated><title type='text'>The 10 immutable laws of being pro</title><content type='html'>1. In order to become pro you must read the manual.&lt;br /&gt;2. You must be a noob in order to become pro.&lt;br /&gt;3. Being pro at one thing does not make you pro at all things.&lt;br /&gt;4. Being pro today does not mean that you will be pro tomorrow.&lt;br /&gt;5. Just because someone is pro does not mean that you should listen to them.&lt;br /&gt;6. Just because someone is a noob does not mean that you should ignore them.&lt;br /&gt;7. Knowing your weakness is being pro.&lt;br /&gt;8. Using your strength is being pro.&lt;br /&gt;9. Being lazy is being pro.&lt;br /&gt;10. Working hard is being a noob.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-7472509099161509191?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/7472509099161509191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=7472509099161509191' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/7472509099161509191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/7472509099161509191'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2008/03/10-immutable-laws-of-being-pro.html' title='The 10 immutable laws of being pro'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-3147820536819469329</id><published>2008-02-26T15:54:00.000-08:00</published><updated>2008-02-26T16:05:13.802-08:00</updated><title type='text'>Disable the Show Repairs Message in Word 2007</title><content type='html'>When using Word 2007 to open a damaged Word DOC, you may encounter the popup window below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jIcx06cvZ2Q/R8SnBngnZiI/AAAAAAAAAFU/RDgNQpNxQvE/s1600-h/show+errors.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_jIcx06cvZ2Q/R8SnBngnZiI/AAAAAAAAAFU/RDgNQpNxQvE/s400/show+errors.png" alt="" id="BLOGGER_PHOTO_ID_5171441918355662370" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Although it's nice to know that errors were detected in this file, but Word was able to open the file by making the repairs, this can get tiresome if you have to work with a lot of damaged files.&lt;br /&gt;&lt;br /&gt;Should you want to disable this popup from appearing, you can do so by opening your Registry Editor and performing the steps below.&lt;br /&gt;&lt;br /&gt;Please note that &lt;span style="font-weight: bold;"&gt;editing your registry can prevent your computer from booting&lt;/span&gt;. Follow the steps below at your own risk:&lt;br /&gt;&lt;br /&gt;1. Open the registry editor and browse to:&lt;br /&gt;&lt;br /&gt;HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Options&lt;br /&gt;&lt;br /&gt;2. Create a new DWORD value and name it:&lt;br /&gt;&lt;br /&gt;BulletProofOnCorruption&lt;br /&gt;&lt;br /&gt;3. Set the value to:&lt;br /&gt;&lt;br /&gt;1&lt;br /&gt;&lt;br /&gt;4. Now when you open a corrupt file you should not see the Show Repairs popup window.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;References:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Thanks to &lt;a href="http://support.microsoft.com/kb/903740"&gt;Microsoft&lt;/a&gt; for this tip.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-3147820536819469329?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/3147820536819469329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=3147820536819469329' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/3147820536819469329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/3147820536819469329'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2008/02/disable-show-repairs-message-in-word.html' title='Disable the Show Repairs Message in Word 2007'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_jIcx06cvZ2Q/R8SnBngnZiI/AAAAAAAAAFU/RDgNQpNxQvE/s72-c/show+errors.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-1817073074093385280</id><published>2007-05-18T14:03:00.000-07:00</published><updated>2007-05-18T14:31:54.349-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DRM'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash Drive'/><category scheme='http://www.blogger.com/atom/ns#' term='USB'/><category scheme='http://www.blogger.com/atom/ns#' term='Format'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows XP'/><title type='text'>Format a flash drive on Windows XP for Mac OS X and Windows XP.</title><content type='html'>&lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Today I spoke with a coworker who mentioned the need to be able to read their USB flash drive on both their Apple desktop running OS X, and their other computer running Windows XP.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Below are the instructions I sent them on how to format the drive in Windows XP so that it can be read by both computers:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;1. In Windows  XP, insert your USB drive, then go into Start | Right click on “My Computer” and  click Manage.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_jIcx06cvZ2Q/Rk4VbtiymhI/AAAAAAAAADs/EuNh-q832xQ/s1600-h/SolidCaptureImage263833515.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_jIcx06cvZ2Q/Rk4VbtiymhI/AAAAAAAAADs/EuNh-q832xQ/s400/SolidCaptureImage263833515.png" alt="" id="BLOGGER_PHOTO_ID_5066010196664556050" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=";font-family:Times New Roman;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;2. Go into Computer Management (Local) | Storage | Disk  Management&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jIcx06cvZ2Q/Rk4V2diymiI/AAAAAAAAAD0/GHQwEt8RscY/s1600-h/SolidCaptureImage263990359.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_jIcx06cvZ2Q/Rk4V2diymiI/AAAAAAAAAD0/GHQwEt8RscY/s400/SolidCaptureImage263990359.png" alt="" id="BLOGGER_PHOTO_ID_5066010656226056738" border="0" /&gt;&lt;/a&gt;&lt;/span&gt; &lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;3. Browse to the partition you want to format in the  lower right hand part of the window, right click on it and select  Format.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_jIcx06cvZ2Q/Rk4WMtiymjI/AAAAAAAAAD8/OMQCubzB7y8/s1600-h/SolidCaptureImage264058468.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_jIcx06cvZ2Q/Rk4WMtiymjI/AAAAAAAAAD8/OMQCubzB7y8/s400/SolidCaptureImage264058468.png" alt="" id="BLOGGER_PHOTO_ID_5066011038478146098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Please note that this will &lt;span style="font-weight: bold;"&gt;destroy all of the data&lt;/span&gt; on the partition. Please practice safe computing and back up your data prior to formatting the drive.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;4. Finally,  select FAT 32, name the volume and click OK.&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_jIcx06cvZ2Q/Rk4WitiymkI/AAAAAAAAAEE/7FT3Gvis4rk/s1600-h/SolidCaptureImage264175843.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_jIcx06cvZ2Q/Rk4WitiymkI/AAAAAAAAAEE/7FT3Gvis4rk/s400/SolidCaptureImage264175843.png" alt="" id="BLOGGER_PHOTO_ID_5066011416435268162" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;5. One more friendly reminder that you will be erasing all of the data on the partition:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jIcx06cvZ2Q/Rk4W6diymlI/AAAAAAAAAEM/L1oYca25qco/s1600-h/SolidCaptureImage264269984.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_jIcx06cvZ2Q/Rk4W6diymlI/AAAAAAAAAEM/L1oYca25qco/s400/SolidCaptureImage264269984.png" alt="" id="BLOGGER_PHOTO_ID_5066011824457161298" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Click OK, and your drive will be formatted:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;/span&gt;&lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_jIcx06cvZ2Q/Rk4XTtiymmI/AAAAAAAAAEU/cfO1h32W2Zg/s1600-h/SolidCaptureImage264357671.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_jIcx06cvZ2Q/Rk4XTtiymmI/AAAAAAAAAEU/cfO1h32W2Zg/s400/SolidCaptureImage264357671.png" alt="" id="BLOGGER_PHOTO_ID_5066012258248858210" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Now you can rest easy knowing that your bits can talk freely when placed in your DRM infested computer of choice.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-1817073074093385280?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/1817073074093385280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/1817073074093385280'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2007/05/format-flash-drive-on-windows-xp-for.html' title='Format a flash drive on Windows XP for Mac OS X and Windows XP.'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_jIcx06cvZ2Q/Rk4VbtiymhI/AAAAAAAAADs/EuNh-q832xQ/s72-c/SolidCaptureImage263833515.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2007130787014902660.post-4917634635295581216</id><published>2007-05-09T16:03:00.000-07:00</published><updated>2007-05-09T16:26:53.309-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MSI'/><category scheme='http://www.blogger.com/atom/ns#' term='Neighbor of the Beast'/><category scheme='http://www.blogger.com/atom/ns#' term='Drivers'/><category scheme='http://www.blogger.com/atom/ns#' term='Warning Message'/><title type='text'>Do you want to update version 'NVIDIA nForce4 Driver v666' now?</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: left;"&gt;While updating the motherboard drivers for my computer today, I saw the curious message below:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;o:p&gt;&lt;/o:p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_jIcx06cvZ2Q/RkJUlCYx2TI/AAAAAAAAADc/oPZHqk6LrXg/s1600-h/evil+driver.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_jIcx06cvZ2Q/RkJUlCYx2TI/AAAAAAAAADc/oPZHqk6LrXg/s400/evil+driver.png" alt="" id="BLOGGER_PHOTO_ID_5062701926390552882" border="0" /&gt;&lt;/a&gt;&lt;a href="http://global.msi.com.tw/index.php?func=downloadindex"&gt;(MSI Live Update Online)&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Although this might deter more cautious computer users, I fear neither man nor driver. I installed the drivers, they work well, and I have not noticed any dark omens since updating.&lt;br /&gt;&lt;br /&gt;However, I’d hope that at least one person at MSI would suggest that they should just use the Neighbor of the Beast (667), instead of the Number of the Beast (666). And perhaps add a question mark to the end of the message.&lt;br /&gt;&lt;br /&gt;Just remember, you can always roll back any drivers you install. This helps if your driver begins to act out, or just plain gives you the willies.&lt;br /&gt;&lt;br /&gt;To do this in Windows XP, go into Start | Control Panel | System | Hardware | Device Manager. Select the driver you wish to roll back, right click it and go into Properties | Driver | Roll Back Driver.&lt;br /&gt;&lt;br /&gt;Your previously installed driver will be reinstalled, and hopefully you'll be back in business.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2007130787014902660-4917634635295581216?l=levinetech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://levinetech.blogspot.com/feeds/4917634635295581216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2007130787014902660&amp;postID=4917634635295581216' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/4917634635295581216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2007130787014902660/posts/default/4917634635295581216'/><link rel='alternate' type='text/html' href='http://levinetech.blogspot.com/2007/05/do-you-want-to-update-version-nvidia.html' title='Do you want to update version &apos;NVIDIA nForce4 Driver v666&apos; now?'/><author><name>Sam Levine</name><uri>http://www.blogger.com/profile/02583039994567961409</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_jIcx06cvZ2Q/RkJUlCYx2TI/AAAAAAAAADc/oPZHqk6LrXg/s72-c/evil+driver.png' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
