<?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-6768013380692425809</id><updated>2011-07-08T05:12:12.672-07:00</updated><title type='text'>Coding Life</title><subtitle type='html'>Douglas Berdeaux</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://weaknetlabs.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://weaknetlabs.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Douglas Berdeaux</name><uri>http://www.blogger.com/profile/16926757154611040708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://1.bp.blogspot.com/_cK_KOaC4-gE/SycDBpmlQnI/AAAAAAAAAAs/-L4CpI1b324/S220/meweblog.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6768013380692425809.post-5858694379143970655</id><published>2010-01-10T17:01:00.001-08:00</published><updated>2010-01-10T17:01:39.827-08:00</updated><title type='text'>My Weblog has moved...</title><content type='html'>Back to Hosting it myself: http://trevelyn.com/&lt;br /&gt;&lt;br /&gt;Please refer to that for your RSS of my fantasical posts!!!1 :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6768013380692425809-5858694379143970655?l=weaknetlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weaknetlabs.blogspot.com/feeds/5858694379143970655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weaknetlabs.blogspot.com/2010/01/my-weblog-has-moved.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/5858694379143970655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/5858694379143970655'/><link rel='alternate' type='text/html' href='http://weaknetlabs.blogspot.com/2010/01/my-weblog-has-moved.html' title='My Weblog has moved...'/><author><name>Douglas Berdeaux</name><uri>http://www.blogger.com/profile/16926757154611040708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://1.bp.blogspot.com/_cK_KOaC4-gE/SycDBpmlQnI/AAAAAAAAAAs/-L4CpI1b324/S220/meweblog.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6768013380692425809.post-4995741675362439468</id><published>2010-01-06T08:27:00.000-08:00</published><updated>2010-01-06T08:27:41.362-08:00</updated><title type='text'>Regular Expressions, expanding Taming the Electron Ep 1 blurb.</title><content type='html'>What a good topic for a post eh?  I spoke about Regular Expressions (RE) in my first episode of Taming The Electron and felt it was only fair to write a full intro for newbies to the subject.  I have been reading "Mastering Regular Expressions" off and on for a good while now, but recently have been reading it with more focus on the material.  This is probably due to my Kindle DX purchase, which you can read or watch about in a previous post &lt;a href="http://weaknetlabs.blogspot.com/2009/12/up-and-running.html"&gt;Here&lt;/a&gt;.  Regular Expressions are amazing.  They are "magic."  They can make matches with EXTREME precision.  &lt;br /&gt;&lt;br /&gt;Now, most people, including most of my friends, think that languages that do operations on text are lame.  Well, OS's that are UNIX based, revolve around text.  Operations on said files are what customize your OS.  Customization is key to creating synergy between you and your OS.  It makes you want to come back or entices you.&lt;br /&gt;&lt;br /&gt;Most file in Unix based OS's that I deal with are in /usr/share or /etc or sometimes "live" files, like those in /proc.  /proc has a lot of files that are dynamic and is called a "virtual file-system."  They change constantly to with the changes of your overall system.  If you wanted to write a cool application that checks your memory or cpu, you can use the files in /proc (/proc/meminfo, /proc/cpuinfo) to do that.  You can even use them for error messages, bus messages, and more.  In fact, many applications used in the administration of Unix based OS's, such as ps, dmesg, top, and more utilize "live" files in /proc.  Here is a great article for anyone new to /proc: &lt;a href="http://www.comptechdoc.org/os/linux/howlinuxworks/linux_hlproc.html"&gt;/proc&lt;/a&gt;&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;When you open a file and read it in an application, you will most likely want to search for useful information.  Sometimes you are simply handed raw data that you need to "parse" (or change in some way) to turn the data into information.  The best way to search is line by line.  The best way to match is character by character (like grep, or egrep).  egrep is a powerful matching tool that allows you to create extremely complicated yet powerful matching expressions.&lt;br /&gt;&lt;br /&gt;The word expression, in Regular Expressions has the same meaning that it does in plain Algebra.  Regular Expression syntax was actually developed back in the 1950's by Stephen Kleene as formal language theory, and automata theory (theoretical machines and problem solving).  These are both basic sub-sets of computer science and theoretical computer science.  the syntax can act like algebra in some ways, and even many languages that deal with "lame" text have their own regular expression syntax built right into them.  RE should be a ANSI standard, but I hear a lot about how Perl 5 vs. Perl 6, and python, and Ruby all have slight differences in their Regular Expression syntax.&lt;br /&gt;&lt;br /&gt;Okay, so that's what they are good for and a bit about their history.  Now, let's try some matching patterns, meta characters, and meta-sequences.  Think about characters and put them into classes.  Class alpha will be your alphabet A-Z and lowercase a-z.  You can specify a "range" in Regular Expressions with the square brackets "[]"  say we have a text file that has a few lines with numbers and a few lines with digits, or phone numbers like so:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;abcdefg&lt;br /&gt;abc&lt;br /&gt;12345&lt;br /&gt;ghostbusters&lt;br /&gt;007&lt;br /&gt;31337&lt;br /&gt;drums&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now, say we cat the file (show it's contents) and we only want to get (filter) the lines that have letters only.  We can use egrep or grep like so:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;cat filename.txt | egrep '[A-Za-z]'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;And this will display the lines:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;abcdefg&lt;br /&gt;abc&lt;br /&gt;ghostbusters&lt;br /&gt;drums&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now, we can change the class to Numeric (numbers) and do [0-9].&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;cat filename.txt | egrep '[0-9]'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This will print the lines that have numbers in them only (we filter OUT the alpha class).  This is a very basic example.  We can further filter our output by using "anchors."  Anchors will display what we are looking for ONLY if it is at the beginning of a line or the end of the line with the meta-characters (special word for operators (usually not of alpha or numeric classes)) "caret," or "^" and "Dollars" or "$" respectively.&lt;br /&gt;&lt;br /&gt;so say we add:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;cat filename.txt | grep '^[0-9]' &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This will display all lines with numbers only that start with numbers.  If we switch the "^" with a "$" and put it after the [0-9] range like '[0-9]$'  This will match all lines that END with numbers and contain ONLY numbers.  What if we put the meta-character "^" into the square brackets before our range?  Well, usually meta-characters lose their meta when put into those brackets.  for example the period "." which usually means "any one character" becomes a simple period.  The "^" means that it negates the range.  So '[^0-9]' means match any character that is NOT in our numeric class.  Here's a cool tip: the range meta-character "-" only is a meta-character INSIDE of the square brackets.  Yep, that means outside it's just a plain old "-" character.  &lt;br /&gt;&lt;br /&gt;There are parenthesis in the language, just like Algebra, that group together "expressions."  For instance, here is an example from "Mastering Regular Expressions - O'Reilly" that searches for all instances of July 4th.  The question mark meta-character searches for "one or more instance of the following character or group, so:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;'(July?) (Four|4)(th)?'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Will find ALL values like:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;July 4th&lt;br /&gt;Jul Fourth&lt;br /&gt;Jul 4&lt;br /&gt;July 4&lt;br /&gt;July Fourth&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Their example in the book was:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;'July? (Fourth|4(th)?)'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;which seems to have over-looked the "th" string at the end of "fourth."  Yeah, you get picky like that, and once you get into the swing of computer languages and Regular Expressions, you start to look for the most efficient way to code.&lt;br /&gt;&lt;br /&gt;These small examples can help you get into the flow I'm sure, or at least pique your interest in Regular Expressions.  Just like any language, Regular Expressions will open up a lot of doors for you as a developer or system administrator.  They too can help you with problem solving.  Sometimes you can perform large, usually complicated tasks with them and sometimes small tasks would be large tasks without them.  Mastering Regular Expressions is a good book.  It also covers a few Awk, Sed, and Grep topics as well and brings everything together in one cool place; a bunch of papers wrapped in heavier paper. :)&lt;br /&gt;&lt;br /&gt;I, without a doubt, realize that my code isn't always efficient and that sometimes I do things in non-efficient ways.  Perl's motto is TIMTOWTDI "There's more than one way to do it."  The Perl community accepts newbie code and more importantly, the interpreter Perl accepts newbie code.  It's a good language to start programming with and I am still a beginner programmer.  If you find anything wrong with what I have stated above, simply let me know and I will fix it.  I am forever a student of Awk, Sed, Grep, Vi and Regular Expressions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6768013380692425809-4995741675362439468?l=weaknetlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weaknetlabs.blogspot.com/feeds/4995741675362439468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weaknetlabs.blogspot.com/2010/01/regular-expressions-expanding-taming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/4995741675362439468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/4995741675362439468'/><link rel='alternate' type='text/html' href='http://weaknetlabs.blogspot.com/2010/01/regular-expressions-expanding-taming.html' title='Regular Expressions, expanding Taming the Electron Ep 1 blurb.'/><author><name>Douglas Berdeaux</name><uri>http://www.blogger.com/profile/16926757154611040708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://1.bp.blogspot.com/_cK_KOaC4-gE/SycDBpmlQnI/AAAAAAAAAAs/-L4CpI1b324/S220/meweblog.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6768013380692425809.post-2809825902018272259</id><published>2010-01-01T16:46:00.000-08:00</published><updated>2010-01-01T16:56:40.830-08:00</updated><title type='text'>Bashing DOS</title><content type='html'>I hate DOS.  I don't like how I have to switch back and forth between things from Linux's Bash to Windows' DOS.  Usually what I end up doing is this:&lt;br /&gt;&lt;br /&gt;1. Create a file in C:\WINIDOWS called "ls.bat" in that file put one word "DIR"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;now, when you accidentally type "ls" instead of "dir" you get the same ouput :)&lt;br /&gt;2. Download GNU nano.  Yeah cos that "thing" you get when you type "edit"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;is just ugly, and awful.  Get the zip file and put all DLL's and EXE's into the same &amp;nbsp;&amp;nbsp;&amp;nbsp;directory you put the ls.bat: C:\WINDOWS  (this works even with Windows 7)&lt;br /&gt;3. Install Strawberry Perl and Ruby.  Yeah, the windows versions are weird, but they do &amp;nbsp;&amp;nbsp;&amp;nbsp;exist!&lt;br /&gt;4. Get the Win32 version of WGET, put the EXE file into C:\WINDOWS&lt;br /&gt;5. Get the Win32 Versoin of NMAP, put the files form the zip into the C:\WINDOWS directory.&lt;br /&gt;&lt;br /&gt;As you may have figured out, C:\WINDOWS is in your environment's $PATH.  So any command typed, sends that to DOS which searches your $PATH then executes any file or executable with the commands name.  (quite easy eh?)  &lt;br /&gt;&lt;br /&gt;You can now make any ".bat" file you want and put whatever you want into it and then stuff it into your C:\WINDOWS directory!  You can do things that even take arguments, so say you wanted something to repeat your arguments, well, they are like this: "%1, %2, ... %n"&lt;br /&gt;&lt;br /&gt;echo "You gave me the argument %1!"&lt;br /&gt;&lt;br /&gt;Now, don't go and get lazy or forget the real commands [application names e.g. "DIR", "EDIT", etc] for DOS in case you are sitting at a Windows machine that has a non-Bashed DOS environment! ;)&lt;br /&gt;&lt;br /&gt;Resources:&lt;br /&gt;Win32 NMAP - http://users.ugent.be/~bpuype/wget/&lt;br /&gt;Win32 WGET - http://nmap.org/book/inst-windows.html&lt;br /&gt;GNU Win32 Nano - http://www.nano-editor.org/&lt;br /&gt;StrawBerry Perl - http://strawberryperl.com/&lt;br /&gt;Ruby for Win32 - http://www.ruby-lang.org/en/downloads/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6768013380692425809-2809825902018272259?l=weaknetlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weaknetlabs.blogspot.com/feeds/2809825902018272259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weaknetlabs.blogspot.com/2010/01/bashing-dos.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/2809825902018272259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/2809825902018272259'/><link rel='alternate' type='text/html' href='http://weaknetlabs.blogspot.com/2010/01/bashing-dos.html' title='Bashing DOS'/><author><name>Douglas Berdeaux</name><uri>http://www.blogger.com/profile/16926757154611040708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://1.bp.blogspot.com/_cK_KOaC4-gE/SycDBpmlQnI/AAAAAAAAAAs/-L4CpI1b324/S220/meweblog.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6768013380692425809.post-8199063760859892727</id><published>2009-12-31T11:57:00.000-08:00</published><updated>2009-12-31T11:57:55.521-08:00</updated><title type='text'>Taming The Electron</title><content type='html'>I will be hosting a show on CactiRadio at &lt;b&gt;7PM EST each Sunday night&lt;/b&gt; for WeakNet Labs called "&lt;b&gt;Taming the Electron&lt;/b&gt;."  It will primarily be about programming, hacking, and phreaking.  I will try to get a few interviews in, and play a lot of electronic music.  If you have any suggestions about future shows, please feel free to Email me - &lt;i&gt;Douglas [at] WeakNetLabs [dot] com &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;If you'd like to listen in, here is the URL for &lt;a href='http://cactiradio.com'&gt;CactiRadio&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's a great station that plays &lt;i&gt;The Phone Show&lt;/i&gt;, &lt;i&gt;PLA Radio&lt;/i&gt; episodes, and often plays my music!  I will host the episodes as well, at http://weaknetlabs.com/tamingtheelectron&lt;br /&gt;&lt;br /&gt;This weeks Episode will be themed "Inspiring people to start programming"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6768013380692425809-8199063760859892727?l=weaknetlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weaknetlabs.blogspot.com/feeds/8199063760859892727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weaknetlabs.blogspot.com/2009/12/taming-electron.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/8199063760859892727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/8199063760859892727'/><link rel='alternate' type='text/html' href='http://weaknetlabs.blogspot.com/2009/12/taming-electron.html' title='Taming The Electron'/><author><name>Douglas Berdeaux</name><uri>http://www.blogger.com/profile/16926757154611040708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://1.bp.blogspot.com/_cK_KOaC4-gE/SycDBpmlQnI/AAAAAAAAAAs/-L4CpI1b324/S220/meweblog.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6768013380692425809.post-8690387228861251778</id><published>2009-12-31T11:43:00.000-08:00</published><updated>2009-12-31T13:21:18.450-08:00</updated><title type='text'>Perl Nano (pnano)</title><content type='html'>I was messing around with some lurking [extremely quiet] geniuses on IRC and said "How can I assign a whole bunch of keystrokes to one keystroke?  So maybe I could hit Windows [super key] and it would print out "#!/usr/bin/perl -w" for me, so I don;t have to type it each time."&lt;br /&gt;Well, I got no answer, as usual.  So then I just thought up my own way, I could edit the way I call nano.&lt;br /&gt;In my real life example, I used an "alias" in my ~/.bashrc file since I didn't have root access to the box I was using.  But I will show you two ways here:&lt;br /&gt;&lt;br /&gt;1. create a file "pnano" and in it type:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;#!/bin/bash&lt;br /&gt;echo "#!/usr/bin/perl -w" &gt; $1&lt;br /&gt;nano $1&lt;br /&gt;CT=`cat $1 | wc -l`&lt;br /&gt;if [ $CT == 1 ]; then&lt;br /&gt;rm $1&lt;br /&gt;fi&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;2. chmod it so it's executable: &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;chmod +x pnano&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;3. put it into your $PATH, I usually put things into bin:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;sudo cp pnano /usr/bin/&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This will create a new "executable" program.  Let's look at the code in the script above, line by line.  This tyoe of scripting is called "shell scripting"  Line 1. shows the shell what to use, as the interpreter, to "run," or "execute" the application.  In our case this will be bash.  Line 2. put the line "#!/usr/bin/perl -w" into the file that you gave as an argument "$1".  This means that if you do: &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;pnano lolhi.pl&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This will put the shebang line right into the file "lolhi.pl" bringing us to our next line.  Line 3. runs nano and opens the file [from your argument] $1, or as in our example "lolhi.pl"&lt;br /&gt;Once opened, you will see the shebang line in the file, and you can begin coding.&lt;br /&gt;&lt;br /&gt;You may want to add a few arguments to nano that are extremely useful:&lt;br /&gt;&lt;br /&gt;-w means "no wrap"  meaning when you hit the end of your terminal screen with a long line, it won't automatically hit RETURN for you giving you a new line.  I think that should be default and has made me hate nano in the past.  Next you should add to line 3:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;nano +2 $1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The "+2" will put you at line two so you don't have to hit down before coding.  Line 4. puts the value evaluated by "cat FILENAME | wc -l" which means "how many lines are in the file you just opened with pnano" into the variable $CT.  We do this so that if you close nano without typing any code, you aren't left with a file named $1 [whatever you put after pnano] with one line it it: "#!/usr/bin/perl -w"&lt;br /&gt;&lt;br /&gt;so there's an if statement: if it's "empty" [only shebang line exists] rm it.  Then "fi" ends the if block.  That's a fun exercise.  &lt;br /&gt;&lt;br /&gt;If you do not have root access to the box you code in you can make an alias statement in your ~/.bashrc file like so:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;alias pnano='/home/USERNAME/pnano'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;And put that anywhere in your ~/.bashrc file.&lt;br /&gt;Another cool tip for those who use nano to write their Perl applications is the /etc/nanorc file.  This was recently pointed out to me by Tully.  What it does is automatically color your code so you can read it easier.  To use it, simply uncomment the line that looks like so:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;# include "/usr/share/nano/perl.nanorc"&lt;br /&gt;&lt;/pre&gt;Just take away the "#" and save it.  next time you open a Perl .pl file, it will be in color. &lt;3EDIT:I have already clobbered a file with the "&gt;" in the echo system call :-( So what I did was use the &lt;pre&gt;if [ -f $1 ]; then &lt;/pre&gt;syntax to check to see if the file already exists or not before clobbering it! check it out:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;#!/bin/bash&lt;br /&gt;FILE=$1&lt;br /&gt;if [ -f $FILE ]; then&lt;br /&gt;        nano $FILE&lt;br /&gt;else&lt;br /&gt;        echo "#!/usr/bin/perl -w" &gt; $1&lt;br /&gt;        nano +2 $1&lt;br /&gt;        CT=`cat $1 | wc -l`&lt;br /&gt;        if [ $CT == 1 ]; then&lt;br /&gt;                rm $1&lt;br /&gt;        fi&lt;br /&gt;fi&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Enjoy ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6768013380692425809-8690387228861251778?l=weaknetlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weaknetlabs.blogspot.com/feeds/8690387228861251778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weaknetlabs.blogspot.com/2009/12/perl-nano-pnano.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/8690387228861251778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/8690387228861251778'/><link rel='alternate' type='text/html' href='http://weaknetlabs.blogspot.com/2009/12/perl-nano-pnano.html' title='Perl Nano (pnano)'/><author><name>Douglas Berdeaux</name><uri>http://www.blogger.com/profile/16926757154611040708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://1.bp.blogspot.com/_cK_KOaC4-gE/SycDBpmlQnI/AAAAAAAAAAs/-L4CpI1b324/S220/meweblog.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6768013380692425809.post-4435294445058720032</id><published>2009-12-26T10:34:00.000-08:00</published><updated>2009-12-26T10:37:16.407-08:00</updated><title type='text'>Perl for Multiple Homicide Comparisons</title><content type='html'>I was watching Dexter last night.  It kind of scares me how I feel so connected to his thought process.  Maybe I should see a shrink?  Speaking of shrinks, he [Dexter] was comparing profiles of suicide victims in his area.  After looking through them multiple times, a light bulb went off in his head.&lt;br /&gt;&lt;br /&gt;He realized that they [suicide victims] had the same psychiatrist!  Well, they were computer print outs, and "Word" documents I'm sure, so why not leave them digital and search through them like "grep?"&lt;br /&gt;&lt;br /&gt;I thought up an extremely easy application as I was watching the show (ADD, I know):&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;#!/usr/bin/perl -w&lt;br /&gt;my @prof0 = ("bobby", "luke", "test", "wheel", "root", "hacker");&lt;br /&gt;my @prof1 = ("computer", "luke", "bobby", "root", "hacker");&lt;br /&gt;my @dict = ("computer", "test", "wheel", "root", "hacker");&lt;br /&gt;foreach my $var (@prof0) {&lt;br /&gt;        if (grep(/$var/, @prof1)) {&lt;br /&gt;                if (!grep(/$var/, @dict)) {&lt;br /&gt;                        print $var . " is in both!\n";&lt;br /&gt;                }&lt;br /&gt;        }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This will compare 2 profiles (The real implementation will need to slurp the lines of each profile FILE into the corresponding arrays.)&lt;br /&gt;&lt;br /&gt;Then (once again slurping a dictionary file into the @dict array in the real life implementation) checks to see if the word is a plain word or proper noun.  Proper noun was the whole 'EUREAKA' cusp for me.  "Cusp" being our mathematical peak(/pique? - curious distinction in our context eh?) for finding the last clue to solving the problem in brain activity :P&lt;br /&gt;&lt;br /&gt;So everything from the cusp to the code above was downhill as I adjusted my thoughts into  (simple) boolean logic.  I am sure scientists have such applications in forensics labs, or police stations, but it was a nice exercise and taught me that I think outside of what is really being taken in by my eyes.&lt;br /&gt;&lt;br /&gt;~Douglas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6768013380692425809-4435294445058720032?l=weaknetlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weaknetlabs.blogspot.com/feeds/4435294445058720032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weaknetlabs.blogspot.com/2009/12/perl-for-multiple-homicide-comparisons.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/4435294445058720032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/4435294445058720032'/><link rel='alternate' type='text/html' href='http://weaknetlabs.blogspot.com/2009/12/perl-for-multiple-homicide-comparisons.html' title='Perl for Multiple Homicide Comparisons'/><author><name>Douglas Berdeaux</name><uri>http://www.blogger.com/profile/16926757154611040708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://1.bp.blogspot.com/_cK_KOaC4-gE/SycDBpmlQnI/AAAAAAAAAAs/-L4CpI1b324/S220/meweblog.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6768013380692425809.post-8512121174894242851</id><published>2009-12-22T12:16:00.000-08:00</published><updated>2009-12-22T12:16:01.842-08:00</updated><title type='text'>Bash Phasing out the good ol' CTRL+r History Search?</title><content type='html'>Well, CTRL+r will still be good for things used pretty far in your past, but now Bash seems to have implemented something new.  When playing around with Debian I noticed that history accessed by the up and down keys was de-duplicated!&lt;br /&gt;&lt;br /&gt;Say for instance I am writing a new PHP application and each time I want to test it, I FTP it to a server.  If say, as I usually do, I use nano or vi to edit the application, then run the application locally with php5-cli about 10 to 15 times before deciding to upload it.  That means with old Bash I would have had to press up to find my old FTP command 25 to 30 times!  2 for each run-and-debug sequence between.&lt;br /&gt;&lt;br /&gt;That's where CTRL+r became a life saver.  especially when working with loooooooong SQL passes to Bash.  In SQL I could include my username and password so I don't have to pass it each time with "--password=&lt;password here&gt; --user=&lt;usename here&gt;"&lt;br /&gt;&lt;br /&gt;Well, now with History de-duplication, that's all in the past!  This will compact ALL similar commands send to Bash in the past, and make it so the most I would have to press the up key to find the old FTP command is like 3 or 4 times!&lt;br /&gt;&lt;br /&gt;I love Bash, I love Linux, I love programming!&lt;br /&gt;&lt;br /&gt;~Douglas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6768013380692425809-8512121174894242851?l=weaknetlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weaknetlabs.blogspot.com/feeds/8512121174894242851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weaknetlabs.blogspot.com/2009/12/bash-phasing-out-good-ol-ctrlr-history.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/8512121174894242851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/8512121174894242851'/><link rel='alternate' type='text/html' href='http://weaknetlabs.blogspot.com/2009/12/bash-phasing-out-good-ol-ctrlr-history.html' title='Bash Phasing out the good ol&apos; CTRL+r History Search?'/><author><name>Douglas Berdeaux</name><uri>http://www.blogger.com/profile/16926757154611040708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://1.bp.blogspot.com/_cK_KOaC4-gE/SycDBpmlQnI/AAAAAAAAAAs/-L4CpI1b324/S220/meweblog.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6768013380692425809.post-6729274994237333620</id><published>2009-12-22T12:07:00.000-08:00</published><updated>2009-12-23T07:04:48.052-08:00</updated><title type='text'>What nano did to me.</title><content type='html'>&lt;b&gt;Nano&lt;/b&gt;&lt;br /&gt;Yeah, It's not just nano.  After weeks of using vi I do the same thing: try to close a windows or web based editor with CTRL+X,Y,ENTER or ESC,:,w,q,ENTER  For instance Notepad, Dreamweaver, Wordpad, Openoffice.org, even Blogspot.. When I think the post looks fine, i accidentally hit CTRL+X and look up to realize I am wired.  &lt;br /&gt;&lt;br /&gt;I once noticed that nano (GNU at least), adds newlines to the end of your document, where vi doesn't.  Chartreuse from WeakNet said the same thing before too, so I know I am not crazy.  Sometimes I use vi, sometimes I use nano.  I like them both.  I have heard people whine about vi being hard to use, I don't understand their argument.  It's simply knowing what keyboard strokes to use, as opposed to seeing little icons to click on that eat up your system's resources.&lt;br /&gt;&lt;br /&gt;Another thing I do, is CTRL+W to search in a browser in stead of CTRL+F, which closes the tab or window.  I feel like a train when i am coding and getting out of the state of mind takes longer to slow down and stop.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Re-cap on last post&lt;/b&gt;&lt;br /&gt;Another thing I'd like to add to my last post about Microsoft being my nemesis:&lt;br /&gt;&lt;br /&gt;Windows Mobile...  What a joke that OS is.  My phone boots Windows each time it turns on, sometimes taking like 4 minutes before I can make a call.  God-forbid I have an emergency and need to dial 911, but I need to boot Windows first!  The boot time is not the only issue.  Check this out: Windows Mobile absolutely SUCKS at memory re-alloc.&lt;br /&gt;&lt;br /&gt;Yeah I said it, if I start Task-Manager and see 20MB of RAM open, then reun 3 or 4 applications and watch the RAM go in TaskManager.  Then stop those applications, and see only about %40 of the RAM freed??? How? What?  When? &lt;br /&gt;&lt;br /&gt;I need to make a new years resolution to stop talking about Windows and that stupid company.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;~Douglas&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6768013380692425809-6729274994237333620?l=weaknetlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weaknetlabs.blogspot.com/feeds/6729274994237333620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weaknetlabs.blogspot.com/2009/12/what-nano-did-to-me.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/6729274994237333620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/6729274994237333620'/><link rel='alternate' type='text/html' href='http://weaknetlabs.blogspot.com/2009/12/what-nano-did-to-me.html' title='What nano did to me.'/><author><name>Douglas Berdeaux</name><uri>http://www.blogger.com/profile/16926757154611040708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://1.bp.blogspot.com/_cK_KOaC4-gE/SycDBpmlQnI/AAAAAAAAAAs/-L4CpI1b324/S220/meweblog.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6768013380692425809.post-258525213436782491</id><published>2009-12-19T11:58:00.000-08:00</published><updated>2009-12-19T11:59:05.742-08:00</updated><title type='text'>Dear Microsoft</title><content type='html'>I Hate you and you are my nemesis.  I used to be one of those guys who would slander you and make fun of the people who used you, jokingly, simply because I used Linux.  It became a more serious hatred when I was forced against my will to understand you and your code writing "ability."  Working in IT, I have to remove malware, virii, fix your OS from your poorly written updates, etc ad absurdum.  While dealing with these "issues" I found who absurdly fragile your OS is.  It's party due to user end misconfiguration, but mostly it's your fault.  &lt;br /&gt;&lt;br /&gt;Explorer.exe is, in all honesty, the worst File Manager I have ever used.  Permissions are a joke.  Doing data backups daily, I find that using a Linux live disk is much faster, more efficient, and simply gets the job done.  Hell, even OSX's file manager Finder is a little bit better than Explorer.exe  Doing things form the command line has become my life.  It's how to do things with a computer.  If you would have realized that people like I existed, you may have made your CMD.exe able to do a higher resolution (maximize much?)  Developing, editing, doing ANYTHING that requires CMD.exe is a joke.  In fact, I usually move the shortcut link from system tools to the Accessories Games menu.&lt;br /&gt;&lt;br /&gt;Okay, besides most of your native executables locking up most of the time, there's more.  Recently I was given a project at work that relied on your Event Logger.  Wow, what a joke.  Your event logger for Windows XP, sucks.  You simply cannot edit your code to make login/logout events on the same line, let alone in the same order?  You can't NOT fill the "Security" table with garbage when a user only logs Logon/Logoff?  I don't get it.  I hate you.  Your [right click on my computer-&gt;Manage-&gt;Events-&gt;Security] log is fake.  Your raw log data is in 24hr time, and your data in said window is parsed to 12 hour time and seconds are truncated.  What?  They don;t mean anything to you?  NOT ONLY THAT, when I bring the raw data (viewed as 24 hour time) into a fresh installation of Microsoft Access, YOU PARSE IT AGAIN VIA SOME MACRO THAT IS ENABLED BY DEFAULT?&lt;br /&gt;&lt;br /&gt;Why are there sometimes 10 events labeled "551" (logout) between "528" (login) and "551?"&lt;br /&gt;&lt;br /&gt;&lt;i&gt;I was truly baffled by this, I felt as if I were overthrown by Microsoft by this.  I hated so much that I was spewing out curse words in front of my coworkers and family - I'm sorry, if you look at it on my side, this was too - non-trivial, to just calm down and re-sync into the corporate brainwash.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;I don't care, except that Windows XP WON'T GO AWAY.  Here I have constructed a curve at which functionality/productivity would change over time as the world were forced to stop using Microsoft Windows, let's say it just disappeared one day..&lt;br /&gt;&lt;br /&gt;&lt;img src="http://weaknetlabs.com/weblog/microsoft.png" /&gt;&lt;br /&gt;&lt;br /&gt;At point "A" our low productivity drops to zero for all users of Windows.  (please take in the fact that even medical facilities, science departments, government and federal, all unfortunately still use windows XP (some do)).  After the drop to zero, a few years go by, where highly efficient Linux developers are in the spotlight blazing away at their keyboards and mice, re-writing all software used in said fields.  This is a big economic crash.  Things get chaotic, i'll be honest.  But look what happens to the curve after a few years, development/productivity goes up exponentially until finally, after a few years - it sky-rockets.&lt;br /&gt;&lt;br /&gt;Children of your children of your children will be smarter than ever.  Linux/Unix jobs are everywhere.  Our world, has completely changed.  People start to exercise more, take care of themselves, we avoid the inevitable plague that is hinted to us in the movie "Idiocracy."  We become a world united once again by more than just the internet.  By teaching, learning, respecting, hacking, etc.&lt;br /&gt;&lt;br /&gt;Computers, once more, can start relaxing system resources as we move towards the Linux based cloud.  We can rely simply on smart cards, or fingerprints to log us into our cloud via a Sun thin client.&lt;br /&gt;&lt;br /&gt;An almost perfect world (technologically speaking).&lt;br /&gt;&lt;br /&gt;~Douglas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6768013380692425809-258525213436782491?l=weaknetlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weaknetlabs.blogspot.com/feeds/258525213436782491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weaknetlabs.blogspot.com/2009/12/dear-microsoft.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/258525213436782491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/258525213436782491'/><link rel='alternate' type='text/html' href='http://weaknetlabs.blogspot.com/2009/12/dear-microsoft.html' title='Dear Microsoft'/><author><name>Douglas Berdeaux</name><uri>http://www.blogger.com/profile/16926757154611040708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://1.bp.blogspot.com/_cK_KOaC4-gE/SycDBpmlQnI/AAAAAAAAAAs/-L4CpI1b324/S220/meweblog.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6768013380692425809.post-6628431696211060788</id><published>2009-12-18T10:55:00.000-08:00</published><updated>2009-12-18T10:55:27.733-08:00</updated><title type='text'>The Holidays.</title><content type='html'>Christmas time is here! There's a winter advisory for places around me.  I'm sure it will just turn to rain by the time it gets to Pittsburgh though.  Our climate is assinine.  &lt;br /&gt;&lt;br /&gt;My Forums were hacked!! YAY! WeakNetLabs.com/forums is now gone.  Whatever.  &lt;br /&gt;&lt;br /&gt;Tully posted something about someone that was hilarious on FaceBook.  I'd tell you but, I have something better.  I took a pic of it when we were using TeamViewer!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://weaknetlabs.com/temp/tullypost.png" /&gt;&lt;br /&gt;&lt;br /&gt;I got an arduino for christmas, so I can be a hardware hacker soon!  I have a ton of neat ideas about what to make and I am excited to work with the code that goes into the chip itself.&lt;br /&gt;&lt;br /&gt;Happy Holidays..&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;~Douglas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6768013380692425809-6628431696211060788?l=weaknetlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weaknetlabs.blogspot.com/feeds/6628431696211060788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weaknetlabs.blogspot.com/2009/12/christmas-time-is-here-theres-winter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/6628431696211060788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/6628431696211060788'/><link rel='alternate' type='text/html' href='http://weaknetlabs.blogspot.com/2009/12/christmas-time-is-here-theres-winter.html' title='The Holidays.'/><author><name>Douglas Berdeaux</name><uri>http://www.blogger.com/profile/16926757154611040708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://1.bp.blogspot.com/_cK_KOaC4-gE/SycDBpmlQnI/AAAAAAAAAAs/-L4CpI1b324/S220/meweblog.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6768013380692425809.post-1922848809147616426</id><published>2009-12-15T10:40:00.000-08:00</published><updated>2009-12-15T10:59:18.741-08:00</updated><title type='text'>Fibonacci and Tullywacker.</title><content type='html'>Tully has a new blog, &lt;a href="http://buffer0verflow.com/"&gt;http://buffer0verflow.com/&lt;/a&gt; and he posted about a C program that produces the nth Fibonacci number.  This made me dig up a piece of code I wrote in PHP a long time ago from the old.html page in &lt;a href="/BACKUP-NEW/"&gt;http://weaknetlabs.com/BACKUP-NEW/old.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is one piece of code I am really proud of.  It will only list Fibonacci numbers up to whatever you desire, but it is elegant:&lt;br /&gt;&lt;br /&gt;&lt;xmp&gt;$m = 1; $n = 1; $i = 1; $h = 0;&lt;br /&gt;echo "$m"; echo "$n";&lt;br /&gt;while ($h &lt;= 10) {        $i = ($m + $n); echo "$i";        $m = ($n + $i); echo "$m";        $n = ($i + $m); echo "$n";        $h++; }echo "...";&lt;/xmp&gt;&lt;br /&gt;&lt;br /&gt;What I think is so elegant about the code is if you look closely you can see that no variable is repeated until all have cycled: "m", "n", and "i." :)&lt;br /&gt;&lt;br /&gt;You may want to add &lt;xmp&gt;"&lt;br /&gt;"&lt;/xmp&gt; to the echo's (if they don't show up as I use the xmp tags{which they did}), so they break a new line separating the integers.  Here is the code in action &lt;a href="http://weaknetlabs.com/temp/fibonacci.php"&gt;http://weaknetlabs.com/temp/fibonacci.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tully's is faster of course since it is compiled.&lt;br /&gt;&lt;i&gt;This sequence is closely related to the Golden ratio and you can learn more about it here:&lt;br /&gt;&lt;/i&gt;&lt;a href="http://en.wikipedia.org/wiki/Fibonacci_number"&gt;http://en.wikipedia.org/wiki/Fibonacci_number&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6768013380692425809-1922848809147616426?l=weaknetlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weaknetlabs.blogspot.com/feeds/1922848809147616426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weaknetlabs.blogspot.com/2009/12/fibonacci-and-tullywacker.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/1922848809147616426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/1922848809147616426'/><link rel='alternate' type='text/html' href='http://weaknetlabs.blogspot.com/2009/12/fibonacci-and-tullywacker.html' title='Fibonacci and Tullywacker.'/><author><name>Douglas Berdeaux</name><uri>http://www.blogger.com/profile/16926757154611040708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://1.bp.blogspot.com/_cK_KOaC4-gE/SycDBpmlQnI/AAAAAAAAAAs/-L4CpI1b324/S220/meweblog.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6768013380692425809.post-5138137938014735942</id><published>2009-12-14T14:56:00.000-08:00</published><updated>2009-12-14T15:19:54.634-08:00</updated><title type='text'>Kindle Review</title><content type='html'>I recently reviewed the differences between the two new Kindles.&lt;br /&gt;&lt;br /&gt;&lt;object width="445" height="364"&gt;&lt;param name="movie" value="http://www.youtube.com/v/VeLNwNV_iig&amp;hl=en_US&amp;fs=1&amp;color1=0xe1600f&amp;color2=0xfebd01&amp;border=1"&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/VeLNwNV_iig&amp;hl=en_US&amp;fs=1&amp;color1=0xe1600f&amp;color2=0xfebd01&amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="445" height="364"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;The Kindle DX is well worth the extra money if you think you will use the Kindle as often as I do.  I found that it fits nice and snug in a 10" netbook carrying case.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6768013380692425809-5138137938014735942?l=weaknetlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weaknetlabs.blogspot.com/feeds/5138137938014735942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weaknetlabs.blogspot.com/2009/12/up-and-running.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/5138137938014735942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/5138137938014735942'/><link rel='alternate' type='text/html' href='http://weaknetlabs.blogspot.com/2009/12/up-and-running.html' title='Kindle Review'/><author><name>Douglas Berdeaux</name><uri>http://www.blogger.com/profile/16926757154611040708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://1.bp.blogspot.com/_cK_KOaC4-gE/SycDBpmlQnI/AAAAAAAAAAs/-L4CpI1b324/S220/meweblog.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6768013380692425809.post-5515112823456522121</id><published>2009-12-14T08:33:00.000-08:00</published><updated>2009-12-14T08:36:10.349-08:00</updated><title type='text'>Long Weekend</title><content type='html'>&lt;span class="Apple-style-span"   style="  line-height: 16px; font-family:Arial, sans-serif;font-size:13px;"&gt;So, I started playing the new Zelda, "&lt;em&gt;Spirit Tracks&lt;/em&gt;" yesterday morning. It's a good game. I put maybe a few hours into it, and so far I like it much more that the "&lt;em&gt;Phantom Hourglass.&lt;/em&gt;" I really want to get my hands on the new DS XL. There's an article I just read on IGN about Spirit Tracks on the DS LL and the author said it was fantastic.&lt;br /&gt;&lt;br /&gt;I got around to releasing my first &lt;strong&gt;Ruby &lt;/strong&gt;application; a D&amp;amp;D dice roller. It allows the user to give the type (# of sides) of dice, plus multipliers and modifiers. Getting the negatives to work right was weird. I feel like I am getting the hang of Ruby the more I type. I took a different approach to learning the new language. I read through a book and a half of it before even writing any code. Well, it worked! I was able to remember a LOT of syntax and rules and such.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://weaknetlabs.com/coderepo/code.php?file=DDDice.txt"&gt;CodeRepo Link to D&amp;amp;D Dice Roller &lt;/a&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:Arial, sans-serif;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 16px;font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  line-height: 16px; font-family:Arial, sans-serif;font-size:13px;"&gt;I had a few guests over this weekend and I got to see Terminator Salvation!  That movie was amazing, but I am a die-hard Terminator fan, so don't listen to me.&lt;a href="http://weaknetlabs.com/coderepo/code.php?file=DDDice.txt" style="background-color: inherit; color: rgb(0, 0, 0); text-decoration: underline; "&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;I was going to play D&amp;amp;D tonight, but my friend got off work like 1hr too late. Seems to take about 3 hrs per session and I need to get up early as it is, a school night.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6768013380692425809-5515112823456522121?l=weaknetlabs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://weaknetlabs.blogspot.com/feeds/5515112823456522121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weaknetlabs.blogspot.com/2009/12/long-weekend.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/5515112823456522121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6768013380692425809/posts/default/5515112823456522121'/><link rel='alternate' type='text/html' href='http://weaknetlabs.blogspot.com/2009/12/long-weekend.html' title='Long Weekend'/><author><name>Douglas Berdeaux</name><uri>http://www.blogger.com/profile/16926757154611040708</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://1.bp.blogspot.com/_cK_KOaC4-gE/SycDBpmlQnI/AAAAAAAAAAs/-L4CpI1b324/S220/meweblog.png'/></author><thr:total>0</thr:total></entry></feed>
