<?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-6858758628853094588</id><updated>2011-11-27T17:58:19.487-06:00</updated><category term='Environ'/><category term='journals'/><category term='Download'/><category term='Errors'/><category term='Online'/><category term='masn'/><category term='pygtk'/><category term='Awesome'/><category term='CodeIgniter'/><category term='ollydbg'/><category term='.screenrc'/><category term='symlinks'/><category term='Linus'/><category term='Adaptor'/><category term='Environment'/><category term='manuals'/><category term='Translation Software'/><category term='syscall'/><category term='git'/><category term='robotpony.ca'/><category term='Templated'/><category term='Console'/><category term='Dell'/><category term='Foxmarks'/><category term='Incremental'/><category term='Ideas'/><category term='c++'/><category term='Video'/><category term='OCR'/><category term='Examples'/><category term='Schematics'/><category term='Flakiest'/><category term='System'/><category term='Images'/><category term='PyCrust'/><category term='Extensions'/><category term='Modular'/><category term='curl.py'/><category term='links'/><category term='gui'/><category term='USB'/><category term='Templates'/><category term='mvc'/><category term='Maps'/><category term='Firefox'/><category term='Smarty'/><category term='Snort'/><category term='reference'/><category term='stdout'/><category term='CMS'/><category term='Resolutions'/><category term='.bashrc'/><category term='framework'/><category term='disassembly'/><category term='Blog'/><category term='Symbol Scanner'/><category term='OpenBSD'/><category term='Microsoft'/><category term='Keyspan'/><category term='Gtk'/><category term='ida pro'/><category term='English'/><category term='Today'/><category term='Family'/><category term='documents'/><category term='RS232'/><category term='comics'/><category term='Modulated'/><category term='IdeaStorm'/><category term='CI'/><category term='Palette'/><category term='template'/><category term='assembly'/><category term='Addons'/><category term='Torvalds'/><category term='Shell'/><category term='urlpacker'/><category term='programmer'/><category term='Chrome'/><category term='python'/><category term='Variables'/><category term='class'/><category term='Presentation'/><category term='Surface'/><category term='Money'/><category term='Terminal'/><category term='Make'/><category term='Script'/><category term='php'/><category term='Visual'/><category term='Russian'/><category term='YouTube'/><category term='Google'/><category term='asm'/><category term='wikipedia'/><category term='glade'/><category term='Linux'/><category term='Serial'/><category term='HMVC'/><category term='colors'/><category term='LS2208'/><title type='text'>*NIX System Programming</title><subtitle type='html'>ubuntu, codeigniter, python, jquery, links and scripts</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>46</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-2792013504557181202</id><published>2010-09-10T19:36:00.000-05:00</published><updated>2010-09-10T19:36:49.545-05:00</updated><title type='text'>WTF happened to Bob?</title><content type='html'>I guess he's dole'n it up bro. Come back in a month.&lt;br /&gt;&lt;br /&gt;http://nodejs.org&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-2792013504557181202?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/2792013504557181202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=2792013504557181202&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/2792013504557181202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/2792013504557181202'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2010/09/wtf-happened-to-bob.html' title='WTF happened to Bob?'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-471824435320493506</id><published>2010-09-10T16:07:00.003-05:00</published><updated>2010-09-10T16:19:12.443-05:00</updated><title type='text'>There Ain't No Such Thing As Plain Text</title><content type='html'>This article definitely shines some like on character encodings. Especially UTF-8 and Unicode. &lt;br /&gt;&lt;br /&gt;"It does not make sense to have a string without knowing what encoding it uses."&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.joelonsoftware.com/articles/Unicode.html"&gt;http://www.joelonsoftware.com/articles/Unicode.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You have no choice but to read it or it will come back to haunt you if you don't. I'm not kidding. If you say you already know, then I say read it anyway. Wait, let me say it in not a rude way. Can you please, pretty please read this page so you don't screw yourself later on in your code.&lt;br /&gt;&lt;br /&gt;I can think of a few instances where my code came back to haunt me when I didn't use a charset/encoding or used the wrong one. Learn from your mistakes, or better yet. Learn from others'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-471824435320493506?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/471824435320493506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=471824435320493506&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/471824435320493506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/471824435320493506'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2010/09/there-aint-no-such-thing-as-plain-text.html' title='There Ain&apos;t No Such Thing As Plain Text'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-1967470000722911989</id><published>2010-09-08T18:06:00.002-05:00</published><updated>2010-09-08T18:09:33.919-05:00</updated><title type='text'>Cohesion for source control by CVSDude</title><content type='html'>&lt;a href="http://codesion.com/"&gt;http://codesion.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="420"&gt;&lt;param name="movie" value="http://www.youtube.com/v/CtW_vJ6dObM&amp;color1=0xb1b1b1&amp;color2=0xd0d0d0&amp;hl=en_US&amp;feature=player_embedded&amp;fs=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/CtW_vJ6dObM&amp;color1=0xb1b1b1&amp;color2=0xd0d0d0&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="420"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;I'm in love.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-1967470000722911989?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/1967470000722911989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=1967470000722911989&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/1967470000722911989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/1967470000722911989'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2010/09/cohesion-for-source-control-by-cvsdude.html' title='Cohesion for source control by CVSDude'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-1176564858334008262</id><published>2010-09-08T17:58:00.002-05:00</published><updated>2010-09-08T18:02:21.306-05:00</updated><title type='text'>How to whet your Python and HTML5</title><content type='html'>&lt;a href="http://diveintopython.org/"&gt;Dive into Python&lt;/a&gt; by Mark Pilgrim, you can read the full thing online or buy the book.&lt;br /&gt;&lt;br /&gt;Join the &lt;a href="http://mail.python.org/mailman/listinfo/python-list"&gt;mailing list&lt;/a&gt;, but before you do so I would highly recommend you read dive into python first.&lt;br /&gt;&lt;br /&gt;I personally like Python more than any other language I've worked with. It is more of a wrapper language thou. Meaning It's a good multi-platform language that you can develop code that can use other languages as well. You can write you heavy lifting in C/C++ or Java or C# and then use those libraries in python. It's so awesome in fact, that I was left speechless for a while during learning this language in the beginning.&lt;br /&gt;&lt;br /&gt;Mark Pilgrim also wrote Dive into &lt;a href="http://diveintohtml5.org/"&gt;HTML5&lt;/a&gt;. BTW, If your doing any HTML5 dev work then you need to checkout &lt;a href="http://html5boilerplate.com/"&gt;HTML5Boilerplate&lt;/a&gt; which is done by Paul Irish.&lt;br /&gt;&lt;br /&gt;Happy coding to you all.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-1176564858334008262?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/1176564858334008262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=1176564858334008262&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/1176564858334008262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/1176564858334008262'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2010/09/how-to-whet-your-python.html' title='How to whet your Python and HTML5'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-6173886225488237977</id><published>2010-09-08T17:50:00.000-05:00</published><updated>2010-09-08T17:50:09.629-05:00</updated><title type='text'>exporting bash aliases and functions into a variable</title><content type='html'>I'm getting a little git gist happy. :) So here's something just for kicks. I'm gonna start posting other things than bash. Perhaps more python and php code. ATM I'm reading "&lt;a href="http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742"&gt;JavaScript: The Good Parts&lt;/a&gt;" I highly recommend this book, it's a good read. Been meaning to read it for a while to brush up on my js coding skills, because I plan on doing a lot of &lt;a href="http://nodejs.org"&gt;nodejs&lt;/a&gt; development here in the near future for a import/export system.&lt;br /&gt;&lt;br /&gt;&lt;script src="http://gist.github.com/570987.js?file=export_functions_and_aliases.sh"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-6173886225488237977?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/6173886225488237977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=6173886225488237977&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/6173886225488237977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/6173886225488237977'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2010/09/exporting-bash-aliases-and-functions.html' title='exporting bash aliases and functions into a variable'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-731717357498311011</id><published>2010-09-08T14:50:00.004-05:00</published><updated>2010-09-08T17:41:40.989-05:00</updated><title type='text'>running aliases and functions with sudo, and Blogger bashing</title><content type='html'>I don't remember where I got this like 3 years ago. Just thought I'd share it because it's very useful. Maybe it will be as useful for you as it is for me.&lt;br /&gt;&lt;br /&gt;Blogger seems to always mess up my indentations. So it's not really good for python code. However, this is a bash function to wrap aliases and functions in sudo. I wish blogger wouldn't do that. But wait folks that's not all. It assists me in losing changes too. Gotta love that. If you see me switch over to &lt;a href="http://posterous.com/"&gt;posterous&lt;/a&gt; or not blog on here anymore, then you will know why. Not much incentive to use a system that screws with your text or text formating. hahaha, even &lt;a href="http://schwarzenegger.posterous.com/"&gt;Gov. Arnold&lt;/a&gt; has a posterous.&lt;br /&gt;&lt;br /&gt;Better yet I will place code in a gist and keep ranting :) (I'll leave the below function declaration so you can see how ugly it looks)&lt;br /&gt;&lt;br /&gt;&lt;script src="http://gist.github.com/570975.js?file=bash_sudo_function.sh"&gt;&lt;/script&gt; &lt;br /&gt;&lt;br /&gt;sudo () &lt;br /&gt;{&lt;br /&gt;local c o t parse&lt;br /&gt;&lt;br /&gt;# Parse sudo args&lt;br /&gt;OPTIND=1&lt;br /&gt;while getopts xVhlLvkKsHPSb:p:c:a:u: t; do&lt;br /&gt;if [ "$t" = x ]; then&lt;br /&gt;parse=true&lt;br /&gt;else&lt;br /&gt;o="$o -$t"&lt;br /&gt;[ "$OPTARG" ] &amp;amp;&amp;amp; o="$o $OPTARG"&lt;br /&gt;fi&lt;br /&gt;done&lt;br /&gt;shift $(( $OPTIND - 1 ))&lt;br /&gt;&lt;br /&gt;# If no arguments are left, it's a simple call to sudo&lt;br /&gt;if [ $# -ge 1 ]; then&lt;br /&gt;c="$1";&lt;br /&gt;shift;&lt;br /&gt;case $(type -t "$c") in &lt;br /&gt;"")&lt;br /&gt;echo No such command "$c"&lt;br /&gt;return 127&lt;br /&gt;;;&lt;br /&gt;alias)&lt;br /&gt;c=$(type "$c"|sed "s/^.* to \`//;s/.$//")&lt;br /&gt;;;&lt;br /&gt;function)&lt;br /&gt;c=$(type "$c"|sed 1d)";\"$c\""&lt;br /&gt;;;&lt;br /&gt;*)&lt;br /&gt;c="\"$c\""&lt;br /&gt;;;&lt;br /&gt;esac&lt;br /&gt;if [ -n "$parse" ]; then&lt;br /&gt;# Quote the rest once, so it gets processed by bash.&lt;br /&gt;# Done this way so variables can get expanded.&lt;br /&gt;while [ -n "$1" ]; do&lt;br /&gt;c="$c \"$1\""&lt;br /&gt;shift&lt;br /&gt;done&lt;br /&gt;else&lt;br /&gt;# Otherwise, quote the arguments. The echo gets an extra&lt;br /&gt;# space to prevent echo from parsing arguments like -n&lt;br /&gt;# Note the lovely interactions between " and ' ;-)&lt;br /&gt;while [ -n "$1" ]; do&lt;br /&gt;c="$c '$(echo " $1"|sed -e "s/^ //" -e "s/'/'\"'\"'/")'"&lt;br /&gt;shift&lt;br /&gt;done&lt;br /&gt;fi&lt;br /&gt;# Run the command with verbose options&lt;br /&gt;echo Executing sudo $o -- bash -x -v -c "$c" &amp;gt;&amp;amp;2&lt;br /&gt;command sudo $o bash -xvc "$c"&lt;br /&gt;else&lt;br /&gt;echo sudo $o &amp;gt;&amp;amp;2&lt;br /&gt;command sudo $o&lt;br /&gt;fi&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-731717357498311011?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/731717357498311011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=731717357498311011&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/731717357498311011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/731717357498311011'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2010/09/running-aliases-and-functions-with-sudo.html' title='running aliases and functions with sudo, and Blogger bashing'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-3392079868261930460</id><published>2010-09-08T00:37:00.008-05:00</published><updated>2010-09-08T16:09:54.902-05:00</updated><title type='text'>rants about stuff and CourtesyFlush</title><content type='html'>I haven't blogged in a while. So, ummm. I really am not sure what to blog about. It kinda seems like an old fad for me to blog. I just like to mostly read what others have to say and learn from others. It's nice to give back though. I like to give back. Just I do it in a lot of other ways. &lt;br /&gt;&lt;br /&gt;So I am still looking for a good job. I can't believe this has to be so difficult. Most places never give me a chance though. It's the recruiters that are the problem, because they aren't programmers looking to hire programmers. What ends up happening is they find someone that knows not a lot, but knows how to talk and brown-nose better than me. I wish to be interviewed by actual people that know what is going on. Not ones you can read about on &lt;a href="http://thedailywtf.com/"&gt;TheDailyWTF.&lt;/a&gt; This is mostly the case when it comes to windows users. I laugh at windows. Because IT IS garbage. Ofcourse this is my personal opinion. I just prefer Linux. Not that I wouldn't write code on it or for it. Because it does get the job done, and in the end thats all that really matters. I'm sure my prayers will be answered though. I believe it with all my heart, brain and soul :)&lt;br /&gt;&lt;br /&gt;I been running my computer business for a while now. It's not bad. Definitely beats working for someone else. That all depends on the conditions though. I love to work. It helps me deal.&lt;br /&gt;&lt;br /&gt;A little while back I started another project. I have roughly 1000 bash aliases and functions now. It becomes very cumbersome to manage all those. So I created a little pyGTK application with quickly. I called it &lt;a href="https://launchpad.net/courtesyflush" width="70%"&gt;CourtesyFlush&lt;/a&gt;. It's on Launchpad. It scratches my itch. I added a bunch of code in there preparing for some new function in parsing the files and stuff like that. So look beyond that. I basically built it like junk. Because It's how I find out where to go with it. Once I figure out what features it requires I will rethink and OOP the code. I call it progressive building. Like climbing a ladder. As you climb up the ladder you progress up the ladder.&lt;br /&gt;&lt;br /&gt;About the logo. &lt;br /&gt;&lt;img src="https://launchpadlibrarian.net/41202457/cf_logo_64.png" /&gt;&lt;br /&gt;&lt;br /&gt;Yes, that is a toilet. Yes, that is python floating in the toilet. Yes, it looks like dung. Yes, It's funny to me, I find it amusing. I love python. It's an awesome language. I made the logo using InkScape (a opensource vector graphics application like Adobe Illustrator). Moving on.&lt;br /&gt;&lt;br /&gt;I honestly barely ever use this application. Just once in a while. Mostly I just go with vim, nano, pico, cat or gedit. &lt;br /&gt;&lt;br /&gt;Here are some of the current features this program has.&lt;br /&gt;&lt;br /&gt;list functions and aliases and show source in a sourceview&lt;br /&gt;display vte console to run aliases and functions&lt;br /&gt;autorun and repeat running of aliases and functions up to 9999 times, no kidding(basically it just wraps your command in a for loop, no biggie. still saves even more time though)&lt;br /&gt;and many more...&lt;br /&gt;&lt;br /&gt;heres a screenshot(theres no guarantee this image will stay up)&lt;br /&gt;&lt;a href="http://agentninja.com/projects/courtesyflush/images/Screenshot-Courtesyflush.png"&gt;&lt;img src="http://agentninja.com/projects/courtesyflush/images/Screenshot-Courtesyflush.png" width="50%" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here are some features I still plan on adding at some point in time. &lt;br /&gt;&lt;br /&gt;OliveGTK's gannotate&lt;br /&gt;tilda's keybindings&lt;br /&gt;commandlinefu in search&lt;br /&gt;tabbed vte console&lt;br /&gt;tabbed sourceview&lt;br /&gt;and many more I can't remember atm...&lt;br /&gt;&lt;br /&gt;This program is actually nothing really big. At least I don't think of it as a big deal. It just saves me some time at times.&lt;br /&gt;&lt;br /&gt;If you like this program, let me know. If you find any bugs, let me know. If you want me to add more features, let me know. If you want to help, let me know. Anything else? let me know. Honestly, If you find bugs or something I expect you to try to fix it yourself. I may take a long while to fix it, depending on some life variables and such. If it pays though it'll get fixed 10 minutes ago. :) Like with anything else. Don't expect me to do any hand holding, unless it is your breast. haha, just kidding.&lt;br /&gt;&lt;br /&gt;I like to know stuff, If you haven't figured it out yet. Knowledge is power, I thrive on that stuff. It's like food, only for my brain. &lt;br /&gt;&lt;br /&gt;A lot of things in life are hit and miss. To make good stuff, you have to make a lot of garbage. Plus sometimes you may think something is so awesome that everyone needs or wants it, and the reality is that's not the case. Yet, sometimes you may do something as the spur of the moment and it'll get so much attention that it blows your mind. Anyway, I have nothing more to say now. Back to reading and learning more stuff.&lt;br /&gt;&lt;br /&gt;English is not my primary/native language. Which means that you may get insulted. If you can get passed that though then more power to you. There's more important things to worry about than proper wording, pronunciation or the arrangement of words, IMHO. Some may say otherwise. Liba/Riba, same thing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-3392079868261930460?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/3392079868261930460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=3392079868261930460&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/3392079868261930460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/3392079868261930460'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2010/09/rants-about-stuff.html' title='rants about stuff and CourtesyFlush'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-6258392375605373325</id><published>2009-11-17T23:46:00.001-06:00</published><updated>2009-11-18T10:28:00.609-06:00</updated><title type='text'>Codeigniter 1.7.2 and userauth 0.9.2t7</title><content type='html'>Been a long time since i wrote anything to this blog. Good thing for all you &lt;a href="http://adf.ly/rcy"&gt;Codeigniter&lt;/a&gt; fans this quick post is about &lt;a href="http://adf.ly/rd5"&gt;userauth&lt;/a&gt;. &lt;a href="http://adf.ly/rd5"&gt;UserAuth&lt;/a&gt; is a simple ACL(Access Control List) Login for CI (&lt;a href="http://adf.ly/rcy"&gt;CodeIgniter&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;To complete a successful install of userauth version 0.9.2t7 just copy the files into your bare codeigniter install. It's safe to copy all files in all the folders in your application folder. Except for the config folder, all the files in this folder you have to merge with your install. You would only have to worry about this if ci version your using is very new and has new variables.&lt;br /&gt;&lt;br /&gt;Once you merge all the files in the application/config folder you need to edit the file models/user_group_model.php&lt;br /&gt;&lt;br /&gt;In the user_group_model you only need to replace all instances of "use_table" (without quotes) with "from" (also without quotes).&lt;br /&gt;&lt;br /&gt;That's it. You should have a working install of ci &lt;a href="http://adf.ly/rd5"&gt;userauth mini-app&lt;/a&gt;. This process should actually work with any version. You just have to merge the code and files. Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-6258392375605373325?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/6258392375605373325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=6258392375605373325&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/6258392375605373325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/6258392375605373325'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2009/11/codeigniter-172-and-userauth-092t7.html' title='Codeigniter 1.7.2 and userauth 0.9.2t7'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-4521506812394124124</id><published>2009-03-15T13:50:00.002-05:00</published><updated>2009-03-15T21:35:17.727-05:00</updated><title type='text'>python append all subdirectories to sys.path</title><content type='html'>This is my pather class. It appends/prepends the application subdirectories to sys.path&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;#!/usr/bin env python&lt;br /&gt;#&lt;br /&gt;# -*- coding: UTF-8 -*-&lt;br /&gt;#&lt;br /&gt;# PyNutButter BETA Version 0.1.0.1&lt;br /&gt;#&lt;br /&gt;# Copyright 2009 - Infinity and Beyond by Alex Goretoy, All Rights Reserved.&lt;br /&gt;#&lt;br /&gt;# Permission to use, copy, modify, and distribute this software and its&lt;br /&gt;# documentation for any purpose and without fee is hereby granted,&lt;br /&gt;# provided that the above copyright notice appear in all copies and that&lt;br /&gt;# both that copyright notice and this permission notice appear in&lt;br /&gt;# supporting documentation, and that the name of Vinay Sajip&lt;br /&gt;# not be used in advertising or publicity pertaining to distribution&lt;br /&gt;# of the software without specific, written prior permission.&lt;br /&gt;# VINAY SAJIP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING&lt;br /&gt;# ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL&lt;br /&gt;# VINAY SAJIP BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR&lt;br /&gt;# ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER&lt;br /&gt;# IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT&lt;br /&gt;# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.&lt;br /&gt;#&lt;br /&gt;# SEE ALSO LICENSE FILE IN PROJECT ROOT DIRECTORY&lt;br /&gt;#&lt;br /&gt;__author__  = "Aleksandr Ilyich Goretoy &lt;agoretoy@gmail.com&gt;"&lt;br /&gt;__status__  = "beta" #production&lt;br /&gt;__version__ = "0.1.0.1"&lt;br /&gt;__date__    = "14 March 2009"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;import os&lt;br /&gt;import sys&lt;br /&gt;class _pather(object):&lt;br /&gt;    def __init__(self,cwd="",send="append",depth=0,height=1):&lt;br /&gt;        """&lt;br /&gt;        pwd - directory to get listing from&lt;br /&gt;        send - append or prepend to sys.path&lt;br /&gt;        depth - 0 is current dir, 1 is next level directory&lt;br /&gt;        height - root, dirs, files&lt;br /&gt;        """&lt;br /&gt;        self.path=[]&lt;br /&gt;        self._path=[]&lt;br /&gt;        self.send=send&lt;br /&gt;        if cwd is not "":&lt;br /&gt;            self.set_paths(cwd,send,depth,height)&lt;br /&gt;&lt;br /&gt;        return None  &lt;br /&gt;    def append(self,path):&lt;br /&gt;        for i in range(len(sys.path)):&lt;br /&gt;            try:&lt;br /&gt;                if str(path) == str(sys.path[i]):&lt;br /&gt;                    if sys.path.index(path)&gt;0:&lt;br /&gt;                        del sys.path[i]&lt;br /&gt;            except(ValueError,IndexError):&lt;br /&gt;                pass&lt;br /&gt;        self._path=self.path&lt;br /&gt;        self.path=path&lt;br /&gt;        return sys.path.append(str(self.path))&lt;br /&gt;    def prepend(self,path):&lt;br /&gt;        for i in range(len(sys.path)):&lt;br /&gt;            if str(path) == str(sys.path[i]):&lt;br /&gt;                del sys.path[i]&lt;br /&gt;        self._path=self.path&lt;br /&gt;        self.path=path&lt;br /&gt;        return sys.path.prepend(str(self.path))&lt;br /&gt;        &lt;br /&gt;    def set_path(self,value,prepend="",append=""):&lt;br /&gt;        self.pathstr="%s/%s/%s"%(prepend,value,append)&lt;br /&gt;        if self.send == "append":&lt;br /&gt;            self.append(self.pathstr)&lt;br /&gt;        else:&lt;br /&gt;            self.prepend(self.pathstr)&lt;br /&gt;        &lt;br /&gt;    def set_paths(self,pwd,send="append",depth=0,height=1):&lt;br /&gt;        self.send=send&lt;br /&gt;        self.pathlist= list( ( (root,dirs,files) for root, dirs,files in os.walk(pwd) ) )[depth][height]&lt;br /&gt;        if self.send == "append":&lt;br /&gt;            list((self.append("%s/%s"%(pwd,x)) for x in self.pathlist if not x.startswith(".")))&lt;br /&gt;        else:&lt;br /&gt;            list((self.prepend("%s/%s"%(pwd,x)) for x in self.pathlist if not x.startswith(".")))&lt;br /&gt;    &lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-4521506812394124124?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/4521506812394124124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=4521506812394124124&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/4521506812394124124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/4521506812394124124'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2009/03/python-append-all-subdirectories-to.html' title='python append all subdirectories to sys.path'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-3331563940660571620</id><published>2009-03-15T13:39:00.003-05:00</published><updated>2009-03-15T22:39:05.351-05:00</updated><title type='text'>python append application working directories subdirectory to sys.path</title><content type='html'>This is a little script to show how to append the application working directories subdirectories when os.environ['PWD'] _not_ in application directory&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;#!/usr/bin/env python&lt;br /&gt;import os,sys&lt;br /&gt;print __file__&lt;br /&gt;print os.environ["PWD"]&lt;br /&gt;s=os.environ["PWD"]+"/"+os.path.dirname(__file__)&lt;br /&gt;sys.path.append(s+"/python_stdout_colors")&lt;br /&gt;print sys.path&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;doing only os.environ['PWD'], os.get_cwd() or os.path.dirname is _not_ enough and will cause errors in your application if a user opens it in different directory than where the script is&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-3331563940660571620?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/3331563940660571620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=3331563940660571620&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/3331563940660571620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/3331563940660571620'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2009/03/python-append-application-working.html' title='python append application working directories subdirectory to sys.path'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-9154823820043739589</id><published>2009-01-27T12:52:00.008-06:00</published><updated>2009-11-18T10:13:42.439-06:00</updated><title type='text'>yahoo session cookie generator</title><content type='html'>gammarays has release a paper and a video showing proof of concept on how to bypass yahoo security by simply generating his own cookie and totally leaving login.yahoo.com out of the picture.....If you own a yahoo account, then this may be of a concern to you.....Doesn't surprise me that something like this would happen to another microsoft shop...seeing as this is only one layer user authentication....Security matters...I hope they resolve this issue faster than I can finish playing bee on guitar hero...Who needs to hijack cookie when you have yahoo cookie generator, eh...Next we should see viruses and spam coming from your trusty contacts... Just like CAPTCHA, I tell you. It's not in the algo you use to construct the image. It's in how you present it to the user that determines it's strength.&lt;br /&gt;&lt;br /&gt;edited:&lt;br /&gt;video:&lt;br /&gt;&lt;a href="http://adf.ly/a8"&gt;milw0rm.com/video/watch.php?id=84 &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;paper:&lt;br /&gt;&lt;a href="http://adf.ly/rci"&gt;milw0rm.com/papers/270&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;more on this from Rizki:&lt;br /&gt;&lt;a href="http://adf.ly/aA"&gt;ilmuhacking.com/web-security/yahoo-session-cookie-generator/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-9154823820043739589?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/9154823820043739589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=9154823820043739589&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/9154823820043739589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/9154823820043739589'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2009/01/yahoo-session-cookie-generator.html' title='yahoo session cookie generator'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-8166671277373922592</id><published>2009-01-24T13:21:00.004-06:00</published><updated>2009-05-08T23:24:40.863-05:00</updated><title type='text'>learn dd command</title><content type='html'>nice thread about dd command.....check it&lt;br /&gt;&lt;br /&gt;&lt;a href="http://adf.ly/aB"&gt;linuxquestions.org/questions/linux-newbie-8/learn-the-dd-command-362506/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you want a good book on this subject also check out File System Forensic Analysis by Brian Carrier (creator of TSK)&lt;br /&gt;&lt;br /&gt;No sense in me, doubling someones efforts...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-8166671277373922592?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/8166671277373922592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=8166671277373922592&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/8166671277373922592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/8166671277373922592'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2009/01/learn-dd-command.html' title='learn dd command'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-1951718274184529109</id><published>2009-01-01T00:05:00.004-06:00</published><updated>2009-05-08T23:28:51.721-05:00</updated><title type='text'>SSL broken! Hackers create rogue CA certificate using MD5 collisions</title><content type='html'>Wow, what a way to start the new year. &lt;br /&gt;&lt;br /&gt;It was a matter of time before &lt;span style="font-weight:bold;"&gt;SSL&lt;/span&gt; would be broken.&lt;br /&gt;&lt;br /&gt;It's about time. Will be interesting to see what will come of this. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://adf.ly/aC"&gt;blogs.zdnet.com/security/?p=2339&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;HAPPY 2009!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-1951718274184529109?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/1951718274184529109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=1951718274184529109&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/1951718274184529109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/1951718274184529109'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2009/01/ssl-broken-hackers-create-rogue-ca.html' title='SSL broken! Hackers create rogue CA certificate using MD5 collisions'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-8270714675465498904</id><published>2008-12-07T23:40:00.003-06:00</published><updated>2008-12-08T00:25:08.795-06:00</updated><title type='text'>How To Convert PDF Document To Images and Vice Versa</title><content type='html'>To Convert PDF to JPG:&lt;br /&gt;convert some.pdf some.jpg&lt;br /&gt;# this will create some.jpg.PAGE# for each page in the PDF&lt;br /&gt;&lt;br /&gt;Alternately if you want custom naming scheme:&lt;br /&gt;convert some.pdf some%03d.png&lt;br /&gt;# this will create somePAGE#.png&lt;br /&gt;&lt;br /&gt;To create PDF out of multiple image in a directory:&lt;br /&gt;cd img_dir &amp;&amp; convert *jpg some.pdf&lt;br /&gt;#places each image on it's own PAGE&lt;br /&gt;&lt;br /&gt;If you need more info than this don't stop Googling.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-8270714675465498904?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/8270714675465498904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=8270714675465498904&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/8270714675465498904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/8270714675465498904'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/12/how-to-convert-pdf-document-to-images.html' title='How To Convert PDF Document To Images and Vice Versa'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-1676655283448723860</id><published>2008-12-07T20:27:00.005-06:00</published><updated>2009-01-30T19:49:55.038-06:00</updated><title type='text'>How to By-Pass Stats/Tracking Systems</title><content type='html'>There are a number of ways that one can bypass statistics and user tracking systems that are in use on alot of websites these days. Most systems that employ user tracking either do it via the  url/uri string,1x1 pixel images,web server logs, etc... &lt;br /&gt;&lt;br /&gt;1. Use lynx/links/links2 for browsing web pages. (This won't load any images and browsing experience is not the same, but you can  still see text, which is the most important part anyway)&lt;br /&gt;&lt;br /&gt;2. Disable JS(NoScript/FlashBlock) and showing of images in browser. If you use Firefox Web Browser you can find Extensions that will block those pesky 1x1 tracker images for you. AdBlock&lt;br /&gt;&lt;br /&gt;3. Pay Attention on what you click and instead off clicking on  a link. copy/paste it with minor modifications(removal of a unique id off some sort or something)&lt;br /&gt;&lt;br /&gt;4. Modify your User Agent string in your browsers configuration.&lt;br /&gt;&lt;br /&gt;5. Use a proxy. There are plenty of proxy lists out there for you to use. Be sure to check the RBL for the proxy you use or you may have problems with accessing some sites/services since they may check proxies ip in RBL. Yes, spammers use proxies to send spam, but so do people that don't send spam and want a little anonymity.&lt;br /&gt;&lt;br /&gt;6. Disable cookies. NOTE: Not all sites will work without cookies. You may want to disable cookies on a per site/domain bases. eg. regex.&lt;br /&gt;&lt;br /&gt;7. Delete cookies when changing IP or moving to different proxy, etc...&lt;br /&gt;&lt;br /&gt;Also:&lt;br /&gt;Make sure to protect yourself with Firefox Addons (Noscript, LocalRodeo, RequestPolicy)&lt;br /&gt;&lt;br /&gt;Of course this is not full proof and really depends on the tracking system at hand. If you would like to comment I would appreciate any more ways/ techniques to bypass tracking and stats systems.&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-1676655283448723860?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/1676655283448723860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=1676655283448723860&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/1676655283448723860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/1676655283448723860'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/12/how-to-by-pass-statstracking-systems.html' title='How to By-Pass Stats/Tracking Systems'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-5989228510141081536</id><published>2008-11-06T11:53:00.004-06:00</published><updated>2009-05-08T23:30:36.718-05:00</updated><title type='text'>Load different application based on ip address in CI(CodeIgniter)</title><content type='html'>You can modify the default index.php that comes with &lt;a href="http://adf.ly/D8"&gt;codeigniter&lt;/a&gt; to load a different application based on ip address. Why would I want to do that? You ask. Well, this would allow you to host the main application on a single internal server. While allowing your other servers that face client application. What this means is that you can create the meat of multiple different sites/domain and host them on the one. Then you can access this internal server from the childs and they will display data to the clients. Basically you would create a domain/site, host one file on it to get site based on domain and other options  and display it to client. You can also create some basic caching capability.&lt;br /&gt;&lt;br /&gt;Add this basic code in your index.php file:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;if($_SERVER["REMOTE_ADDR"]=="192.168.1.5")&lt;br /&gt;       $application_folder = "app";&lt;br /&gt;else&lt;br /&gt;   $application_folder = "application";&lt;/blockquote&gt;Of course you could create an array and setup multiple domains with the index.php file that receives the site and sends it to the client. Everything would go thru the uri string and you can implement a highly encrypted string and licensing to the internal server with all apps on it. Then just make sure that same index.php file is on all supported domains. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-5989228510141081536?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/5989228510141081536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=5989228510141081536&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/5989228510141081536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/5989228510141081536'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/11/load-different-application-based-on-ip.html' title='Load different application based on ip address in CI(CodeIgniter)'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-6888252096771864405</id><published>2008-11-06T02:33:00.004-06:00</published><updated>2009-05-08T23:45:35.073-05:00</updated><title type='text'>Templated Modulated CMS</title><content type='html'>&lt;center&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;strong&gt;G&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;strong&gt;O&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="color: rgb(255, 255, 0);"&gt;O&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;G&lt;/span&gt;&lt;span style="color: rgb(0, 255, 0);"&gt;L&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;E&lt;/span&gt;&lt;/strong&gt; &lt;strong&gt;IT!&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;#1&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://adf.ly/aE" target="_blank"&gt;Templated Modulated CMS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;BACK IN BUSINESS&lt;/span&gt;(CMS project is resuming)&lt;br /&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;This &lt;strong&gt;PHP&lt;/strong&gt; &lt;a href="http://adf.ly/aF" target="_blank"&gt;project&lt;/a&gt; partly taking place on &lt;a href="http://adf.ly/D8" target="_blank"&gt;codeigniter&lt;/a&gt; &lt;a href="http://adf.ly/aG" target="_blank"&gt;forum&lt;/a&gt;(I need to update my current public code in forum). This project utilizes CodeIgniter, ModularExtensions, Smarty Template System and CodeIgniter Views give you much power in accessing and passing/placing data. Custom Smarty Functions, Custom Modules. Template Management(Public Online Project is not current with my Client Templates). There are still alot more things I can do to compliment the Project Online. Documentation/User Guide, Examples, Public &lt;span style="font-weight: bold;"&gt;CODE&lt;/span&gt; still need update. Looking To &lt;strong&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;GET PAID&lt;/span&gt;&lt;/strong&gt; to write a complete &lt;span style="color: rgb(0, 0, 255);"&gt;&lt;strong&gt;Templated Modulated CMS&lt;/strong&gt;&lt;/span&gt; for YOU. Possible to turn into eCommerce Application with little work of adding features. I started using Code Igniter for fun, in year 2005.Possible to make multiple domains/sites access single primary domain for multiple sites(done in background), also utilize cache. There alot of options in how you can utilize this project in your business/project needs. With some custom coding you can make random or default template showup. It's easy to take any Free Template Online and Split it up in to this CodeIgniter Application smarty/ci views.&lt;strong&gt;&lt;span style="color: rgb(0, 255, 0);"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;div style="text-align: center;"&gt;&lt;strong&gt;&lt;span style="color: rgb(0, 255, 0);"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;strong&gt;&lt;span style="color: rgb(0, 255, 0);"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;sample _template_theme function which loads css and/or js data from db or file system(based on config)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/aH"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 143px;" src="http://2.bp.blogspot.com/_IGqNVZy9Fro/SSupHPwwu5I/AAAAAAAAAJE/gK_K4AqHDPo/s320/tmcms_template_theme_function.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5272493730722528146" /&gt;&lt;/a&gt;&lt;br /&gt;tmcms has support for custom built modules&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/aI"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 172px;" src="http://3.bp.blogspot.com/_IGqNVZy9Fro/SSuvkXZUf2I/AAAAAAAAAJs/-q6o-8MDoFo/s320/tmcms_modules_support.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5272500828057665378" /&gt;&lt;/a&gt;&lt;br /&gt;Allows you to mix Smarty and PHP syntax together in template views stored in db or filesystem&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/aJ"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 38px;" src="http://4.bp.blogspot.com/_IGqNVZy9Fro/SSuvkD56J7I/AAAAAAAAAJk/Mq1Z6sK7nzk/s320/tmcms_mix_php_and_smarty_syntax.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5272500822825641906" /&gt;&lt;/a&gt;&lt;br /&gt;Dynamic Server Configuration&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/aK"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 75px;" src="http://2.bp.blogspot.com/_IGqNVZy9Fro/SSuvj7JVMrI/AAAAAAAAAJc/OoXS-L7VIpU/s320/tmcms_dynamic_server_configuration.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5272500820474409650" /&gt;&lt;/a&gt;&lt;br /&gt;Module Method Mapping, This function maps all uri variables to appropriate modules and methods&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/aL"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 250px;" src="http://1.bp.blogspot.com/_IGqNVZy9Fro/SSuvjz74TgI/AAAAAAAAAJU/hRgHiG_oZrg/s320/tmcms_default_controller_remap_function.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5272500818538941954" /&gt;&lt;/a&gt;&lt;br /&gt;A Simple Content Template&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/aM"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 166px;" src="http://1.bp.blogspot.com/_IGqNVZy9Fro/SSuvj45UHoI/AAAAAAAAAJM/qtzm5a-sUo0/s320/tmcms_content_template.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5272500819870359170" /&gt;&lt;/a&gt;&lt;br /&gt;Basic Template Theme Function&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/aN"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 143px;" src="http://1.bp.blogspot.com/_IGqNVZy9Fro/SSuxvDS_0fI/AAAAAAAAAKE/Fr37OIj_lKA/s320/tmcms_template_theme_function.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5272503210664251890" /&gt;&lt;/a&gt;&lt;br /&gt;Loading Template / Themes From FileSystem&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/aO"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 214px;" src="http://1.bp.blogspot.com/_IGqNVZy9Fro/SSuxvH1f8hI/AAAAAAAAAJ8/4V4hR_5h6yQ/s320/tmcms_templates_themes_from_file_system.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5272503211882705426" /&gt;&lt;/a&gt;&lt;br /&gt;Multi-Language Support - Store Language Variable in flat Files or Database&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/aP"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 54px;" src="http://1.bp.blogspot.com/_IGqNVZy9Fro/SSuxu7bAsWI/AAAAAAAAAJ0/zHCEQwpd1vU/s320/tmcms_multi_language_support_from_db_or_file_system.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5272503208550379874" /&gt;&lt;/a&gt;&lt;br /&gt;Custom Smarty Functions&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/aQ"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 138px;" src="http://3.bp.blogspot.com/_IGqNVZy9Fro/SSu0F2mabKI/AAAAAAAAAKM/CiX24VJU8mE/s320/tmcms_custom_smarty_functions.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5272505801416273058" /&gt;&lt;/a&gt;&lt;br /&gt;generic views that loads all parsed smarty code&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/aR"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 146px;" src="http://2.bp.blogspot.com/_IGqNVZy9Fro/SSu0GFlkcwI/AAAAAAAAAKU/rEKhDEgFKU0/s320/tmcms_generic_ci_view_that_loads_all_smarty_code.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5272505805439267586" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-6888252096771864405?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/6888252096771864405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=6888252096771864405&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/6888252096771864405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/6888252096771864405'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/11/templated-modulated-cms.html' title='Templated Modulated CMS'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IGqNVZy9Fro/SSupHPwwu5I/AAAAAAAAAJE/gK_K4AqHDPo/s72-c/tmcms_template_theme_function.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-3821294539480250435</id><published>2008-11-04T04:27:00.004-06:00</published><updated>2008-11-04T20:29:17.485-06:00</updated><title type='text'>gconf-editor</title><content type='html'>&lt;a href="apt:gconf-editor"&gt;gconf-editor&lt;/a&gt;: like regedit for gnome, open it from terminal by typing gconf-editor I wasn't able to find a clickable item from menu to get this. Not that you can't add it. Yeah this is some real basic stuff isn't it? Well who cares. I didn't know about it before. I came from a KDE/Slackware background to Gnome/Ubuntu. Change is good.&lt;br /&gt;&lt;br /&gt;Enable horizontal scroll for mouse pad:&lt;br /&gt;/desktop/gnome/peripherals/mouse/pad_horiz_scroll&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-3821294539480250435?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/3821294539480250435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=3821294539480250435&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/3821294539480250435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/3821294539480250435'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/11/gconf-editor.html' title='gconf-editor'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-3121341222620319140</id><published>2008-11-04T03:31:00.007-06:00</published><updated>2009-05-08T23:50:42.589-05:00</updated><title type='text'>gedit as a powerful web development tool</title><content type='html'>All I have to say is WOW. I wish I knew this earlier. I was messing around with gedit's external tools and came to a stump when trying to configure external tools to do svn commit for me. What did I do? I googled about it and found this great article on configuring gedit for development. Now I can use this tool more effectively than what I have been using(kwrite,kate,stock gedit configuration and screem). I have to say that gedit is by far the best one. Plus you can create python plugins to run inside of it. I think my dreams have just come true. :) Now that I think about it. About the only thing gedit can't do is cook, clean and drive my car. Who knows maybe one day it will. Ah, whatever. You should read this great article though. It can make development on linux with less headaches. Dreamweaver? whats that? &lt;br /&gt;&lt;br /&gt;You can find the article here:&lt;br /&gt;&lt;a href="http://adf.ly/aS"&gt;micahcarrick.com/09-29-2007/gedit-html-editor.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is my external tool I came up with to do svn commit from gedit. Currently you need to type the file to commit or a . (dot) to commit whole directory. Maybe someone knows how to fix this mistake. But it works for now so I have to stick with it until I fix it. Yay, now I can commit from gedit. :) The file is below. You can place this file in ~.gnome2/gedit/tools/ and use it as an extenal tool or in gedit goto tools-&gt;external tools and type it in manually, minus comments after shebang.&lt;br /&gt;&lt;br /&gt;file: svn-commit&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;# [Gedit Tool]&lt;br /&gt;# Comment=svn commit&lt;br /&gt;# Name=svn commit&lt;br /&gt;# Shortcut=&lt;Control&gt;F11&lt;br /&gt;# Applicability=all&lt;br /&gt;# Output=output-panel&lt;br /&gt;# Input=document&lt;br /&gt;&lt;br /&gt;svn ci -m exec `zenity --entry --title="Commit" --text="Enter Commit Message"`&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;EDIT:&lt;/span&gt;&lt;br /&gt;Okay, I fixed it after looking at the commit log. Use this one below and not the one above since it's the new updated version that allows you to commit changes to svn repository from gedit. I don't know why I had to say that. But there you go. Notice the dot on the end. Although, you may want to change it to commit a single file instead of the cwd. If so then you can use $GEDIT_CURRENT_DOCUMENT_PATH instead. Just as a note for all my readers. I use my blog posts as a reminder for me for how I did certain things so that I don't have to re-google and re-research my finding again. &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;svn ci  -m "`zenity --entry --title="Commit" --text="Enter Commit Message"`" .&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;you might also want this as well:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;svn add $GEDIT_CURRENT_DOCUMENT_PATH&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;It's also not very hard to run python from external tools as well. See example below:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;python -c "&lt;br /&gt;import os&lt;br /&gt;os.system('ifconfig')&lt;br /&gt;"&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;After having learned this about gedit. I have a feeling that I'm going to dwell on it alot more and come up with some plugins hopefully. That depends on how swamped I am with everything else though. Look for plugins in the near future. Hopefully one that can cook and clean. hehehe, jk. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-3121341222620319140?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/3121341222620319140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=3121341222620319140&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/3121341222620319140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/3121341222620319140'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/11/gedit-as-powerful-web-development-tool.html' title='gedit as a powerful web development tool'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-5377243663321133142</id><published>2008-11-03T23:53:00.004-06:00</published><updated>2009-05-08T23:59:45.983-05:00</updated><title type='text'>.vimrc for python and php editing</title><content type='html'>Here is my .vimrc that I use for editing python scripts. I mostly use nano, but slowly I'm switching to vim. Anyway, here tis.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;syntax enable&lt;br /&gt;filetype indent on&lt;br /&gt;set background=dark&lt;br /&gt;set number&lt;br /&gt;set tabstop=4&lt;br /&gt;set textwidth=0&lt;br /&gt;set nowrap&lt;br /&gt;set et&lt;br /&gt;set sw=4&lt;br /&gt;set smarttab&lt;br /&gt;set scrolljump=5&lt;br /&gt;set showmode&lt;br /&gt;set showmatch&lt;br /&gt;map &lt;f2&gt; :w\|!python %&lt;cr&gt; #press F2 to run script&lt;br /&gt;map &lt;c-c&gt; :w&lt;cr&gt;:!svn commit &lt;cr&gt; #press CTRL-C to commit changes&lt;br /&gt;&lt;/cr&gt;&lt;/cr&gt;&lt;/c-c&gt;&lt;/cr&gt;&lt;/f2&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;It's still a work in progress. Seeing as I'm just getting in the swing of things vim. If you want a vim cheat sheet you can find it &lt;a href="http://adf.ly/aT"&gt;HERE&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you want to have a vimrc file for PHP Editing Click &lt;a href="http://adf.ly/aU"&gt;HERE&lt;/a&gt;&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/6858758628853094588-5377243663321133142?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/5377243663321133142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=5377243663321133142&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/5377243663321133142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/5377243663321133142'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/11/vimrc-for-python-editing.html' title='.vimrc for python and php editing'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-1131999512992794946</id><published>2008-11-03T23:14:00.004-06:00</published><updated>2008-11-03T23:45:41.583-06:00</updated><title type='text'>svn update every 15 seconds</title><content type='html'>There's alot of different ways to go about doing this. update svn repo on a timed basis. You can create a small script (1), add it to cron to run every minute or you can just run the script with an infinite loop with sleep 15. (2)&lt;br /&gt;&lt;br /&gt;(1) create a new file and call it svn_update.sh&lt;br /&gt;put this inside of the script(I know it clunky, but it works):&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;svn update $1&lt;br /&gt;sleep 15&lt;br /&gt;svn update $1&lt;br /&gt;sleep 15&lt;br /&gt;svn update $1&lt;br /&gt;sleep 15&lt;br /&gt;svn update $1&lt;br /&gt;sleep 15&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Now create a cron to run this script every minute, add this to /etc/crontab:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;* * * * * root /dir/to/svn_update.sh /var/www/some_project&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;That is one way. But that way you have a cron running every minute executing this script when you may not need it, Plus this actually is not 15 seconds really. It turns out to be more like 30 or 45 seconds. Depending on your environment.&lt;br /&gt;&lt;br /&gt;(2)This is another way:&lt;br /&gt;&lt;br /&gt;Create a file named svn_update.sh and put this in it:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;while true;do date &amp;&amp; svn update $1 &amp;&amp; sleep 15;done&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Now when you need to work on your project just start this script and it will update your project directory for you every 16 seconds.&lt;br /&gt;&lt;br /&gt;You can run this script in the background like this:&lt;br /&gt;&lt;br /&gt;/dir/to/svn_update.sh /var/www/my_big_project_1 &amp;&lt;br /&gt;&lt;br /&gt;Like I said there's alot of different way to achieve this and results may vary. That really goes for anything in this world though. Enjoy. Back to my book translation project I go. :)&lt;br /&gt;&lt;br /&gt;Oh yeah, make sure to make this script executable. &lt;br /&gt;&lt;br /&gt;chmod +x /dir/to/svn_update.sh&lt;br /&gt;&lt;br /&gt;You can insert &gt;/dev/null in there somewhere if you don't want verbose output. I like verbose, but it gets annoying sometimes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-1131999512992794946?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/1131999512992794946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=1131999512992794946&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/1131999512992794946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/1131999512992794946'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/11/svn-update-every-15-seconds.html' title='svn update every 15 seconds'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-3244806096994387969</id><published>2008-11-03T00:12:00.001-06:00</published><updated>2008-11-03T00:13:58.675-06:00</updated><title type='text'>egenix python modules</title><content type='html'>This command will install all egenix python modules on ubuntu for you.&lt;br /&gt;&lt;br /&gt;quoted from egenix website:&lt;br /&gt;"eGenix™ is a leading provider of Python-based development tools, products and consulting services.&lt;br /&gt;&lt;br /&gt;Our products cover many different application spaces, including database interfacing, fast text processing, and simplifying many everyday tasks in Python, Zope and Plone programming."&lt;br /&gt;&lt;br /&gt;sudo apt-get install `apt-cache search egenix|awk '{ print $1 }'|xargs`&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-3244806096994387969?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/3244806096994387969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=3244806096994387969&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/3244806096994387969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/3244806096994387969'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/11/egenix-python-modules.html' title='egenix python modules'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-4502146777260940154</id><published>2008-11-02T17:01:00.003-06:00</published><updated>2009-05-09T00:04:42.657-05:00</updated><title type='text'>Ubuntu 8.10 Released</title><content type='html'>New Ubuntu 8.10 has been released. &lt;br /&gt;&lt;a href="http://adf.ly/aV"&gt;ubuntu.com&lt;/a&gt;&lt;br /&gt;Downloading and installing in vmware server I am.&lt;br /&gt;&lt;br /&gt;Here are some good links on python programming, if anyone is interested in this kinda stuff.&lt;br /&gt;&lt;a href="http://adf.ly/aW"&gt;techbooksforfree.com/linux.shtml&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/aX"&gt;openbookproject.net&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/aY"&gt;gnosis.cx/TPiP/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/aZ"&gt;www.awaretek.com/tutorials.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/aa"&gt;cbel.com/python_programming_language/&lt;/a&gt;&lt;br /&gt;They are sites I've been hanging out at lately.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-4502146777260940154?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/4502146777260940154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=4502146777260940154&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/4502146777260940154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/4502146777260940154'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/11/ubuntu-810-released.html' title='Ubuntu 8.10 Released'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-2786106513627772947</id><published>2008-10-17T12:48:00.000-05:00</published><updated>2008-10-17T15:22:05.837-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='glade'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='pygtk'/><category scheme='http://www.blogger.com/atom/ns#' term='gui'/><title type='text'>Creating a simple GUI with PyGTK and Glade</title><content type='html'>I found this great article on pygtk.org on how to create simple GUI applications with glade to be used with python and pygtk. This article is very straight forward on how to make a simple HelloWorld GUI application with two widgets. If your used to developing Visual Studio .NET GUI's or are looking to develop GUI for multi-platform then you need to check this out. This is a good start. Before I read this I tried to use glade, but everything is so different than VS.Net that I didn't get anywhere. Now that I read this all makes sense. Also If you are creating applications with wx, you can use wxGlade to make GUI for you and use the same way. Python Rocks. Enjoy.&lt;br /&gt;&lt;a href="http://www.pygtk.org/articles/pygtk-glade-gui/Creating_a_GUI_using_PyGTK_and_Glade.htm"&gt;&lt;br /&gt;http://www.pygtk.org/articles/pygtk-glade-gui/Creating_a_GUI_using_PyGTK_and_Glade.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;On Ubuntu, you can install all things glade like this:&lt;br /&gt;apt-get install `apt-cache search glade|awk '{ if ($1 != "glade-gnome-2" &amp;&amp; $1 != "glade-2" &amp;&amp; $1 != "glade") print $1 }'|xargs`&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-2786106513627772947?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/2786106513627772947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=2786106513627772947&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/2786106513627772947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/2786106513627772947'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/10/creating-simple-gui-with-pygtk-and.html' title='Creating a simple GUI with PyGTK and Glade'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-1322460164579516609</id><published>2008-10-16T19:11:00.002-05:00</published><updated>2009-05-09T00:09:33.023-05:00</updated><title type='text'>Are you Blocking ipv6 traffic on your firewall?</title><content type='html'>New articles are up on &lt;a href="http://adf.ly/ac"&gt;uninformed&lt;/a&gt;. As always it is a good read. Especially an article from H D Moore (Creator of &lt;a href="http://adf.ly/ad"&gt;Metasploit&lt;/a&gt; Project) on ipv6. Check it out.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;NOTE:&lt;/span&gt; On ubuntu ufw doesn't block ipv6 traffic by default and yes, ipv6 is enabled by default. :)&lt;br /&gt;&lt;br /&gt;To disable IPv6 on Ubuntu Linux, open /etc/modprobe.d/blacklist in the editor of your choice and add the following lines to the end of the file:&lt;br /&gt;&lt;br /&gt; # disable IPv6&lt;br /&gt; blacklist ipv6&lt;br /&gt;&lt;br /&gt;Now reboot for changes to take effect.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-1322460164579516609?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/1322460164579516609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=1322460164579516609&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/1322460164579516609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/1322460164579516609'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/10/are-you-blocking-ipv6-traffic-on-your.html' title='Are you Blocking ipv6 traffic on your firewall?'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-3519904452451165645</id><published>2008-10-08T20:27:00.002-05:00</published><updated>2009-05-09T00:16:30.322-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Modulated'/><category scheme='http://www.blogger.com/atom/ns#' term='Variables'/><category scheme='http://www.blogger.com/atom/ns#' term='CodeIgniter'/><category scheme='http://www.blogger.com/atom/ns#' term='Templated'/><category scheme='http://www.blogger.com/atom/ns#' term='Extensions'/><category scheme='http://www.blogger.com/atom/ns#' term='mvc'/><category scheme='http://www.blogger.com/atom/ns#' term='HMVC'/><category scheme='http://www.blogger.com/atom/ns#' term='symlinks'/><category scheme='http://www.blogger.com/atom/ns#' term='CMS'/><category scheme='http://www.blogger.com/atom/ns#' term='Templates'/><category scheme='http://www.blogger.com/atom/ns#' term='CI'/><category scheme='http://www.blogger.com/atom/ns#' term='Environment'/><category scheme='http://www.blogger.com/atom/ns#' term='Modular'/><category scheme='http://www.blogger.com/atom/ns#' term='Environ'/><category scheme='http://www.blogger.com/atom/ns#' term='Smarty'/><category scheme='http://www.blogger.com/atom/ns#' term='Awesome'/><category scheme='http://www.blogger.com/atom/ns#' term='System'/><title type='text'>My Templated Modulated CMS</title><content type='html'>Are you looking to develop a site for a client? No problem, You can use &lt;a href="http://adf.ly/D8"&gt;Codeigniter&lt;/a&gt; and a few modules to create a Templated Modulated Content Management System. With Authentication, Authorization, Crud, Modular Extensions ,Smarty Template System and my Environ Library(&lt;span style="font-weight:bold;"&gt;smarty-hmvc-environment-variables&lt;/span&gt;). &lt;br /&gt;&lt;br /&gt;This environ library holds the state of your templates, where the templates come from and the content there in. Settings can be stored in files or mysql. &lt;br /&gt;&lt;br /&gt;It parses CodeIgniter View Syntax on top of smarty. This is freakin' Awesome. I shit you NOT. (Pardon my lang) &lt;br /&gt;&lt;br /&gt;The thing is that it has so much power that it tends to make your code messy. Because there are so many ways to access the data. But if you have good separation via directories and or symlinks, it will be very nice.&lt;br /&gt;&lt;br /&gt;If you have to backup or move the app to another folder/server you will have problems propagating the symlinks. I'm sure there's a better way to accomplish this aspect of the application base layer. &lt;br /&gt;&lt;br /&gt;You can add custom functions to smarty it's not hard.&lt;br /&gt;&lt;br /&gt;If you use Dreamweaver or are used to a certain syntax highlighting of some sort you can make all smarty code start with &lt;!--{ (essentially a html comment) This is great, now all smarty is grayed out since your text editor thinks it a comment. &lt;br /&gt;&lt;br /&gt;In order to make this lib work for you, you need to complete a number of prerequisites. You will find further instructions by doing some research on the results from this Google search.&lt;br /&gt;&lt;br /&gt;I've used this base environ lib for some sites and it works great. Especially with a little bit of jQuery/Ajax you just load all controller from main controller. All this would not be possible without Modular Extensions and Smarty library. Environ library is basically a wrapper around both. So it will not function without one of these. You can also read up on Modular Extensions in the Code Igniter Forum. Ignited Code is the place you want to be my friend. I hope you enjoy it. You can definitely make easy money with it. It minimizes the time you have to spend making sites if you have templates all layed out/separated for different styles....(You gotta keep 'em separated). Knowledge is POWER. Peace. -A&lt;br /&gt;&lt;br /&gt;NOTE:&lt;span style="font-weight:bold;"&gt; Of Course this code can be beautified. This project hasn't moved since April of this year. I will spend more time on as soon as I need this functionality in a higher priority project.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;edit:&lt;br /&gt;&lt;a href="http://adf.ly/aE"&gt;&lt;br /&gt;Google It&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://adf.ly/aj"&gt;More about Templated Modulated CMS here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-3519904452451165645?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/3519904452451165645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=3519904452451165645&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/3519904452451165645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/3519904452451165645'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/10/my-templated-modulated-cms-open-version.html' title='My Templated Modulated CMS'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-6622190901181790017</id><published>2008-10-08T05:23:00.001-05:00</published><updated>2009-05-09T00:19:50.105-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='Torvalds'/><category scheme='http://www.blogger.com/atom/ns#' term='Linus'/><category scheme='http://www.blogger.com/atom/ns#' term='Family'/><category scheme='http://www.blogger.com/atom/ns#' term='git'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Gtk'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='PyCrust'/><category scheme='http://www.blogger.com/atom/ns#' term='Blog'/><title type='text'>Linus Torvalds Blog</title><content type='html'>Linus Torvalds now has a blog. Check it out. You might learn something. It only has a few posts. But what he writes about is really good. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://adf.ly/am"&gt;torvalds-family.blogspot.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In a post Linus writes how he wrote a tool to limit his kids' computer usage. You can find the project here:&lt;br /&gt;&lt;a href="http://adf.ly/an"&gt;http://git.kernel.org/?p=linux/kernel/git/torvalds/tracker.git;a=summary&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's very interesting to see how a project evolves in open-source . I especially learned a few things from this. One being how to write c for python. Two, how easy it is to use gtk. Three, gtk library doesn't make pyCrust crash, unlike wx. yippie. This is pretty sweet. Definitely a great read. Thanks -A&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-6622190901181790017?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/6622190901181790017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=6622190901181790017&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/6622190901181790017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/6622190901181790017'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/10/linus-torvalds-blog.html' title='Linus Torvalds Blog'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-6399145516723742399</id><published>2008-10-07T22:00:00.001-05:00</published><updated>2009-05-09T00:22:11.097-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Schematics'/><category scheme='http://www.blogger.com/atom/ns#' term='Images'/><category scheme='http://www.blogger.com/atom/ns#' term='Adaptor'/><category scheme='http://www.blogger.com/atom/ns#' term='Keyspan'/><category scheme='http://www.blogger.com/atom/ns#' term='USB'/><category scheme='http://www.blogger.com/atom/ns#' term='RS232'/><category scheme='http://www.blogger.com/atom/ns#' term='Serial'/><title type='text'>USB Serial Adaptor Schematic</title><content type='html'>I just found an interesting site with schematics for RS232 to usb converter cable(keyspan). Amongst other things, pinout. I was actually looking for something to assist me with one of my usb stick soldering projects. I guess I'll have to keep looking. This is pretty interesting stuff though and I couldn't refrain myself from posting it here. I hope you enjoy it as I have. It is no doubt useful to someone. Thanks dudes at pinouts.ru&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/ar"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://pinouts.ru/images/usb-rs232-converter.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-6399145516723742399?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/6399145516723742399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=6399145516723742399&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/6399145516723742399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/6399145516723742399'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/10/usb-pinoutsru-website.html' title='USB Serial Adaptor Schematic'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-7718019365373233574</id><published>2008-10-06T00:02:00.001-05:00</published><updated>2009-05-09T00:20:53.068-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maps'/><category scheme='http://www.blogger.com/atom/ns#' term='colors'/><category scheme='http://www.blogger.com/atom/ns#' term='Palette'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>palette on google maps</title><content type='html'>This color palette can be had from Google Maps at these coordinates: &lt;br /&gt;&lt;br /&gt;5°5′28.85"S 81°7′36.44"W&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/ap"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_IGqNVZy9Fro/SOmc9dpdTAI/AAAAAAAAACs/x4pBsfLPAOY/s320/pallete_map.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5253903020048862210" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I originally found out about it from another blog. Not sure where at the moment. Figure I'd share it with my faithful readers :) Have a great day. -A&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-7718019365373233574?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/7718019365373233574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=7718019365373233574&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/7718019365373233574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/7718019365373233574'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/10/pallete-on-google-maps.html' title='palette on google maps'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IGqNVZy9Fro/SOmc9dpdTAI/AAAAAAAAACs/x4pBsfLPAOY/s72-c/pallete_map.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-1350271282988734143</id><published>2008-10-04T15:17:00.001-05:00</published><updated>2009-05-09T00:24:20.633-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Images'/><category scheme='http://www.blogger.com/atom/ns#' term='stdout'/><category scheme='http://www.blogger.com/atom/ns#' term='colors'/><category scheme='http://www.blogger.com/atom/ns#' term='Terminal'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual'/><category scheme='http://www.blogger.com/atom/ns#' term='Presentation'/><category scheme='http://www.blogger.com/atom/ns#' term='Examples'/><category scheme='http://www.blogger.com/atom/ns#' term='urlpacker'/><category scheme='http://www.blogger.com/atom/ns#' term='Console'/><title type='text'>stdout_colours.py update (now with example)</title><content type='html'>I've updated my stdout_colours.py library. You can now choose whether to display colors and caller/caller function output. I also added an example. It's not a simple "Hello, World". I decided to use one of my urlpacker (Borrowed From Somewhere on the internet)scripts to show you how stdout_colours can be used in your classes and function.&lt;br /&gt;&lt;br /&gt;Take a look at the project located on Google code.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://adf.ly/at"&gt;code.google.com/p/python-stdout-colors/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/au"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_IGqNVZy9Fro/SO2B4Lk8-oI/AAAAAAAAADE/5TBkMzO194Y/s320/stdout-colors-urlpacker-screenshot.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5254999142391675522" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/av"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_IGqNVZy9Fro/SO2IKUMfviI/AAAAAAAAADM/Ld7YB1Ig6f4/s320/stdout-colors-urlpacker-screenshot-2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5255006051012427298" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It is good for a app that gives alot of output to the terminal. Your eyes will pick up color faster than they will black on white text. It is something I add to all my projects now. For easier output representation. Enjoy it. It's really cool.&lt;br /&gt;Please post any modifications that you make as a courtesy. I would greatly appreciate it and would like to improve this lib with a dozen more features/functions. So far it gets updated on a project need bases. If it's good, I use it in future projects. The usual drill. Tell me what you think.&lt;br /&gt;&lt;br /&gt;Thanks, -A&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-1350271282988734143?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/1350271282988734143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=1350271282988734143&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/1350271282988734143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/1350271282988734143'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/10/stdoutcolourspy-update-now-with-example.html' title='stdout_colours.py update (now with example)'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_IGqNVZy9Fro/SO2B4Lk8-oI/AAAAAAAAADE/5TBkMzO194Y/s72-c/stdout-colors-urlpacker-screenshot.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-3777879458920021880</id><published>2008-10-03T22:01:00.001-05:00</published><updated>2009-05-09T00:28:04.703-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flakiest'/><category scheme='http://www.blogger.com/atom/ns#' term='Images'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='Shell'/><category scheme='http://www.blogger.com/atom/ns#' term='PyCrust'/><title type='text'>PyCrust - The Flakiest Python shell</title><content type='html'>Python Namespaces:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/aw"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_IGqNVZy9Fro/SObuVsbEdnI/AAAAAAAAACU/Um63DzZo858/s320/pycrust_main_screenshot.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5253148071843624562" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;CallTips:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/ay"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_IGqNVZy9Fro/SOb3TTIa1QI/AAAAAAAAACc/cLnE9UKZ1i0/s320/pycrust_dir_screenshot.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5253157926299424002" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;AutoComplete Objects:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/az"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_IGqNVZy9Fro/SOb3TZlB9dI/AAAAAAAAACk/tet2Pm1qlko/s320/pycrust_auto_screenshot.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5253157928030041554" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Download PyCrust - The Flakiest Python Shell at &lt;a href="http://adf.ly/b1"&gt;sourceforge.net/projects/pycrust/&lt;/a&gt; It's really nice. It has alot of features that let you see into loaded python object. Although when I imported wx and tried to view the loaded details it crashed. As the name implies that was pretty flaky. Try importing sys or os libs and see for your self. This tool is good to have in the toolbox. Thanks. -A&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;EDIT:&lt;/span&gt; You can also checkout &lt;a href="http://adf.ly/b3"&gt;SPE(Stani's Python Editor)&lt;/a&gt;. apt-get install spe&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-3777879458920021880?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/3777879458920021880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=3777879458920021880&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/3777879458920021880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/3777879458920021880'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/10/pycrust.html' title='PyCrust - The Flakiest Python shell'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_IGqNVZy9Fro/SObuVsbEdnI/AAAAAAAAACU/Um63DzZo858/s72-c/pycrust_main_screenshot.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-9135262249070245189</id><published>2008-10-03T15:05:00.001-05:00</published><updated>2008-10-08T22:45:01.980-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='YouTube'/><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><category scheme='http://www.blogger.com/atom/ns#' term='Surface'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Micro$pft Surface</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/rP5y7yp06n0&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/rP5y7yp06n0&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-9135262249070245189?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/9135262249070245189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=9135262249070245189&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/9135262249070245189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/9135262249070245189'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/10/microsoft-surface.html' title='Micro$pft Surface'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-509718731044058957</id><published>2008-10-02T12:18:00.001-05:00</published><updated>2009-05-09T00:33:17.719-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comics'/><category scheme='http://www.blogger.com/atom/ns#' term='Ideas'/><category scheme='http://www.blogger.com/atom/ns#' term='Dell'/><category scheme='http://www.blogger.com/atom/ns#' term='IdeaStorm'/><category scheme='http://www.blogger.com/atom/ns#' term='programmer'/><category scheme='http://www.blogger.com/atom/ns#' term='robotpony.ca'/><title type='text'>Dell's IdeaStorm</title><content type='html'>Here's a nice site to place your ideas in regards to computer software/hardware in Dell Computers. Register for an account and Promote some good ideas as well as add some of you own. Please do this. Thank you.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://adf.ly/b5"&gt;ideastorm.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A programmers comic site. Very Nice. I like. Built on CI.&lt;br /&gt;&lt;a href="http://adf.ly/b6"&gt;robotpony.ca&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here's a taste.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/b7"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://robotpony.ca/images/2008/microsoft-trends.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;HAHA, My Favorite. :)&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Top 11 booleans used in enterprise architecture&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/b8"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://robotpony.ca/images/2008/true-false-wanker.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;A day in the life of a programmer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/b9"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://robotpony.ca/images/2008/programmer_food_pyramid.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The land of the zombies&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/bA"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://robotpony.ca/images/2008/want-need.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Last Minute Code Changes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/bB"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://robotpony.ca/images/2007/states.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I found this on &lt;a href="http://adf.ly/bC"&gt;indexed.blogspot.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://adf.ly/bD"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://3.bp.blogspot.com/_FBXGhy-QmVw/SNu5ok9vxNI/AAAAAAAACBI/IGAHffllNGI/s320/card1816.JPG" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;Enjoy. -A&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-509718731044058957?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/509718731044058957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=509718731044058957&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/509718731044058957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/509718731044058957'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/10/dell-ideastorm.html' title='Dell&apos;s IdeaStorm'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_FBXGhy-QmVw/SNu5ok9vxNI/AAAAAAAACBI/IGAHffllNGI/s72-c/card1816.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-4619593796714671722</id><published>2008-09-30T11:54:00.002-05:00</published><updated>2009-05-09T00:57:17.741-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='wikipedia'/><category scheme='http://www.blogger.com/atom/ns#' term='journals'/><category scheme='http://www.blogger.com/atom/ns#' term='reference'/><category scheme='http://www.blogger.com/atom/ns#' term='asm'/><category scheme='http://www.blogger.com/atom/ns#' term='masn'/><category scheme='http://www.blogger.com/atom/ns#' term='assembly'/><category scheme='http://www.blogger.com/atom/ns#' term='manuals'/><category scheme='http://www.blogger.com/atom/ns#' term='documents'/><category scheme='http://www.blogger.com/atom/ns#' term='ida pro'/><category scheme='http://www.blogger.com/atom/ns#' term='disassembly'/><category scheme='http://www.blogger.com/atom/ns#' term='ollydbg'/><category scheme='http://www.blogger.com/atom/ns#' term='syscall'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>Links to good documents about assembly / disassembly / reveng / systems</title><content type='html'>In this post is a collection a good links I've accumulated over some time. This is mostly programming material in assembly. Using tools for assembly/disassembly of running processes and mappings of function in memory, etc... Please enjoy these good reads as I have. I especially liked the one on netrino.com about testing memory on embedded systems. This would be a nice project to do for testing memory in servers and desktops alike. Maybe in assembly, so the application footprint is not so big. This would also reduce the amount of time needed to run each test. I will update my post on .bashrc. This way you can have some alias' for the respects of assembling, disassembling, compiling, decompiling and debugging applications on Unix/Linux environment. Thanks. Enjoy. -A&lt;br /&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bK"&gt;http://www.nasm.us/doc/nasmdoc2.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bL"&gt;http://asm.sourceforge.net//syscall.html&lt;/a&gt;&lt;a href="http://adf.ly/bM"&gt;&lt;br /&gt;http://asm.sourceforge.net//howto/Assembly-HOWTO.html&lt;/a&gt;&lt;br /&gt;&lt;a href="tp://adf.ly/bN"&gt;http://sourceware.org/binutils/docs/as/index.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bO"&gt;http://www.tldp.org/LDP/lki/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bP"&gt;http://www.cplusplus.com/reference/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bQ"&gt;http://www.itee.uq.edu.au/~comp2303/Leslie_C_ref/C/cref.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bR"&gt;http://webster.cs.ucr.edu/AoA/Windows/HTML/AoATOC.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bS"&gt;http://www.intel.com/products/processor/manuals/index.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bT"&gt;http://www.amd.com/us-en/Processors/DevelopWithAMD/0,,30_2252_875_7044,00.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bU"&gt;http://www.netrino.com/Embedded-Systems/How-To/Memory-Test-Suite-C&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bV"&gt;http://www.ibiblio.org/pub/historic-linux/distributions/slackware/3.1/docs/ELF-HOWTO&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bW"&gt;http://cs.mipt.ru/docs/comp/eng/os/linux/howto/howto_english/elf/elf-howto.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bX"&gt;http://www.hex-rays.com/idapro/idadown.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bY"&gt;http://www.linuxforums.org/misc/understanding_elf_using_readelf_and_objdump.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bZ"&gt;http://biew.sourceforge.net/en/biew.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bb"&gt;http://www.linuxjournal.com/article/1059&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bd"&gt;http://www.linuxjournal.com/article/1060&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/be"&gt;http://en.wikipedia.org/wiki/Executable_and_Linkable_Format&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bf"&gt;http://en.wikipedia.org/wiki/Physical_Address_Extension&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bg"&gt;http://en.wikipedia.org/wiki/Page_replacement_algorithms&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bh"&gt;http://en.wikipedia.org/wiki/Realloc&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bi"&gt;http://en.wikipedia.org/wiki/Call_stack&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bj"&gt;http://en.wikipedia.org/wiki/Page_table&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bk"&gt;http://en.wikipedia.org/wiki/Instruction_set_architecture&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bl"&gt;http://en.wikipedia.org/wiki/X86_instruction_listings&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/bn"&gt;http://en.wikipedia.org/wiki/Protected_mode&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-4619593796714671722?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/4619593796714671722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=4619593796714671722&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/4619593796714671722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/4619593796714671722'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/09/links-to-good-documents-about-assembly.html' title='Links to good documents about assembly / disassembly / reveng / systems'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-7538512572110414186</id><published>2008-09-26T22:06:00.000-05:00</published><updated>2008-10-08T22:38:10.887-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Resolutions'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='Snort'/><category scheme='http://www.blogger.com/atom/ns#' term='Errors'/><title type='text'>OpenBSD Snort:  Cannot check flow connection for non-TCP traffic</title><content type='html'>I wasted a couple hours trying to figure out why snort would NOT start. It seems I was using CURRENT and not the actual current version number. Look in /var/log/daemon file to see what is happening. If you see anything like this:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Cannot check flow connection for non-TCP traffic&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;It means your snort rules or snort.conf file is NOT of the same version of snort you installed. Check which snort version you have like this:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;snort -v&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;make sure that is you have oinkmaster installed make sure that your url is reflecting the correct rules file to download and oinkcode. You must first register with snort.org to receive an oinkcode.&lt;br /&gt;&lt;br /&gt;Then just do this to update your rules, notice the dot:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;cd /etc/snort/rules &amp;&amp; oinkmaster -o .&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;or place into a cron for auto update of snort rules. Hope this saves someone a couple hours. -A&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-7538512572110414186?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/7538512572110414186/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=7538512572110414186&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/7538512572110414186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/7538512572110414186'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/09/openbsd-snort-cannot-check-flow.html' title='OpenBSD Snort:  Cannot check flow connection for non-TCP traffic'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-1097742675848642285</id><published>2008-09-20T07:22:00.000-05:00</published><updated>2008-10-08T22:37:16.940-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='curl.py'/><category scheme='http://www.blogger.com/atom/ns#' term='stdout'/><category scheme='http://www.blogger.com/atom/ns#' term='class'/><category scheme='http://www.blogger.com/atom/ns#' term='colors'/><category scheme='http://www.blogger.com/atom/ns#' term='template'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>My python curl.py class template with stdout colors support</title><content type='html'>This is my curl.py class that I use as a template. It supports stdout colors. When a function is called is displays output of the caller and called functions. Also you can display any string, list, dict,tuple,etc...Very Nice, I like. It's the same thing as using print. Only you add color to the output. I especially like it for situations like. Displaying webpage data. Large amounts of it. Logs and CSV files. You can find patters and display them in different colors. You can use this script to download and upload data to any website. Please correct indentation where necessary.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;How to Use:&lt;/span&gt;  sess = curl.session("") #create new session&lt;br /&gt;            sess.login("http://domain/site/login_post","admin","super_secret_pass")&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;#!/usr/bin/env python&lt;br /&gt;from ctypes import *&lt;br /&gt;import os, sys, types, urllib, urllib2, urlparse, string, pycurl&lt;br /&gt;import stdout_colours&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;class curl(object):&lt;br /&gt; "Encapsulate user operations on CGIs through curl."&lt;br /&gt; def __init__(self, base_url=""):&lt;br /&gt;  self.func_me_color="white_on_black"&lt;br /&gt;  self.soc=stdout_colours.stdout_colors()&lt;br /&gt;  self.soc.me_him(['ENTER:',__name__],self.func_me_color)&lt;br /&gt;  # These members might be set.&lt;br /&gt;         self.base_url = base_url&lt;br /&gt;         self.verbosity = 0&lt;br /&gt;         # Nothing past here should be modified by the caller.&lt;br /&gt;         self.response = ""&lt;br /&gt;         self.curlobj = pycurl.Curl()&lt;br /&gt;         # Verify that we've got the right site...&lt;br /&gt;         self.curlobj.setopt(pycurl.SSL_VERIFYHOST, 2)&lt;br /&gt;         # Follow redirects in case it wants to take us to a CGI...&lt;br /&gt;         self.curlobj.setopt(pycurl.FOLLOWLOCATION, 1)&lt;br /&gt;         self.curlobj.setopt(pycurl.MAXREDIRS, 5)&lt;br /&gt;         # Setting this option with even a nonexistent file makes libcurl&lt;br /&gt;         # handle cookie capture and playback automatically.&lt;br /&gt;         self.curlobj.setopt(pycurl.COOKIEFILE, "/dev/null")&lt;br /&gt;         # Set timeouts to avoid hanging too long&lt;br /&gt;         self.curlobj.setopt(pycurl.CONNECTTIMEOUT, 30)&lt;br /&gt;         self.curlobj.setopt(pycurl.TIMEOUT, 300)&lt;br /&gt;         # Set up a callback to capture&lt;br /&gt;         def response_callback(x):&lt;br /&gt;              self.response += x&lt;br /&gt;         self.curlobj.setopt(pycurl.WRITEFUNCTION, response_callback)&lt;br /&gt;  self.soc.me_him(['EXIT:',__name__],self.func_me_color)&lt;br /&gt;     def set_verbosity(self, level):&lt;br /&gt;         "Set verbosity to 1 to see transactions."&lt;br /&gt;  self.soc.me_him(['ENTER:',__name__],self.func_me_color)&lt;br /&gt;         self.curlobj.setopt(pycurl.VERBOSE, level)&lt;br /&gt;  self.soc.me_him(['EXIT:',__name__],self.func_me_color)&lt;br /&gt;     def get(self, cgi, params="",verbose=0):&lt;br /&gt;         "Ship a GET request to a specified CGI, capture the response body."&lt;br /&gt;  self.soc.me_him(['ENTER:',__name__],self.func_me_color)&lt;br /&gt;         if params:&lt;br /&gt;              cgi += "?" + urllib.urlencode(params)&lt;br /&gt;         self.curlobj.setopt(pycurl.URL, os.path.join(self.base_url, cgi))&lt;br /&gt;         self.curlobj.setopt(pycurl.HTTPGET, 1)&lt;br /&gt;         self.response = ""&lt;br /&gt;         self.curlobj.perform()&lt;br /&gt;  if verbose &gt; 0:&lt;br /&gt;   print self.response&lt;br /&gt;  self.soc.me_him(['EXIT:',__name__],self.func_me_color)&lt;br /&gt;  &lt;br /&gt;     def post(self, cgi, params,verbose=0):&lt;br /&gt;         "Ship a POST request to a specified CGI, capture the response body.."&lt;br /&gt;  self.soc.me_him(['ENTER:',__name__],self.func_me_color)&lt;br /&gt;         self.curlobj.setopt(pycurl.URL, os.path.join(self.base_url, cgi))&lt;br /&gt;         self.curlobj.setopt(pycurl.POST, 1)&lt;br /&gt;         self.curlobj.setopt(pycurl.POSTFIELDS, urllib.urlencode(params))&lt;br /&gt;         self.response = ""&lt;br /&gt;         self.curlobj.perform()&lt;br /&gt;  if verbose&gt;0:&lt;br /&gt;   print self.response&lt;br /&gt;  self.soc.me_him(['EXIT:',__name__],self.func_me_color)&lt;br /&gt; def upload(self, cgi, file_name, file, verbose=0):&lt;br /&gt;         "POST file from localhost to location/cgi."&lt;br /&gt;  self.soc.me_him(['ENTER:',__name__],self.func_me_color)&lt;br /&gt;         self.curlobj.setopt(pycurl.URL, os.path.join(self.base_url, cgi))&lt;br /&gt;         self.curlobj.setopt(pycurl.HTTPPOST,[(file_name, (pycurl.FORM_FILE,file))])&lt;br /&gt;         self.response = ""&lt;br /&gt;         self.curlobj.perform()&lt;br /&gt;  if verbose&gt;0:&lt;br /&gt;   print self.response&lt;br /&gt;  self.soc.me_him(['EXIT:',__name__],self.func_me_color)&lt;br /&gt;filename), "wb").write(content)&lt;br /&gt; &lt;br /&gt; #fnames = ",".join([fname for fname, ct, c in files])&lt;br /&gt; #return HttpResponse("me-%s-RECEIVE-OK[POST=%s,files=%s]" % (request.META["SERVER_PORT"], request.POST.values(), fnames ))&lt;br /&gt;&lt;br /&gt;     def answered(self, check):&lt;br /&gt;         "Does a given check string occur in the response?"&lt;br /&gt;  self.soc.me_him(['ENTER:',__name__],self.func_me_color)&lt;br /&gt;  self.soc.me_him(['RETURN:',__name__],self.func_me_color)&lt;br /&gt;         return self.response.find(check) &gt;= 0&lt;br /&gt;     def close(self):&lt;br /&gt;         "Close a session, freeing resources."&lt;br /&gt;  self.soc.me_him(['ENTER:',__name__],self.func_me_color)&lt;br /&gt;         self.curlobj.close()&lt;br /&gt;  self.soc.me_him(['EXIT:',__name__],self.func_me_color)&lt;br /&gt;&lt;br /&gt;class session(curl):&lt;br /&gt; def login(self, cgisite,username, password):&lt;br /&gt;  """login - cgi="account/login.php",params=(("username",name),("password",pass),("foo","bar")) """&lt;br /&gt;  self.soc.me_him(['ENTER:',__name__],self.func_me_color)&lt;br /&gt;  self.post(cgisite, (("username",username),&lt;br /&gt;      ("password",password),&lt;br /&gt;      ("mode","login"),&lt;br /&gt;      ("usertype","P"),&lt;br /&gt;      ("redirect","admin")))&lt;br /&gt;  self.soc.me_him(['EXIT:',__name__],self.func_me_color)&lt;br /&gt; def logout(self, cgisite):&lt;br /&gt;  """logout - cgi="account/logout.php" """&lt;br /&gt;  self.soc.me_him(['ENTER:',__name__],self.func_me_color)&lt;br /&gt;  self.get(cgisite)&lt;br /&gt;  self.soc.me_him(['EXIT:',__name__],self.func_me_color)&lt;br /&gt;  &lt;br /&gt;if __name__ == "__main__":&lt;br /&gt; if len(sys.argv) &lt; 3:&lt;br /&gt;  print "Usage: %s \"schema://site/cgi\" \"username\" \"password\"" % sys.argv[0]&lt;br /&gt; site=sys.argv[1]&lt;br /&gt; username=sys.argv[2]&lt;br /&gt; password=sys.argv[3]&lt;br /&gt; sess=session("")&lt;br /&gt; sess.set_verbosity(1)&lt;br /&gt; sess.login(site,username,password)&lt;br /&gt; a=""&lt;br /&gt; for i in range(len(password)):&lt;br /&gt;  a+="*"&lt;br /&gt; &lt;br /&gt; print "YOU ARE LOGGED IN!",site,username,a&lt;br /&gt; sess.logout()&lt;br /&gt; sess.close()&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-1097742675848642285?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/1097742675848642285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=1097742675848642285&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/1097742675848642285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/1097742675848642285'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/09/my-python-curlpy-class-template-with.html' title='My python curl.py class template with stdout colors support'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-8077199520338839372</id><published>2008-09-19T11:19:00.000-05:00</published><updated>2008-10-08T22:36:07.219-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Script'/><category scheme='http://www.blogger.com/atom/ns#' term='Incremental'/><category scheme='http://www.blogger.com/atom/ns#' term='Download'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>Python Incremental Downloader Script</title><content type='html'>This is a script that will incremental download all files on a website. It accumulates all names and sends you an email to user@localhost of files that were downloaded and kept. Which ones were downloaded and deleted due to a wrong file size. etc...  Make modification/s where necessary. This is something that worked for me. Most sites don't need the session variable passed via query string. For the ones that do this script work great. You may come across sites that require storage of cookie. The most feasible way I can think of that you would accomplish this is if you used pyCurl. You can also add this functionality to a bot that will download files and zip them after reaching a certain directory space limit. For easy download via DCC(in python) or something. A lot of possibilities here. Depending on the site and your connection you make get in extent of 10GB per day download speeds. Of course there may be a better way to implement the functionality. This is one way to do it. You can add more functions named start_&lt;name of html tag here&gt; and do what you will with the data. Such as img, form or input fields. Nuff said. Enjoy this script. It not mine really and you can do what you want with it. No Restrictions and all that mumbo jumbo. &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;NOTE: Modification is required to use this script.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;#!/usr/bin/env python&lt;br /&gt;#download all txt files&lt;br /&gt;&lt;br /&gt;from sgmllib import SGMLParser&lt;br /&gt;import os,sys,urllib,string&lt;br /&gt;&lt;br /&gt;class URLLister(SGMLParser):&lt;br /&gt;    def reset(self):&lt;br /&gt;        SGMLParser.reset(self)&lt;br /&gt;        self.urls = []&lt;br /&gt;&lt;br /&gt;    def start_a(self, attrs):&lt;br /&gt;        href = [v for k, v in attrs if k == 'href']&lt;br /&gt;        if href:&lt;br /&gt;            self.urls.extend(href)&lt;br /&gt;        &lt;br /&gt;class file_downloader(object):&lt;br /&gt;    def __init__(self):&lt;br /&gt;        self.c="" #used to hold session string&lt;br /&gt;        self.modu=150 # perform session check every modulus == 0&lt;br /&gt;        self.h="http://www.example.org" #used to get session&lt;br /&gt;        self.u="http://www.example.org/download.php?id=" #used to get file via sess&lt;br /&gt;        self.d="file/" #dir to dl files to&lt;br /&gt;        self.mailer=True #send mail upon complete&lt;br /&gt;        self.to_email="user@localhost" #message are sent here if above True&lt;br /&gt;        self.ws=110 #wrong file size&lt;br /&gt;        self.messagerm="" #used to hold message sent of removed files&lt;br /&gt;        self.messagesv="" #used to hold message sent of saved files&lt;br /&gt;        self.messageimprm="" #used to hold message sent of impossible removed files&lt;br /&gt;        self.messageimpsv="" #used to hold message sent of impossible saved files&lt;br /&gt;        self.mfn="file_missed" #impossible files are stored in this file under specified dir&lt;br /&gt;        self.missed=[] #missed list&lt;br /&gt;        self.impossible=[] #impossible list&lt;br /&gt;    def session_var(self):&lt;br /&gt; usock = urllib.urlopen(self.h)&lt;br /&gt; parser = URLLister()&lt;br /&gt; parser.feed(usock.read())&lt;br /&gt; usock.close()&lt;br /&gt;        parser.close()&lt;br /&gt; for url in parser.urls:&lt;br /&gt;     if string.find("".join(url),"download.php") != -1:&lt;br /&gt;         return url.split("&amp;")[1]&lt;br /&gt;    def check_wrong_size(self):&lt;br /&gt;        d,mfn,missed,ws=self.d,self.mfn,self.missed,self.ws&lt;br /&gt;        if os.path.exists(d+mfn) == True:&lt;br /&gt;     mls=open(d+mfn).readline()&lt;br /&gt;            ml=eval(mls.split("\n")[0])&lt;br /&gt;            missed={}.fromkeys(ml).keys()&lt;br /&gt;&lt;br /&gt;        #os.listdir(os.getcwd()) #list all files in cwd&lt;br /&gt;        files=os.listdir(d)&lt;br /&gt;        for i in range(len(files)):&lt;br /&gt;            f=d+files[i]&lt;br /&gt;            if os.path.getsize(f) &lt; int(ws):&lt;br /&gt;                print "removing file "+f&lt;br /&gt;                os.system("rm "+f)&lt;br /&gt;                missed.append(i)&lt;br /&gt;        os.system("echo \""+str(missed)+"\" &gt; "+d+mfn)&lt;br /&gt;    """ run for loop and get """&lt;br /&gt;    def download_files(self,rans,rane):&lt;br /&gt;        d,u,mfn,missed,ws,modu=self.d,self.u,self.mfn,self.missed,self.ws,self.modu&lt;br /&gt;        messagerm,messagesv=self.messagerm,self.messagesv&lt;br /&gt;        messageimprm,messageimpsv=self.messageimprm,self.messageimpsv&lt;br /&gt;        c=self.session_var()&lt;br /&gt;        if os.path.exists(d+mfn) == True:&lt;br /&gt;            mls=open(d+mfn).readline()&lt;br /&gt;            ml=eval(mls.split("\n")[0])&lt;br /&gt;            missed={}.fromkeys(ml).keys()&lt;br /&gt;        for i in range(int(rans), int(rane)):&lt;br /&gt;     if i % int(modu) == 0:&lt;br /&gt;         c=self.session_var()&lt;br /&gt;         print i, c&lt;br /&gt;            urllib.urlretrieve(u+str(i)+"&amp;"+c,d+str(i)+".txt")&lt;br /&gt;            if os.path.getsize(d+str(i)+".txt") &lt; int(ws):&lt;br /&gt;                os.system("rm "+d+str(i)+".txt")&lt;br /&gt;                missed.append(str(i))&lt;br /&gt;                messagerm += d+str(i)+".txt    "&lt;br /&gt;            else:&lt;br /&gt;                messagesv += d+str(i)+".txt    "&lt;br /&gt;&lt;br /&gt;        #retry impossible &amp; missed files&lt;br /&gt;        m=missed&lt;br /&gt;        impossible,to_email=self.impossible,self.to_email&lt;br /&gt;        for i in range(len(m)):&lt;br /&gt;            c=self.session_var()&lt;br /&gt;            #mission impossible?&lt;br /&gt;            urllib.urlretrieve(u+str(m[i])+"&amp;"+c,d+str(m[i])+".txt")&lt;br /&gt;            if os.path.getsize(d+str(m[i])+".txt") &lt; int(ws):&lt;br /&gt;                os.system("rm "+d+str(m[i])+".txt")&lt;br /&gt;                impossible.append(str(m[i]))&lt;br /&gt;                messageimprm += d+str(m[i])+".txt    "&lt;br /&gt;            else:&lt;br /&gt;                messageimpsv += d+str(m[i])+".txt    "&lt;br /&gt;        os.system("echo \""+str(impossible)+"\" &gt; "+d+mfn)&lt;br /&gt;        if self.mailer == True:&lt;br /&gt;            os.system("echo \""+messagerm+"\" &gt; "+d+"filerm")&lt;br /&gt;            os.system("mail -s 'file removed' "+to_email+" &lt; "+d+"filerm")&lt;br /&gt;            os.system("rm "+d+"filerm")&lt;br /&gt;&lt;br /&gt;            os.system("echo \""+messagesv+"\" &gt; "+d+"filesv")&lt;br /&gt;            os.system("mail -s 'file saved' "+to_email+" &lt; "+d+"filesv")&lt;br /&gt;            os.system("rm "+d+"filesv")&lt;br /&gt;&lt;br /&gt;            os.system("echo \""+messageimprm+"\" &gt; "+d+"filerm")&lt;br /&gt;            os.system("mail -s 'file impossible removed' "+to_email+" &lt; "+d+"filerm")&lt;br /&gt;            os.system("rm "+d+"filerm")&lt;br /&gt;&lt;br /&gt;            os.system("echo \""+messageimpsv+"\" &gt; "+d+"filesv")&lt;br /&gt;            os.system("mail -s 'file impossible saved' "+to_email+" &lt; "+d+"filesv")&lt;br /&gt;            os.system("rm "+d+"filesv")&lt;br /&gt;if __name__ == "__main__":&lt;br /&gt;    a=file_downloader()&lt;br /&gt;    if len(sys.argv) &lt; 2:&lt;br /&gt;        a.check_wrong_size()&lt;br /&gt;    else:&lt;br /&gt;        rans=sys.argv(1) #range start 250&lt;br /&gt;        rane=sys.argv(2) #range end 432&lt;br /&gt;        a.download_files(rans,rane)&lt;br /&gt;         &lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-8077199520338839372?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/8077199520338839372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=8077199520338839372&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/8077199520338839372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/8077199520338839372'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/09/python-incremental-downloader-script.html' title='Python Incremental Downloader Script'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-3856239856379266359</id><published>2008-09-19T10:37:00.002-05:00</published><updated>2009-05-09T01:01:41.759-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Symbol Scanner'/><category scheme='http://www.blogger.com/atom/ns#' term='LS2208'/><category scheme='http://www.blogger.com/atom/ns#' term='.bashrc'/><title type='text'>Symbol Scanner and .bashrc for fast system navigation via the command line terminal</title><content type='html'>Howto fast command line system navigation via alias' in your ~/.bashrc and a symbol barcode scanner&lt;br /&gt;&lt;br /&gt;Here are some alias you can set in your ~/.bashrc&lt;br /&gt;Make sure to remove wrap where necessary and source your bashrc(sbrc) in every terminal that hasn't already loaded your modification. I will update alias' as I go. To have as a reference for you and me. &lt;a href="http://adf.ly/bo"&gt;pixelbeat.org/cmdline.html&lt;/a&gt;, also has a nice cmdline reference. I though this would come in handy for someone. I made a barcodes cheat sheet, use it if you are to lazy to type. You can also make your own cheatsheet and pass it on to your best buddies with your bashrc :) Enjoy.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;Note: &lt;span style="font-style:italic;"&gt;You may need to type/scan sudo before some of these alias'. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;append to file:&lt;/span&gt; .bashrc&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;# ~/.bashrc: executed by bash(1) for non-login shells.&lt;br /&gt;# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)&lt;br /&gt;# for examples&lt;br /&gt;&lt;br /&gt;# If not running interactively, don't do anything&lt;br /&gt;[ -z "$PS1" ] &amp;&amp; return&lt;br /&gt;&lt;br /&gt;# don't put duplicate lines in the history. See bash(1) for more options&lt;br /&gt;export HISTCONTROL=ignoredups&lt;br /&gt;# ... and ignore same sucessive entries.&lt;br /&gt;export HISTCONTROL=ignoreboth&lt;br /&gt;&lt;br /&gt;# check the window size after each command and, if necessary,&lt;br /&gt;# update the values of LINES and COLUMNS.&lt;br /&gt;shopt -s checkwinsize&lt;br /&gt;&lt;br /&gt;# make less more friendly for non-text input files, see lesspipe(1)&lt;br /&gt;[ -x /usr/bin/lesspipe ] &amp;&amp; eval "$(SHELL=/bin/sh lesspipe)"&lt;br /&gt;&lt;br /&gt;# set variable identifying the chroot you work in (used in the prompt below)&lt;br /&gt;if [ -z "$debian_chroot" ] &amp;&amp; [ -r /etc/debian_chroot ]; then&lt;br /&gt;    debian_chroot=$(cat /etc/debian_chroot)&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# set a fancy prompt (non-color, unless we know we "want" color)&lt;br /&gt;case "$TERM" in&lt;br /&gt;    xterm-color) color_prompt=yes;;&lt;br /&gt;esac&lt;br /&gt;&lt;br /&gt;# uncomment for a colored prompt, if the terminal has the capability; turned&lt;br /&gt;# off by default to not distract the user: the focus in a terminal window&lt;br /&gt;# should be on the output of commands, not on the prompt&lt;br /&gt;#force_color_prompt=yes&lt;br /&gt;&lt;br /&gt;if [ -n "$force_color_prompt" ]; then&lt;br /&gt;    if [ -x /usr/bin/tput ] &amp;&amp; tput setaf 1 &gt;&amp;/dev/null; then&lt;br /&gt;    # We have color support; assume it's compliant with Ecma-48&lt;br /&gt;    # (ISO/IEC-6429). (Lack of such support is extremely rare, and such&lt;br /&gt;    # a case would tend to support setf rather than setaf.)&lt;br /&gt;    color_prompt=yes&lt;br /&gt;    else&lt;br /&gt;    color_prompt=&lt;br /&gt;    fi&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if [ "$color_prompt" = yes ]; then&lt;br /&gt;    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '&lt;br /&gt;else&lt;br /&gt;    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '&lt;br /&gt;fi&lt;br /&gt;unset color_prompt force_color_prompt&lt;br /&gt;&lt;br /&gt;# If this is an xterm set the title to user@host:dir&lt;br /&gt;case "$TERM" in&lt;br /&gt;xterm*|rxvt*)&lt;br /&gt;    PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'&lt;br /&gt;    ;;&lt;br /&gt;*)&lt;br /&gt;    ;;&lt;br /&gt;esac&lt;br /&gt;&lt;br /&gt;# Alias definitions.&lt;br /&gt;# You may want to put all your additions into a separate file like&lt;br /&gt;# ~/.bash_aliases, instead of adding them here directly.&lt;br /&gt;# See /usr/share/doc/bash-doc/examples in the bash-doc package.&lt;br /&gt;&lt;br /&gt;#if [ -f ~/.bash_aliases ]; then&lt;br /&gt;#    . ~/.bash_aliases&lt;br /&gt;#fi&lt;br /&gt;&lt;br /&gt;# enable color support of ls and also add handy aliases&lt;br /&gt;if [ "$TERM" != "dumb" ] &amp;&amp; [ -x /usr/bin/dircolors ]; then&lt;br /&gt;    eval "`dircolors -b`"&lt;br /&gt;    alias ls='ls --color=auto'&lt;br /&gt;    #alias dir='ls --color=auto --format=vertical'&lt;br /&gt;    #alias vdir='ls --color=auto --format=long'&lt;br /&gt;&lt;br /&gt;    #alias grep='grep --color=auto'&lt;br /&gt;    #alias fgrep='fgrep --color=auto'&lt;br /&gt;    #alias egrep='egrep --color=auto'&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# some more ls aliases&lt;br /&gt;#alias ll='ls -l'&lt;br /&gt;#alias la='ls -A'&lt;br /&gt;alias ll='ls -CF'&lt;br /&gt;alias l='ls -la'&lt;br /&gt;alias cpr='cp -r'&lt;br /&gt;#reverse dig&lt;br /&gt;alias digx='dig -x'&lt;br /&gt;&lt;br /&gt;alias lso='sudo lsof -i -T -n'&lt;br /&gt;&lt;br /&gt;#outguess will only hide data in jpg files&lt;br /&gt;#gout super_secret_pass data.txt poop.jpg fat_poop.jpg&lt;br /&gt;function gout() { outguess -k $1 -d $2 $3 $4 ;}&lt;br /&gt;&lt;br /&gt;#scan for open dns resolver ports 1024-1150&lt;br /&gt;function scandns() { nmap -sU -vv -p 1024-1300 -P0 -T Aggressive ;}&lt;br /&gt;&lt;br /&gt;#sslsniff listenport cerificatefile&lt;br /&gt;function sslsniffer() { sslsniff -p $1 -c $2 ;} #listenport certfile post_only -P&lt;br /&gt;&lt;br /&gt;#ipforwarding on&lt;br /&gt;function ip_forward() { echo 1 &gt; /proc/sys/net/ipv4/ip_forward ;}&lt;br /&gt;&lt;br /&gt;function arpsp() { arpspoof -i $1 -t $2 $3 ;} #eth0 victim router&lt;br /&gt;function arpskr() { arp-sk -r -S $1 -D $2 ;} #router victim&lt;br /&gt;&lt;br /&gt;#ipt_ssl listenport&lt;br /&gt;function ipt_ssl() { iptables -t nat -A PREROUTING -p tcp --destination-port 443 -j REDIRECT --to-ports $1 ;}&lt;br /&gt;&lt;br /&gt;#ungout super_secret_pass fat_poop.jpg data.txt&lt;br /&gt;function ungout() { outguess -k $1 -r $2 $3 ;}&lt;br /&gt;&lt;br /&gt;#steghide will hide data in bmp,jpg,au and wav files, default encrypt method is Rijndael/AES 128 bits&lt;br /&gt;#steg poop.jpg fat_poop.jpg data.txt super_secret_pass&lt;br /&gt;function steg() { steghide embed -cf $1 -sf $2 -ef $3 -p $4 ;}&lt;br /&gt;&lt;br /&gt;#unsteg fat_poop.jpg&lt;br /&gt;function unsteg() { steghide extract -sf $1  ;}&lt;br /&gt;&lt;br /&gt;#unalias vars&lt;br /&gt;function unal() { unalias "$@" ;}&lt;br /&gt;&lt;br /&gt;#fsn 192.168.1 255&lt;br /&gt;function fsn() { for i in `seq $2`;do ping -c1 $1.$i;done ;}&lt;br /&gt;alias hc='hexcat'&lt;br /&gt;#awk find replace file&lt;br /&gt;function awkfpf() { awk -F "|" '{gsub( /$1/,"$2");print}' $3 ;}&lt;br /&gt;&lt;br /&gt;#ec "modified something in /etc, now commit with bzr"&lt;br /&gt;function ec() {&lt;br /&gt;ec_var="`pwd`" &amp;&amp; cd /etc/ &amp;&amp; sudo bzr commit -m "$@" &amp;&amp; cd $ec_var&lt;br /&gt;}&lt;br /&gt;#dump /dev/mem file.dump 18384 48 4&lt;br /&gt;function memdump() { sudo dd if=$1 of=$2 bs=$3 skip=$4 count=$5 ;}&lt;br /&gt;#macch eth0 00:11:22:33:44:55&lt;br /&gt;function macchange() { ifconfig $1 hw ether $2 ;}&lt;br /&gt;alias ifc='ifconfig'&lt;br /&gt;alias cmd0='sudo'&lt;br /&gt;alias nbrc='nano ~/.bashrc'&lt;br /&gt;alias sbrc='source ~/.bashrc'&lt;br /&gt;alias sudh='sudo dhclient'&lt;br /&gt;alias dush='sudo du -sh' #location&lt;br /&gt;alias agi='sudo apt-get install'&lt;br /&gt;alias agu='sudo apt-get update'&lt;br /&gt;alias ags='sudo apt-cache search'&lt;br /&gt;alias agsh='sudo apt-cache show'&lt;br /&gt;alias agr='sudo apt-get remove'&lt;br /&gt;alias agd='sudo apt-get dist-upgrade'&lt;br /&gt;alias agc='sudo apt-get clean'&lt;br /&gt;alias agac='sudo apt-get autoclean'&lt;br /&gt;alias pkgstat='dpkg --status'&lt;br /&gt;alias pkgrec='sudo dpkg-reconfigure'&lt;br /&gt;alias cdrec='cdrecord -v dev=/dev/cdrom' #*.iso&lt;br /&gt;alias screenl='screen -ls'&lt;br /&gt;alias screenr='screen -raAD'&lt;br /&gt;alias screenk='screen /dev/ttyUSB0 115200'&lt;br /&gt;alias enc='encfs.sh' #mount encfs mounts&lt;br /&gt;alias unc='uncfs.sh' #unmount encfs mount&lt;br /&gt;alias zipit='zip -r' #zip_file.zip file_or_dir_to_zip&lt;br /&gt;alias tarit='tar -czvf' #file_to_make.tar.gz file_or_dir_to_tar&lt;br /&gt;alias tarlit='tar -cvhf' #file_to_tar.tar.gz file_or_dir_to_tar&lt;br /&gt;alias untar='tar -zxvf' #file_to_unpack.tar.gz&lt;br /&gt;alias unrare='unrar e' #file.rar #unpack/open rar&lt;br /&gt;alias unrarl='unrar l' #file.rar # list contents&lt;br /&gt;alias unrarx='unrar x' #file.rar #extract full path&lt;br /&gt;alias unrarp='unrar e -p' # file.rar #unrar password protected rar archive&lt;br /&gt;alias unrart='unrar t' #file.rar # test integrity of archive&lt;br /&gt;alias burncd='cdrecord -v dev=/dev/cdrom' #iso_to_burn.iso&lt;br /&gt;alias npv='pkill npviewer.bin' #this kills flash player&lt;br /&gt;alias killit='killall -v -HUP' #inetd&lt;br /&gt;alias bat='cat /proc/acpi/battery/BAT0/state'&lt;br /&gt;alias t='tail -n'&lt;br /&gt;alias c='cat'&lt;br /&gt;alias p='python'&lt;br /&gt;alias e='encfs'&lt;br /&gt;alias m='mysql -u root -p'&lt;br /&gt;&lt;br /&gt;function dumpsql() { mysqldump -h $1 -u $2 -p -r $3 $4 ;} #somehost someuser backup_filename database_name&lt;br /&gt;&lt;br /&gt;# '{}' gets replace by the name of the file that was found&lt;br /&gt;function findexi() { find $1 -iname $2 -exec $3 '{}' \; ;} # 'dir' 'file_str' 'str_to_find'&lt;br /&gt;function findex() { find $1 -name $2 -exec $3 '{}' \; ;} # 'dir' 'file_str' 'str_to_find'&lt;br /&gt;&lt;br /&gt;function findnam() { find $1 -type f -iname $2 ;} #. "*str_to_find_in_filename*"&lt;br /&gt;function findstr() { find $1 | xargs grep $2 ;} #. 'str_to_find_in_files'&lt;br /&gt;function findstrnam() { find $1 -iname '$2' | xargs grep '$3' ;} #. 'file_str' 'str_to_find' -sl # -sl to show filename only&lt;br /&gt;function findstrnamtime() { find $1 -iname $2 -mtime $4 | xargs grep $3 ;} #. 'file_str' 'str_to_find' -1|1 #-1=today 1=olderthantoday&lt;br /&gt;&lt;br /&gt;function dushdir() { for i in {`ls $1`};do du -sh $1/$i;done ;}&lt;br /&gt;alias grepi='grep -i'&lt;br /&gt;function grepr() { grep -r '$@' ;} # "string to find" "/dir/to/recurse"&lt;br /&gt;function grephr() { grep -H -r '$@' ;} # same as above, only return filename string&lt;br /&gt;function greprf() { grep -H $1 $2 -R | cut -d: -f1 ;} # "string" "/etc/*"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;alias rk='rafkill' # &lt; this is a game&lt;br /&gt;&lt;br /&gt;alias relfh='readelf -h' #hello&lt;br /&gt;alias relfS='readelf -S' #hello&lt;br /&gt;alias relfs='readelf -s' #hello&lt;br /&gt;alias relfl='readelf -l' #hello&lt;br /&gt;#DANGEROUS&lt;br /&gt;alias umntl='umount `mount | grep "/dev" | awk "{ print $1 }"`'&lt;br /&gt;#-d=disassemble, -j=section&lt;br /&gt;alias objdumpdj='objdump -d -j' #.text hello&lt;br /&gt;alias oddj.text='objdump -d -j .text' #hello&lt;br /&gt;alias oddj.data='objdump -d -j .data' #hello&lt;br /&gt;#block started by symbol&lt;br /&gt;alias oddj.bss='objdump -d -j .bss' #hello&lt;br /&gt;&lt;br /&gt;#Virtual Memory Area--VMA for process&lt;br /&gt;#first field is VMA addr range&lt;br /&gt;#last field shows backing file&lt;br /&gt;#before doing this you can do:&lt;br /&gt;#gdb -&gt;b main -&gt;r -&gt;q&lt;br /&gt;function procsegn() { cat /proc/`pgrep $1`/maps ;} #process name&lt;br /&gt;function procsegi() { cat /proc/$1/maps ;} #process id&lt;br /&gt;&lt;br /&gt;alias gccc='gcc -c' #hello.c #creates hello.o&lt;br /&gt;alias gcco='gcc -o' #hello hello.c&lt;br /&gt;alias sp='splint' #hello.c&lt;br /&gt;alias mkfat32='mkdosfs -F 32'&lt;br /&gt;alias nasmfe='nasm -f elf' #hello.asm&lt;br /&gt;&lt;br /&gt;function nasmfo() { nasm -f $1 $2 -o $3 ;} #bin hello.asm hello.com&lt;br /&gt;&lt;br /&gt;alias ldso='ld -s -o' #hello hello.o&lt;br /&gt;&lt;br /&gt;alias svnco='svn checkout' #URL path&lt;br /&gt;alias svnrev='svn checkout -r' #rev URL path&lt;br /&gt;alias svni='svn info' #path&lt;br /&gt;alias svna='svn add' #path&lt;br /&gt;alias svnrm='svn remove' #path&lt;br /&gt;alias svnu='svn update'&lt;br /&gt;alias svnup='svn update' #path&lt;br /&gt;alias svnc='svn commit -m' #message&lt;br /&gt;alias shfreq='cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies'&lt;br /&gt;alias shgovr='cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors'&lt;br /&gt;alias cpufs='cpufreq-selector -f' #1300000&lt;br /&gt;alias rmlock="sudo rm /var/lib/dpkg/lock &amp;&amp; sudo rm /var/cache/apt/archives/lock"&lt;br /&gt;alias cronlu='sudo crontab -lu' #user&lt;br /&gt;alias cronadd='sudo crontab -eu' #user&lt;br /&gt;alias paros='/usr/lib/jvm/java-1.5.0-sun-1.5.0.15/jre/bin/java -jar /home/nopsidy/Desktop/paros/build/paros/paros.jar'&lt;br /&gt;&lt;br /&gt;alias lastcrash='last |grep crash'&lt;br /&gt;alias lastreboot='last reboot'&lt;br /&gt;function lastn() { last '$@' ;}&lt;br /&gt;# enable programmable completion features (you don't need to enable&lt;br /&gt;# this, if it's already enabled in /etc/bash.bashrc and /etc/profile&lt;br /&gt;# sources /etc/bash.bashrc).&lt;br /&gt;if [ -f /etc/bash_completion ]; then&lt;br /&gt;    . /etc/bash_completion&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;PATH=$HOME/bin:$PATH&lt;br /&gt;PYTHONPATH=$HOME/lib/python&lt;br /&gt;EDITOR=vim&lt;br /&gt;&lt;br /&gt;export PATH PYTHONPATH EDITOR&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Now we can use these alias' as bar codes. We can create bar codes with &lt;a href="http://adf.ly/bp"&gt;kbarcode&lt;/a&gt;. Then use them with a Symbol LS2208 barcode scanner or any scanner that understands Code 128 format, etc. You can change what the alias does for a scanned bar code. Instead of re-printing a new sheet of barcodes. I created 10 custom commands. You can set these to anything you like. I mostly use my alias to keep my commands in a central place. I helps me to keep things organized and easier to find. Instead of writing them down. Saves me time. I don't have to look through my notebook for the right commands.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Please share your .bashrc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can get a symbol on ebay for $100-$150. This makes it very convenient to use for system maintenance. Especially if you know what commands you have to run ahead of time for a full system install. :) I've been working with python for a little while now. I would like to make a script to create barcodes for me automatically after I modify bashrc(nbrc&amp;&amp;sbrc)&lt;br /&gt;&lt;br /&gt;You can &lt;a href="http://adf.ly/bq"&gt;download&lt;/a&gt; my current odt file. The password is lowercase "linux" without the quotes. I plan on adding prepend/append codes for a tab key or enter key to the cheat sheet. You can just store your .bashrc file on a usb stick. Plug it in with your trusty cheat sheet, a scanner and your on your way. I still don't know of a good way to transfer files via a keyspan. Is it possible? I think what I will do next is tape some cheat sheets on my walls next to my pc at home. Then I can sit relax and not type so much. :) I will keep updating this file.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Thank You.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-3856239856379266359?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/3856239856379266359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=3856239856379266359&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/3856239856379266359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/3856239856379266359'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/09/fast-commandline-navigation-with-alias.html' title='Symbol Scanner and .bashrc for fast system navigation via the command line terminal'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-6064197528197502555</id><published>2008-09-13T19:50:00.001-05:00</published><updated>2009-01-27T21:21:41.801-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Addons'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Must have Firefox Addons for a web developer or any avid surfer</title><content type='html'>In this post I will attempt to cover all the plug-ins a web developer/avid surfer must have to make his/her life easier. These are only plug-ins that I'm accustomed to, so that means that I may be missing a few. Not sure. This is what I use. I'm bored, so I'm posting to my blog about Firefox addons :) Please post a comment with your suggestion of a nice addon/plugin for me to checkout.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Note:&lt;/span&gt; Clicking on the links below will prompt you to install the plug-in/addon. You may want to go directly to &lt;a href="https://addons.mozilla.org/en-US/firefox/"&gt;https://addons.mozilla.org/en-US/firefox/&lt;/a&gt; and do some research before you actually install something you may not want.&lt;br /&gt;&lt;br /&gt;1. &lt;span style="font-weight: bold;"&gt;Web Developer Tools&lt;/span&gt; found &lt;a href="https://addons.mozilla.org/en-US/firefox/downloads/file/28678/web_developer-1.1.6-fx.xpi"&gt;here&lt;/a&gt;&lt;br /&gt;2. &lt;span style="font-weight: bold;"&gt;Firebug&lt;/span&gt; found &lt;a href="https://addons.mozilla.org/en-US/firefox/downloads/file/37452/firebug-1.2.1-fx.xpi"&gt;here&lt;/a&gt;&lt;br /&gt;3. &lt;span style="font-weight: bold;"&gt;FoxyProxy&lt;/span&gt; found &lt;a href="https://addons.mozilla.org/en-US/firefox/downloads/file/36798/foxyproxy-2.8.5-fx.xpi"&gt;here&lt;/a&gt;&lt;br /&gt;4. &lt;span style="font-weight: bold;"&gt;NoScript&lt;/span&gt; found &lt;a href="https://addons.mozilla.org/en-US/firefox/downloads/file/36590/noscript-1.8-fx+mz+sm.xpi"&gt;here&lt;/a&gt;&lt;br /&gt;5. &lt;span style="font-weight: bold;"&gt;FlashBlock&lt;/span&gt; found &lt;a href="https://addons.mozilla.org/en-US/firefox/downloads/file/28413/flashblock-1.5.6-fx.xpi"&gt;here&lt;/a&gt;&lt;br /&gt;6. &lt;span style="font-weight: bold;"&gt;FirePHP&lt;/span&gt; found &lt;a href="https://addons.mozilla.org/en-US/firefox/addons/policy/0/6149/36256"&gt;here&lt;/a&gt;&lt;br /&gt;7. &lt;span style="font-weight: bold;"&gt;FormFox&lt;/span&gt; found &lt;a href="https://addons.mozilla.org/en-US/firefox/downloads/file/29134/formfox-1.6.2-fx.xpi"&gt;here&lt;/a&gt;&lt;br /&gt;8. &lt;span style="font-weight: bold;"&gt;Modify Headers&lt;/span&gt; found &lt;a href="https://addons.mozilla.org/en-US/firefox/addons/policy/0/967/24052"&gt;here&lt;/a&gt;&lt;br /&gt;9. &lt;span style="font-weight: bold;"&gt;Tamper Data&lt;/span&gt; found &lt;a href="https://addons.mozilla.org/en-US/firefox/addons/policy/0/966/33806"&gt;here&lt;/a&gt;&lt;br /&gt;10. &lt;span style="font-weight: bold;"&gt;SQL Injection!&lt;/span&gt; found &lt;a href="https://addons.mozilla.org/en-US/firefox/downloads/file/35382/sql_injection-1.2-fx.xpi"&gt;here&lt;/a&gt;&lt;br /&gt;11. &lt;span style="font-weight: bold;"&gt;Speed Dial&lt;/span&gt; found &lt;a href="https://addons.mozilla.org/en-US/firefox/downloads/file/34346/speed_dial-0.7.2-fx.xpi"&gt;here&lt;/a&gt;&lt;br /&gt;12. &lt;span style="font-weight: bold;"&gt;FoxMarks&lt;/span&gt; found &lt;a href="https://addons.mozilla.org/en-US/firefox/downloads/file/33149/foxmarks_bookmark_synchronizer-2.1.0.12-fx.xpi"&gt;here&lt;/a&gt; and in my post below&lt;br /&gt;13. &lt;span style="font-weight: bold;"&gt;Password Exporter&lt;/span&gt; found &lt;a href="https://addons.mozilla.org/en-US/firefox/downloads/file/22427/password_exporter-1.1-fx+tb.xpi"&gt;here&lt;/a&gt; (potentially dangerous if someone gets your password file. Even if you encrypt it, you've been warned)&lt;br /&gt;14. &lt;span style="font-weight: bold;"&gt;UnHide Passwords&lt;/span&gt; found &lt;a href="https://addons.mozilla.org/en-US/firefox/downloads/file/33364/unhide_passwords-1.2.3-fx.xpi"&gt;here&lt;/a&gt;&lt;br /&gt;15. &lt;span style="font-weight: bold;"&gt;UrlFlipper&lt;/span&gt; found &lt;a href="https://addons.mozilla.org/en-US/firefox/downloads/file/29770/url_flipper-2.1.1-fx.xpi"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;EDIT:&lt;/span&gt; I knew I forgot something.&lt;br /&gt;16. &lt;span style="font-weight: bold;"&gt;GreaseMonkey&lt;/span&gt; found &lt;a href="https://addons.mozilla.org/en-US/firefox/downloads/file/30326/greasemonkey-0.8.20080609.0-fx.xpi"&gt;here&lt;/a&gt;&lt;br /&gt;17. &lt;span style="font-weight: bold;"&gt;StumbleUpon&lt;/span&gt; found &lt;a href="https://addons.mozilla.org/en-US/firefox/downloads/file/34258/stumbleupon-3.26-fx+mz+sm.xpi"&gt;here&lt;/a&gt;&lt;br /&gt;18. &lt;span style="font-weight: bold;"&gt;ChatZilla&lt;/span&gt; found &lt;a href="https://addons.mozilla.org/en-US/firefox/downloads/file/31645/chatzilla-0.9.83-fx+mz+sm.xpi"&gt;here&lt;/a&gt;&lt;br /&gt;19. &lt;span style="font-weight:bold;"&gt;venkman&lt;/span&gt; found &lt;a href="https://addons.mozilla.org/en-US/firefox/downloads/file/31290/javascript_debugger-0.9.87.4-fx+tb+sb+sm.xpi"&gt;here&lt;/a&gt;&lt;br /&gt;20. &lt;span style="font-weight:bold;"&gt;NetCraft Toolbar&lt;/span&gt; find it &lt;a href="https://addons.mozilla.org/en-US/firefox/downloads/file/28598/netcraft_toolbar-1.2-fx.xpi"&gt;here&lt;/a&gt;&lt;br /&gt;21. &lt;span style="font-weight:bold;"&gt;ShowIP&lt;/span&gt; found &lt;a href="https://addons.mozilla.org/en-US/firefox/downloads/file/28586/showip-0.8.08r14b0251-fx+mz.xpi"&gt;here&lt;/a&gt;&lt;br /&gt;22. &lt;span style="font-weight:bold;"&gt;Server SPY&lt;/span&gt; find it &lt;a href="https://addons.mozilla.org/en-US/firefox/addons/policy/0/2036/28735"&gt;here&lt;/a&gt;&lt;br /&gt;23. &lt;span style="font-weight:bold;"&gt;HackBar&lt;/span&gt; found &lt;a href="https://addons.mozilla.org/downloads/file/30978/hackbar-1.3.2-fx.xpi"&gt;here&lt;/a&gt;&lt;br /&gt;24. &lt;span style="font-weight:bold;"&gt;User Agent Switcher&lt;/span&gt; found &lt;a href="https://addons.mozilla.org/en-US/firefox/downloads/file/25361/user_agent_switcher-0.6.11-fx+sm.xpi"&gt;here&lt;/a&gt; &lt;br /&gt;25. &lt;span style="font-weight:bold;"&gt;LocalRodeo&lt;/span&gt; found &lt;a href="http://databasement.net/labs/localrodeo/"&gt;here&lt;/a&gt;&lt;br /&gt;26. &lt;span style="font-weight:bold;"&gt;RequestPolicy&lt;/span&gt; found &lt;a href="http://www.requestpolicy.com/releases/requestpolicy-CURRENT.xpi"&gt;here&lt;/a&gt;&lt;br /&gt;Enjoy, and please leave a comment with your favorite addons that you like to use. TIA&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-6064197528197502555?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/6064197528197502555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=6064197528197502555&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/6064197528197502555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/6064197528197502555'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/09/must-have-firefox-addons-for-web.html' title='Must have Firefox Addons for a web developer or any avid surfer'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-8305597800562367440</id><published>2008-09-11T17:07:00.000-05:00</published><updated>2008-10-08T22:24:26.733-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Addons'/><category scheme='http://www.blogger.com/atom/ns#' term='Foxmarks'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Foxmarks</title><content type='html'>Are you looking for an easy way to copy all your bookmarks from one computer to another? Then, I have great news for you. There's no need to manually export and import all your bookmarks anymore. You can download a great plug-in for Firefox called Foxmarks. It'll merge and/or copy all your bookmarks on every computer that you have this plug-in installed on. This plug-in is a time saver. Check it out &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/2410"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://addons.mozilla.org/en-US/firefox/addon/2410"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://addons.mozilla.org/en-US/firefox/images/addon_preview/2410/1" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-8305597800562367440?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/8305597800562367440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=8305597800562367440&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/8305597800562367440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/8305597800562367440'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/09/foxmarks.html' title='Foxmarks'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-3451229238396731433</id><published>2008-09-05T10:56:00.001-05:00</published><updated>2009-05-09T01:04:25.258-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Chrome'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>My First Post from Google Chrome Running in a Seamless VirtualBox</title><content type='html'>From the beginning we all knew that the browser would over power the OS. In starting to use the new &lt;a href="http://adf.ly/br"&gt;Google Chrome&lt;/a&gt; I realized that my browsing experience has been maximized. Everything is at your finger tips when it comes to Google. They have done it again. Only this time with a great browser. OOps, what will Microsoft say now?  It has some really great features. Your browser url bar is used for searching, "omnibar". When you open a new tab it takes you to your frequently visited pages. That's a nice touch. Task Manager of current open tabs. Plus more. It saves you that much time it your browsing experience. While working on projects my computer may start going slow sometimes. yet chrome has that kick. It's so fast. Great Job Guys.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-3451229238396731433?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/3451229238396731433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=3451229238396731433&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/3451229238396731433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/3451229238396731433'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/09/my-first-post-from-google-chrome.html' title='My First Post from Google Chrome Running in a Seamless VirtualBox'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-3834895927085647871</id><published>2008-09-04T20:31:00.000-05:00</published><updated>2008-10-08T22:23:10.987-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Money'/><category scheme='http://www.blogger.com/atom/ns#' term='Today'/><category scheme='http://www.blogger.com/atom/ns#' term='Online'/><category scheme='http://www.blogger.com/atom/ns#' term='Make'/><title type='text'>Post Links and Make serious Money with UrlCash</title><content type='html'>Want to make Money posting links to blogs, forums and websites? It's easy to make the Money online. You can do it too. As easy as posting a link.&lt;br /&gt;&lt;br /&gt;&lt;a href='http://www.urlcash.net/index.php?ref=18584'&gt;&lt;img src='http://images.urlcash.net/promote/468x60_3_anim.gif'/&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-3834895927085647871?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/3834895927085647871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=3834895927085647871&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/3834895927085647871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/3834895927085647871'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/09/post-links-and-make-serious-money-with.html' title='Post Links and Make serious Money with UrlCash'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-5299621426900660956</id><published>2008-08-21T21:21:00.001-05:00</published><updated>2009-05-09T01:11:22.329-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><category scheme='http://www.blogger.com/atom/ns#' term='OCR'/><category scheme='http://www.blogger.com/atom/ns#' term='Translation Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Russian'/><category scheme='http://www.blogger.com/atom/ns#' term='English'/><title type='text'>Russian OCR Magic</title><content type='html'>For the past few of months. Give or take a year. I've been looking for a good OCR application to pull Russian text out of images. Finally, I can say that I've found one that can help me complete my translation project for this year. I have no doubt that &lt;a href="http://adf.ly/bs"&gt;tesseract&lt;/a&gt; project can do this for me, just at the moment I can see it has bugs and glitches I can't deal with. I was not happy with tesseract outcome so I went on to search for bigger better things and wallah I found an application that was written by Russian scientists. It has great result compared to what I've found previously. It's called &lt;a href="http://adf.ly/bt"&gt;CuneiForm&lt;/a&gt; and it's all open source. You can download the zip and run it on windows or in wine. If you really want to get down and dirty there's also source. As of this writing Cuneiform is in version V.12 It has support of 20 languages: English, German, French, Spanish, Italian, Portuguese, Dutch, Russian, Mixed Russian-English, Ukrainian, Danish, Swedish, Finnish, Serbian, Croatian, Polish and others. Enjoy.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Watch these videos to know how to translate text in images:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-style:italic;"&gt;how to  install cuneiform on windows, if you see question mark instead of Russian text in cuneiform you will have to change your locales or just wing it:&lt;/span&gt;&lt;br /&gt;       &lt;span style="font-weight:bold;"&gt;VIDEO&lt;/span&gt; &lt;a href="http://adf.ly/bu"&gt;screencast.com/t/wrST2VB3&lt;/a&gt;&lt;br /&gt;    &lt;span style="font-style:italic;"&gt;how to extract Russian text out of images into text files:&lt;/span&gt;&lt;br /&gt;       &lt;span style="font-weight:bold;"&gt;VIDEO&lt;/span&gt; &lt;a href="http://adf.ly/bv"&gt;screencast.com/t/WFJVpHvS&lt;/a&gt;&lt;br /&gt;    &lt;span style="font-style:italic;"&gt;how to translate your newly extracted Russian text via free online tools(eg. &lt;a href="http://adf.ly/bx"&gt;translation2.paralink.com&lt;/a&gt;,&lt;a href="http://adf.ly/by"&gt;google.com/translate&lt;/a&gt;):&lt;/span&gt;&lt;br /&gt;       &lt;span style="font-weight:bold;"&gt;VIDEO&lt;/span&gt; &lt;a href="http://adf.ly/bw"&gt;screencast.com/t/bDIhI6XPq&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I hope this helps someone, somehow. I'm thinking about using &lt;a href="http://adf.ly/bz"&gt;Python&lt;/a&gt;'s &lt;a href="http://adf.ly/c0"&gt;Pyrex&lt;/a&gt; or something else more feasible to automate this task and future tasks for me. Thanks. -A&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-5299621426900660956?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/5299621426900660956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=5299621426900660956&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/5299621426900660956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/5299621426900660956'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/08/russian-ocr-magic.html' title='Russian OCR Magic'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-1758719323090983442</id><published>2008-08-14T22:22:00.001-05:00</published><updated>2009-05-09T01:15:37.106-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='stdout'/><category scheme='http://www.blogger.com/atom/ns#' term='colors'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>Python STDOUT Colors Script</title><content type='html'>This is a great script I use for debugging and/or general stdout colorization when working with python.If you run it from console with no parameters it loops through stdout colors. Displaying them with the string that represents that color. Notice: Some color codes may come out different than what they appear. It's very useful to import inside your other scripts and print your output in color. I though it was great. Makes for debugging large amounts of data a snap. Maybe someone else will find it useful as well. Enjoy! &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;This script is also located at: &lt;/span&gt;&lt;br /&gt;&lt;a href="http://adf.ly/c4"&gt;code.google.com/p/python-stdout-colors/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://adf.ly/c5"&gt;Download PY!&lt;/a&gt;&lt;br /&gt;Tell me what you think, leave a comment.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Runnable from terminal:&lt;/span&gt;&lt;br /&gt;    chmod +x stdout_colours.py&lt;br /&gt;    python stdout_colours.py&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Use it in your code like this:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    self.soc.write(["printing','a','list'],"red")&lt;br /&gt;self.soc.write("printing a string","green")&lt;br /&gt;self.soc.write({"printing":"dictionary","testing":"fun"},'blue')&lt;br /&gt;self.soc.write(("printing","a","tuple"),'yellow')&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Add it to your functions like this:&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;import stdout_colours&lt;br /&gt;&lt;br /&gt;class some_class(object):&lt;br /&gt;    &lt;blockquote&gt;    def __init__(self):&lt;br /&gt;               &lt;blockquote&gt; self.testing="fun"&lt;br /&gt;                self.func_me_color="white_on_blue"&lt;br /&gt;  self.soc=stdout_colours.stdout_colors()&lt;br /&gt;  self.soc.me_him(['ENTER:',__name__],self.func_me_color)&lt;br /&gt;                self.soc.write("doing something:","red")&lt;br /&gt;                self.do_something()&lt;br /&gt;                self.soc.me_him(['EXIT:',__name__],self.func_me_color)&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;       &lt;blockquote&gt; def do_something(self):&lt;br /&gt;              &lt;blockquote&gt;  self.soc.me(['ENTER:',__name__],self.func_me_color)&lt;br /&gt;                self.soc.write("doing something else:","green")&lt;br /&gt;                self.do_something_else()&lt;br /&gt;                self.soc.me(['EXIT:',__name__],self.func_me_color)&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;      &lt;blockquote&gt;  def do_something_else(self):&lt;br /&gt;               &lt;blockquote&gt; self.soc.me_him(['ENTER:',__name__],self.func_me_color)&lt;br /&gt;                self.soc.write(['testing','is',testing],"yellow")&lt;br /&gt;                self.soc.me_him(['EXIT:',__name__],self.func_me_color)&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;EDIT: I actually like to use this over print when I deal with terminal/console apps. Much easier to tell what is going on when text is scrolling by so fast.&lt;br /&gt;I hope this helps someone. Leave a comment. Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-1758719323090983442?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/1758719323090983442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=1758719323090983442&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/1758719323090983442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/1758719323090983442'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/08/python-stdout-colors-script.html' title='Python STDOUT Colors Script'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-7430628832466702908</id><published>2008-08-10T22:48:00.001-05:00</published><updated>2009-05-09T01:27:00.467-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mvc'/><category scheme='http://www.blogger.com/atom/ns#' term='framework'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>PHP MVC Framework</title><content type='html'>Are you looking to make web applications in PHP? Checkout &lt;a href="http://adf.ly/D8"&gt;Codeigniter&lt;/a&gt;. It will save you some time. Just as it has for me in the last few years. I have to say this is the best MVC I've found for PHP language. Visit the &lt;a href="http://adf.ly/aG"&gt;forums&lt;/a&gt; and see for yourself what power this framework possesses. You can do with a few lines of code what you would have to do with 50 in another framework. All you logic is in the controllers and db stuff is in models. While all the presentation layer stuff is in views. On top of all this you can breakup your views into sections and call views from views and controllers from controllers. With add on libs, of course. If you looking for good libs to add to CI, then checkout Modular Extensions. It gives you the power to call controllers from controllers. Separate code into callable modules. There are plenty of login libs in the wild as well. I say for each his own. simplelogin is perfect for a simple web app, with minor modifications. Khaos is another good one. If you are looking to use smarty in your web apps you can add a lib wrapper for this as well. This way you can use CI Views with smarty style syntax. Get the best of both worlds. I hope this helps you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-7430628832466702908?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/7430628832466702908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=7430628832466702908&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/7430628832466702908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/7430628832466702908'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/08/php-mvc-framework.html' title='PHP MVC Framework'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6858758628853094588.post-4140104062659736651</id><published>2008-08-08T22:31:00.001-05:00</published><updated>2009-05-09T01:28:25.659-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.screenrc'/><title type='text'>My .screenrc</title><content type='html'>Hello and Welcome to my Blog. This is my first post and I would like to share my .screenrc file with you.&lt;br /&gt;This .screen file is located in my homedir. With this screenrc you can navigate through different tabs by pressing ` (backtick located to the left of 1 on most keyboards) and then the tab you wan to navigate to. Originally you would press ctrl+a and tab you want to navigate to. Use ` (backtick) shift+A to rename your current tab. You can also google for more screen goodies since I don't cover all of them here.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;EDIT:&lt;/span&gt; If you copy and paste the below text into a file and call it .screenrc you will get errors. You can get the file on pastebin &lt;a href="http://adf.ly/c9"&gt;here&lt;/a&gt; and paste it into a text editor (nano/pico/vi/vim/gedit/kwrite/kate/etc...)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;.screenrc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;br /&gt;vbell off&lt;br /&gt;startup_message off&lt;br /&gt;# create a status line at the bottom of the screen.  this will show the titles and locations of&lt;br /&gt;# all screen windows you have open at any given time&lt;br /&gt;hardstatus alwayslastline&lt;br /&gt;hardstatus string '%{gk}[ %{G}%H %{g}][%= %{wk}%?%-Lw%?%{=b kR}(%{W}%n*%f %t%?(%u)%?%{=b kR})%{= kw}%?%+Lw%?%?%= %{g}][%{Y}%l%{g}]%{=b C}[ %m/%d %c ]%{W}'&lt;br /&gt;# bind some function keys (k1 == F1, etc) for fast navigation through screen windows&lt;br /&gt;#&lt;br /&gt;#&lt;br /&gt;bindkey -k k2 prev&lt;br /&gt;bindkey -k k3 next&lt;br /&gt;# This changes the default control character (normally ^a) to something else&lt;br /&gt;# (i do this to ease the use of nested screens so command characters dont conflict with each other)&lt;br /&gt;escape `` #"^Ff"&lt;br /&gt;# set the ssh-agent on my workstation to forward my ssh key through my screen windows&lt;br /&gt;#. .keychain/$HOSTNAME-sh&lt;br /&gt;# this will log screen errors to a daily log under the speficied directory&lt;br /&gt;logfile /home/$USER/logs/screen_%y-%m-%d_%0c&lt;br /&gt;&lt;br /&gt;screen -t irc /bin/sh -c "if [ $USER != 'root' ]; then irssi -c niven.freenode.net; fi;bash"&lt;br /&gt;screen -t sudoscrn /bin/sh -c "sudo screen -c '/etc/screenrc';bash"&lt;br /&gt;screen -t luser@box /bin/sh -c "ssh luser@box;bash"&lt;br /&gt;screen -t mysql /bin/sh -c "if [ $USER != 'root' ]; then mysql else mysql -u root -p; fi;bash"&lt;br /&gt;screen -t python /bin/sh -c "python"&lt;br /&gt;screen -t bash&lt;br /&gt;screen -t bash&lt;br /&gt;screen -t bash&lt;br /&gt;screen -t arpwatch /bin/sh -c "arpwatch;bash"&lt;br /&gt;screen -t top /bin/sh -c "top;bash"&lt;br /&gt;#shelltitle "$ |bash"&lt;br /&gt;&lt;br /&gt;# these last 2 lines are to set the focus on startup (which screen window we look at when screen finishes starting)&lt;br /&gt;focus&lt;br /&gt;select 1&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I like to run screen within screen, so I have a seperate screenrc loaded from /etc/screenrc via -c flag&lt;br /&gt;&lt;br /&gt;Screen is definitely a life saver when you are working in terminal and need to suddenly close it for some reason. &lt;br /&gt;To list all active screen sessions type: &lt;span style="font-weight:bold;"&gt;screen -ls&lt;/span&gt;&lt;br /&gt;To reattach to a detached session find the the session first with the command above and then type: &lt;span style="font-weight:bold;"&gt;screen -r ####.pts-#&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Note:&lt;/span&gt; replace #'s with your session number&lt;br /&gt;To reattach to an already active screen session and have it close where ever it's open and reattach in the current terminal type: &lt;span style="font-weight:bold;"&gt;screen -raAD&lt;/span&gt;&lt;br /&gt;I use this alot. More than screen -r&lt;br /&gt;&lt;br /&gt;If you have a KeySpan you can also use screen to connect to serial devices.&lt;br /&gt;If you're connecting to a headless machine with a KeySpan you can just type: &lt;span style="font-weight:bold;"&gt;screen /dev/ttyUSB0 115200&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Note:&lt;/span&gt; You may need to change your baud rate and/or parity bit based on the device you connect to. &lt;br /&gt;&lt;br /&gt;Or you can just use minicom for this. But I prefer screen more personally.&lt;br /&gt;&lt;br /&gt;Enjoy, I hope this helps someone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6858758628853094588-4140104062659736651?l=starnixalpha.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://starnixalpha.blogspot.com/feeds/4140104062659736651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6858758628853094588&amp;postID=4140104062659736651&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/4140104062659736651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6858758628853094588/posts/default/4140104062659736651'/><link rel='alternate' type='text/html' href='http://starnixalpha.blogspot.com/2008/08/my-screenrc.html' title='My .screenrc'/><author><name>Alex Goretoy</name><uri>http://www.blogger.com/profile/14391235314568950938</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://1.bp.blogspot.com/_IGqNVZy9Fro/SXtp8NCb81I/AAAAAAAAALk/ze_x5grv_C0/S220/l_a0125733f35345b1b9dc2eabf1cf5ef6.png'/></author><thr:total>0</thr:total></entry></feed>
