<?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:blogger='http://schemas.google.com/blogger/2008' 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-2540656616502880358</id><updated>2024-09-24T08:45:17.055-05:00</updated><category term="Android"/><category term="Linux"/><category term="Tip"/><category term="Tips"/><category term="Backups"/><category term="Cron"/><category term="Database"/><category term="Arduino"/><category term="Books"/><category term="Dell Streak"/><category term="Electronics"/><category term="Links"/><category term="Misc"/><category term="Postgresql"/><category term="Site"/><category term="blogger"/><category term="lifetracking"/><title type='text'>Short Tech Thoughts</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-7318399084376153888</id><published>2012-09-25T01:15:00.003-05:00</published><updated>2012-09-25T01:16:13.942-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Backups"/><category scheme="http://www.blogger.com/atom/ns#" term="Cron"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Tip"/><title type='text'>Rsync for backups</title><content type='html'>On my home network I had a need to backup my server and several desktops. &amp;nbsp;I went out and bought a 2TB external USB drive which I use for this. I decided to use rsync to do the backups and would have it run by cron.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Backup Script.&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Here is the script that I wrote to do the backups.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;i&gt;rsync -av --progress --delete --log-file=/var/log/backups/home-$(date +%Y%m%d)_rsync.log --exclude &quot;/home/username/.gvfs&quot; /home /blackdrive/HomeBackup&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;rsync -av --progress --delete --log-file=/var/log/backups/root-$(date +%Y%m%d)_rsync.log /root /blackdrive/RootBackup&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;rsync -av --progress --delete --log-file=/var/log/backups/storage-$(date +%Y%m%d)_rsync.log /storage /blackdrive/StorageBackup&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;rsync -av --progress --delete --log-file=/var/log/backups/etc-$(date +%Y%m%d)_rsync.log /etc /blackdrive/EtcBackup&lt;/i&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I&#39;ve mounted the drive at /blackdrive &amp;nbsp;( Imaginative name. &amp;nbsp;The case is black). &amp;nbsp;Some interesting things of note in this script. &amp;nbsp;I store the logs of the backups in /var/log/backups by date. &amp;nbsp;and when backing up the home directory on my fedora server I exclude the .gvfs folder. &amp;nbsp;This is a virtual filesystem used by my desktop that no other processes seem to be able to open and it causes rsync to report problems. &amp;nbsp;the --delete cleans out files on the target drive that I&#39;ve deleted on the source drive.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Cronjob.&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
I then created a cronjob with this entry:&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;i&gt;0 4 * * * /root/backups.sh&lt;/i&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
This runs the backup script at 4am everyday. &amp;nbsp;I figured no one in my house would be awake at that time.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
If your wondering where the backup of the other desktops occurs. &amp;nbsp;I mount the /storage volume via nfs and samba on the various boxes in my house and they all push their backups to that folder.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/7318399084376153888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2012/09/rsync-for-backups.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/7318399084376153888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/7318399084376153888'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2012/09/rsync-for-backups.html' title='Rsync for backups'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-1344523912310509103</id><published>2012-09-25T01:04:00.000-05:00</published><updated>2012-09-25T01:16:23.293-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Backups"/><category scheme="http://www.blogger.com/atom/ns#" term="Cron"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Postgresql"/><category scheme="http://www.blogger.com/atom/ns#" term="Tip"/><title type='text'>Backup Postgresql Database on Fedora Linux</title><content type='html'>I had a need to backup my various databases on my home server. &amp;nbsp;My environment consists of postgresql running on a fedora 17 server.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Backing up&lt;/b&gt;&lt;br /&gt;
create a cronjob with the command:&lt;br /&gt;
&lt;i&gt;crontab -e&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
put this entry in the file:&lt;br /&gt;
&lt;i&gt;50 23 * * *     /bin/pg_dumpall -U postgres &amp;gt; /storage/databases/postgres.backup &lt;/i&gt;&lt;br /&gt;
this tells it to dump all of the databases using the postgres user and put them in a file out in /storage/databases/&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Restore&lt;/b&gt;&lt;br /&gt;
Run the following command as the postgres user.&lt;br /&gt;
&lt;i&gt;psql -f /storage/databases/postgres.backup&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
I back the /storage area up on a nightly basis to external media.&lt;br /&gt;
&lt;br /&gt;
I may in the future&amp;nbsp;incorporate&amp;nbsp;some compression and a file rotation into a script, but at this juncture I haven&#39;t had a need for that.</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/1344523912310509103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2012/09/backup-postgresql-database-on-fedora.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/1344523912310509103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/1344523912310509103'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2012/09/backup-postgresql-database-on-fedora.html' title='Backup Postgresql Database on Fedora Linux'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-8225617695679870920</id><published>2012-01-21T08:00:00.001-06:00</published><updated>2012-01-23T14:13:12.566-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Tips"/><title type='text'>updating Fedora 15 to 16 using preupgrade-cli</title><content type='html'>Ok I recently updated my fedora 15 to fedora 16 on my workstation at home.&lt;br /&gt;
&lt;br /&gt;
the really easy way to do this is with preupgrade&lt;br /&gt;
&lt;br /&gt;
I happen to like the command line so I used&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0hyphenhyphenVonU890ywV4p8qToj2LDPdiIKx3nA55qPc37z85rp2UfZIIHIRlCO1Gg4-3HskKFglE8LQifQfa5uZGiGLPj45elC_fZiJYxDGXHsxUj353ymvxhi9MCcpmDykSqVrjEhKtwiYlzos/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; #yum -y install preupgrade  
 #preupgrade-cli &quot;Fedora 16 (Verne)&quot;  
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
Answer yes to the question of do you want to do this.&lt;br /&gt;
&lt;br /&gt;
Just reboot when done and it will do the upgrade for you. &amp;nbsp;If you have issues Fedora has a good document at&amp;nbsp;&lt;a href=&quot;http://fedoraproject.org/wiki/How_to_use_PreUpgrade&quot;&gt;http://fedoraproject.org/wiki/How_to_use_PreUpgrade&lt;/a&gt;&amp;nbsp;that has a lot of trouble shooting tips.</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/8225617695679870920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2012/01/updating-fedora-15-to-16-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/8225617695679870920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/8225617695679870920'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2012/01/updating-fedora-15-to-16-using.html' title='updating Fedora 15 to 16 using preupgrade-cli'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-9184456584963129437</id><published>2012-01-20T19:24:00.000-06:00</published><updated>2012-01-20T19:24:44.522-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Tips"/><title type='text'>How to extract .tar.gz , .tar.bz2, .tgz, and .tar files on linux at the command line</title><content type='html'>Ok there are lots of flags you can use to extract these but the easiest way that pretty much works for them all is.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0hyphenhyphenVonU890ywV4p8qToj2LDPdiIKx3nA55qPc37z85rp2UfZIIHIRlCO1Gg4-3HskKFglE8LQifQfa5uZGiGLPj45elC_fZiJYxDGXHsxUj353ymvxhi9MCcpmDykSqVrjEhKtwiYlzos/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; #tar xvf filename  
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
this should work for all of them on a modern version of linux.</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/9184456584963129437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2012/01/how-to-extract-targz-tarbz2-tgz-and-tar.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/9184456584963129437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/9184456584963129437'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2012/01/how-to-extract-targz-tarbz2-tgz-and-tar.html' title='How to extract .tar.gz , .tar.bz2, .tgz, and .tar files on linux at the command line'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-3098656483105050766</id><published>2011-09-11T22:52:00.000-05:00</published><updated>2011-09-11T22:52:32.203-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Released Version 1.2 of Expenses Simply</title><content type='html'>My &lt;a href=&quot;https://market.android.com/details?id=com.ormes.expenses_simply&amp;amp;feature=search_result&quot;&gt;Expenses Simply App&lt;/a&gt; has been updated to version 1.2. &amp;nbsp;I&#39;ve added a feature to email your entries in a comma separated form (easy to import into desktop apps). &lt;br /&gt;
&lt;br /&gt;
Here is the &lt;a href=&quot;http://shorttechthoughts.blogspot.com/2011/03/expenses-simply-10.html&quot;&gt;original post&lt;/a&gt; announcing the applications.</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/3098656483105050766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/09/released-version-12-of-expenses-simply.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/3098656483105050766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/3098656483105050766'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/09/released-version-12-of-expenses-simply.html' title='Released Version 1.2 of Expenses Simply'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-26225820988468613</id><published>2011-08-02T19:45:00.000-05:00</published><updated>2011-08-02T19:45:50.384-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Apps to setup an SSH socks proxy on android</title><content type='html'>&lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;So I had a need to access a website that is on a private home network which resides behind a Linux server. The only way into this box is through an SSH connection that only takes rsa keys.  &lt;br /&gt;
&lt;br /&gt;
The two apps I used are sshtunnel and proxydroid. Both of these are available in the market.&lt;br /&gt;
&lt;br /&gt;
My sshtunnel settings&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjxV2XkTj7sCvsZPWwkQOQHNhy_xSyw-BYawOo7O6z7O7ehHIBwfsORVMPhg33799EI-fnO_TNdcrY-CPdlEbhK9SItTqxjwlsP3DI3KIkGb1b0NE_uud61G3_HRTmEhh0RTbd3ecfthQ/s1600/sshtunnel_screenshot.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjxV2XkTj7sCvsZPWwkQOQHNhy_xSyw-BYawOo7O6z7O7ehHIBwfsORVMPhg33799EI-fnO_TNdcrY-CPdlEbhK9SItTqxjwlsP3DI3KIkGb1b0NE_uud61G3_HRTmEhh0RTbd3ecfthQ/s320/sshtunnel_screenshot.jpg&quot; width=&quot;192&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
My proxydroid settings&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9wK1Jr527hPJiJYXAIFYUIYzhxga5GkRhqqwOi-ZaSA6uIeSEyGNIC-8IzSxWxNxPoPVpkiv4dIWYq0tG3sI5ie43e4BLm2Yu9PDlfacuQqzoMGUqU1oOBsU4l3zjYf6VhT-Gc4-Bhdc/s1600/proxydroid_screenshot.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9wK1Jr527hPJiJYXAIFYUIYzhxga5GkRhqqwOi-ZaSA6uIeSEyGNIC-8IzSxWxNxPoPVpkiv4dIWYq0tG3sI5ie43e4BLm2Yu9PDlfacuQqzoMGUqU1oOBsU4l3zjYf6VhT-Gc4-Bhdc/s320/proxydroid_screenshot.jpg&quot; width=&quot;192&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
After that just fire up the browser and browse to the site.  For quicker access I put the widgets for each application on my desktop so that I can launch them quickly.&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/26225820988468613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/08/apps-to-setup-ssh-socks-proxy-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/26225820988468613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/26225820988468613'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/08/apps-to-setup-ssh-socks-proxy-on.html' title='Apps to setup an SSH socks proxy on android'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjxV2XkTj7sCvsZPWwkQOQHNhy_xSyw-BYawOo7O6z7O7ehHIBwfsORVMPhg33799EI-fnO_TNdcrY-CPdlEbhK9SItTqxjwlsP3DI3KIkGb1b0NE_uud61G3_HRTmEhh0RTbd3ecfthQ/s72-c/sshtunnel_screenshot.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-7686252187738635518</id><published>2011-07-25T15:53:00.000-05:00</published><updated>2011-07-25T15:53:38.783-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="lifetracking"/><title type='text'>Life tracking/hacking</title><content type='html'>Thought I&#39;d get into a bit of life tracking / hacking and figure out what kind of patterns my body gets into and how they interelate. &lt;br /&gt;
&lt;br /&gt;
First up is to track my sleeping patterns. &amp;nbsp;I&#39;m going to try to track when I fall asleep initially and when I wake up. &amp;nbsp;I may follow this up with when I actually get into bed and when I crawl out of bed/hit the sleep alarm. &amp;nbsp;who knows this might turn into something neat.&lt;br /&gt;
&lt;br /&gt;
I think I might post weekly stats on this blog as I go... who knows.</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/7686252187738635518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/07/life-trackinghacking.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/7686252187738635518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/7686252187738635518'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/07/life-trackinghacking.html' title='Life tracking/hacking'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-8776007025661081960</id><published>2011-06-08T10:08:00.000-05:00</published><updated>2011-06-08T10:08:42.478-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Released Version 1.1 of Expenses Simply</title><content type='html'>So this is just a minor bug fix. &amp;nbsp;I&#39;ve released version 1.1 of my Android App &lt;a href=&quot;https://market.android.com/details?id=com.ormes.expenses_simply&quot;&gt;Expenses Simply&lt;/a&gt;. &amp;nbsp;Please give it a whirl and let me know if you are having any issues with it.</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/8776007025661081960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/06/released-version-11-of-expenses-simply.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/8776007025661081960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/8776007025661081960'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/06/released-version-11-of-expenses-simply.html' title='Released Version 1.1 of Expenses Simply'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-4171275186315723151</id><published>2011-05-03T12:24:00.000-05:00</published><updated>2011-05-03T12:24:15.927-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Dell Streak"/><title type='text'>Replaced the screen on my Dell Streak</title><content type='html'>So I cracked the screen on my &lt;a href=&quot;http://www.dell.com/streak&quot;&gt;Dell Streak&lt;/a&gt; a couples of months back. &amp;nbsp;It was still functional but the hair line cracks all over it were starting to get really annoying. &amp;nbsp;I contacted &lt;a href=&quot;http://www.dell.com/&quot;&gt;Dell&lt;/a&gt; to ask what I would have to do to get them to replace it. &amp;nbsp;They said I&#39;d need to buy a whole new phone for about $250 &amp;nbsp;ergg. &amp;nbsp;I searched the web for directions on how to do this myself and came across this excellent &lt;a href=&quot;http://forum.xda-developers.com/showthread.php?t=995036&quot;&gt;article&lt;/a&gt; on &lt;a href=&quot;http://www.xda-developers.com/&quot;&gt;XDA&lt;/a&gt; to replace it. &amp;nbsp;I order a screen from &lt;a href=&quot;http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;amp;item=220717156331#ht_2765wt_905&quot;&gt;GadgetFix on ebay&lt;/a&gt; and worked my way through the guide. &amp;nbsp;All done, works perfectly took about 30 minutes to do it. &amp;nbsp;I have a big thank you to all those on the internet that made it possible for me to do this on $75.</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/4171275186315723151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/05/replaced-screen-on-my-dell-streak.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/4171275186315723151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/4171275186315723151'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/05/replaced-screen-on-my-dell-streak.html' title='Replaced the screen on my Dell Streak'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-7047123877622200760</id><published>2011-04-20T14:18:00.000-05:00</published><updated>2011-04-20T14:18:56.033-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Database"/><title type='text'>Enabling Foreign Keys in sqlite</title><content type='html'>Once again I must learn to read documentation carefully.&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;I was perusing the &lt;a href=&quot;http://www.sqlite.org/foreignkeys.html&quot;&gt;sqlite&amp;nbsp;documentation&lt;/a&gt;&amp;nbsp;on implementing foreign keys and created my tables in the way they said to and it wasn&#39;t working when I tried to create a row that violated my key constraint. &amp;nbsp;After a lot of teeth gnashing I finally found a small paragraph in the documentation. &amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;QUOTED:&lt;/div&gt;&lt;div&gt;&lt;h1 id=&quot;fk_enable&quot; style=&quot;color: #044a64; font-family: Verdana, sans-serif; font-weight: normal;&quot;&gt;Enabling Foreign Key Support&lt;/h1&gt;&lt;div style=&quot;font-family: Verdana, sans-serif; margin-bottom: 1em; margin-left: 5ex; margin-right: 5ex; margin-top: 1em;&quot;&gt;In order to use foreign key constraints in SQLite, the library must be compiled with neither&amp;nbsp;&lt;a href=&quot;http://www.sqlite.org/compile.html#omit_foreign_key&quot; style=&quot;color: #044a64;&quot;&gt;SQLITE_OMIT_FOREIGN_KEY&lt;/a&gt;&amp;nbsp;or&amp;nbsp;&lt;a href=&quot;http://www.sqlite.org/compile.html#omit_trigger&quot; style=&quot;color: #044a64;&quot;&gt;SQLITE_OMIT_TRIGGER&lt;/a&gt;&amp;nbsp;defined. If SQLITE_OMIT_TRIGGER is defined but SQLITE_OMIT_FOREIGN_KEY is not, then SQLite behaves as it did prior to version 3.6.19 - foreign key definitions are parsed and may be queried using&amp;nbsp;&lt;a href=&quot;http://www.sqlite.org/pragma.html#pragma_foreign_key_list&quot; style=&quot;color: #044a64;&quot;&gt;PRAGMA foreign_key_list&lt;/a&gt;, but foreign key constraints are not enforced. The&amp;nbsp;&lt;a href=&quot;http://www.sqlite.org/pragma.html#pragma_foreign_keys&quot; style=&quot;color: #044a64;&quot;&gt;PRAGMA foreign_keys&lt;/a&gt;&amp;nbsp;command is a no-op in this configuration. If OMIT_FOREIGN_KEY is defined, then foreign key definitions cannot even be parsed (attempting to specify a foreign key definition is a syntax error).&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, sans-serif; margin-bottom: 1em; margin-left: 5ex; margin-right: 5ex; margin-top: 1em;&quot;&gt;Assuming the library is compiled with foreign key constraints enabled, it must still be enabled by the application at runtime, using the&amp;nbsp;&lt;a href=&quot;http://www.sqlite.org/pragma.html#pragma_foreign_keys&quot; style=&quot;color: #044a64;&quot;&gt;PRAGMA foreign_keys&lt;/a&gt;&amp;nbsp;command. For example:&lt;/div&gt;&lt;div class=&quot;codeblock&quot; style=&quot;font-family: Verdana, sans-serif; margin-bottom: 0px; margin-left: 15ex; margin-right: 15ex; margin-top: 0px;&quot;&gt;&lt;table style=&quot;background-color: #eeeeee; border-bottom-color: rgb(128, 167, 150); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(128, 167, 150); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(128, 167, 150); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(128, 167, 150); border-top-style: solid; border-top-width: 1px; padding-bottom: 0px; padding-left: 1ex; padding-right: 1ex; padding-top: 0px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;padding-bottom: 0.2em; padding-left: 1ex; padding-right: 1ex; padding-top: 0.2em; vertical-align: top;&quot;&gt;&lt;pre style=&quot;font-size: 1.1em;&quot;&gt;sqlite&amp;gt; PRAGMA foreign_keys = ON;
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, sans-serif; margin-bottom: 1em; margin-left: 5ex; margin-right: 5ex; margin-top: 1em;&quot;&gt;Foreign key constraints are disabled by default (for backwards compatibility), so must be enabled separately for each&amp;nbsp;&lt;a href=&quot;http://www.sqlite.org/c3ref/sqlite3.html&quot; style=&quot;color: #044a64;&quot;&gt;database connection&lt;/a&gt;&amp;nbsp;separately. (Note, however, that future releases of SQLite might change so that foreign key constraints enabled by default. Careful developers will not make any assumptions about whether or not foreign keys are enabled by default but will instead enable or disable them as necessary.) The application can can also use a&amp;nbsp;&lt;a href=&quot;http://www.sqlite.org/pragma.html#pragma_foreign_keys&quot; style=&quot;color: #044a64;&quot;&gt;PRAGMA foreign_keys&lt;/a&gt;&amp;nbsp;statement to determine if foreign keys are currently enabled. The following command-line session demonstrates this:&lt;/div&gt;&lt;div class=&quot;codeblock&quot; style=&quot;font-family: Verdana, sans-serif; margin-bottom: 0px; margin-left: 15ex; margin-right: 15ex; margin-top: 0px;&quot;&gt;&lt;table style=&quot;background-color: #eeeeee; border-bottom-color: rgb(128, 167, 150); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(128, 167, 150); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(128, 167, 150); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(128, 167, 150); border-top-style: solid; border-top-width: 1px; padding-bottom: 0px; padding-left: 1ex; padding-right: 1ex; padding-top: 0px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;padding-bottom: 0.2em; padding-left: 1ex; padding-right: 1ex; padding-top: 0.2em; vertical-align: top;&quot;&gt;&lt;pre style=&quot;font-size: 1.1em;&quot;&gt;sqlite&amp;gt; PRAGMA foreign_keys;
0
sqlite&amp;gt; PRAGMA foreign_keys = ON;
sqlite&amp;gt; PRAGMA foreign_keys;
1
sqlite&amp;gt; PRAGMA foreign_keys = OFF;
sqlite&amp;gt; PRAGMA foreign_keys;
0
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, sans-serif; margin-bottom: 1em; margin-left: 5ex; margin-right: 5ex; margin-top: 1em;&quot;&gt;Tip: If the command &quot;PRAGMA foreign_keys&quot; returns no data instead of a single row containing &quot;0&quot; or &quot;1&quot;, then the version of SQLite you are using does not support foreign keys (either because it is older than 3.6.19 or because it was compiled with&amp;nbsp;&lt;a href=&quot;http://www.sqlite.org/compile.html#omit_foreign_key&quot; style=&quot;color: #044a64;&quot;&gt;SQLITE_OMIT_FOREIGN_KEY&lt;/a&gt;&amp;nbsp;or&amp;nbsp;&lt;a href=&quot;http://www.sqlite.org/compile.html#omit_trigger&quot; style=&quot;color: #044a64;&quot;&gt;SQLITE_OMIT_TRIGGER&lt;/a&gt;&amp;nbsp;defined).&lt;/div&gt;&lt;div style=&quot;font-family: Verdana, sans-serif; margin-bottom: 1em; margin-left: 5ex; margin-right: 5ex; margin-top: 1em;&quot;&gt;It is not possible to enable or disable foreign key constraints in the middle of a&amp;nbsp;&lt;a href=&quot;http://www.sqlite.org/lang_transaction.html&quot; style=&quot;color: #044a64;&quot;&gt;multi-statement transaction&lt;/a&gt;&amp;nbsp;(when SQLite is not in&amp;nbsp;&lt;a href=&quot;http://www.sqlite.org/c3ref/get_autocommit.html&quot; style=&quot;color: #044a64;&quot;&gt;autocommit mode&lt;/a&gt;). Attempting to do so does not return an error; it simply has no effect.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;It seems I have to turn it on or off..&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;DOH.. &amp;nbsp;Hopefully this blog entry will help someone.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/7047123877622200760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/04/enabling-foreign-keys-in-sqlite.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/7047123877622200760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/7047123877622200760'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/04/enabling-foreign-keys-in-sqlite.html' title='Enabling Foreign Keys in sqlite'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-721756314114840042</id><published>2011-04-18T21:51:00.000-05:00</published><updated>2011-04-18T21:51:36.537-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Database"/><title type='text'>Android Database Tutorial I found on the net</title><content type='html'>This is an extremely useful &lt;a href=&quot;http://developer.android.com/&quot;&gt;Android&lt;/a&gt; database &lt;a href=&quot;http://www.anotherandroidblog.com/2010/08/04/android-database-tutorial&quot;&gt;tutorial&lt;/a&gt; I found on the net at &lt;a href=&quot;http://www.anotherandroidblog.com/&quot;&gt;Another Android Blog&lt;/a&gt;. &amp;nbsp;I had been trying to wrap my head around an easy way to use &lt;a href=&quot;http://www.sqlite.org/&quot;&gt;sqlite&lt;/a&gt; in &lt;a href=&quot;http://developer.android.com/&quot;&gt;Android&lt;/a&gt; and this really put me over the top. &amp;nbsp;Show the guy some love and send him a donation if it helps you.</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/721756314114840042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/04/android-database-tutorial-i-found-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/721756314114840042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/721756314114840042'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/04/android-database-tutorial-i-found-on.html' title='Android Database Tutorial I found on the net'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-6914785671775788458</id><published>2011-04-12T13:47:00.000-05:00</published><updated>2011-04-12T13:47:56.845-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Books"/><title type='text'>Android in action, second edition</title><content type='html'>So I have this &lt;a href=&quot;http://techbus.safaribooksonline.com/&quot;&gt;Safari Online&lt;/a&gt; account through work. &amp;nbsp;As I get more and more into my &lt;a href=&quot;http://developer.android.com/index.html&quot;&gt;Android development&lt;/a&gt; hobby I find my self&amp;nbsp;referring&amp;nbsp;to this book &quot;&lt;a href=&quot;http://techbus.safaribooksonline.com/book/programming/android/9781935182726&quot;&gt;Android in Action&lt;/a&gt;&quot; a lot. &amp;nbsp;I just thought I&#39;d share it with the rest of whoever reads this blog.</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/6914785671775788458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/04/android-in-action-second-edition.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/6914785671775788458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/6914785671775788458'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/04/android-in-action-second-edition.html' title='Android in action, second edition'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-8831237510195781795</id><published>2011-04-12T13:42:00.000-05:00</published><updated>2011-04-12T13:42:34.242-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Links"/><title type='text'>10 useful solutions for Android developers courtesy of Shaman.sir</title><content type='html'>Here&#39;s a very useful &lt;a href=&quot;http://shamansir.tumblr.com/post/2666153050/10-useful-solutions-for-android-developer&quot;&gt;article&lt;/a&gt; for Android developers courtesy of &lt;a href=&quot;http://shamansir.tumblr.com/&quot;&gt;Shaman.sir&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/8831237510195781795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/04/10-useful-solutions-for-android.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/8831237510195781795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/8831237510195781795'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/04/10-useful-solutions-for-android.html' title='10 useful solutions for Android developers courtesy of Shaman.sir'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-5039665551481788766</id><published>2011-04-04T22:49:00.000-05:00</published><updated>2011-04-04T22:49:06.493-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Video on Android UI patterns</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.youtube.com/embed/M1ZBjlCRfz0?feature=player_embedded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;Here&#39;s a video I stumbled soon on ui patterns from Google I/O.  Its caused me to rethink a lot of my impressions.</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/5039665551481788766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/04/video-on-android-ui-patterns.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/5039665551481788766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/5039665551481788766'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/04/video-on-android-ui-patterns.html' title='Video on Android UI patterns'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-5708413114801942299</id><published>2011-04-03T22:56:00.000-05:00</published><updated>2011-04-03T22:56:36.028-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Android project #2: My Savings</title><content type='html'>I think I&#39;ve come up with my next project.  My wife is a big time coupon clipper so to help her I&#39;m planning to develop some sort of tracker for couponing.  I think initially I&#39;m going to start with calculating savings and then moving on from there. I might even add a bar code reader into it.</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/5708413114801942299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/04/android-project-2-my-savings.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/5708413114801942299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/5708413114801942299'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/04/android-project-2-my-savings.html' title='Android project #2: My Savings'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-1911078824062262861</id><published>2011-03-30T15:07:00.000-05:00</published><updated>2011-03-30T15:07:46.340-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Misc"/><title type='text'>Kenny Singing in preschool</title><content type='html'>Thought I&#39;d post this. &amp;nbsp;Its not really tech related, just a video of my son singing in preschool.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.youtube.com/embed/9yO8VXDjCl0?feature=player_embedded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/1911078824062262861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/03/kenny-singing-in-preschool.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/1911078824062262861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/1911078824062262861'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/03/kenny-singing-in-preschool.html' title='Kenny Singing in preschool'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-7366857480252693776</id><published>2011-03-30T08:13:00.006-05:00</published><updated>2011-09-11T22:53:52.097-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Expenses Simply 1.0</title><content type='html'>It&#39;s here, I&#39;ve settled on an application name &quot;Expenses Simply&quot;. &amp;nbsp;I did a bunch of Google searching and didn&#39;t see any hits on it. &amp;nbsp;It&#39;s a pretty straight forward application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Add expenses using the top bar.&lt;/li&gt;
&lt;li&gt;Delete a single item by accessing the context menu with a long press.&lt;/li&gt;
&lt;li&gt;Delete all items through the menu button.&lt;/li&gt;
&lt;li&gt;Undelete through the menu button.&lt;/li&gt;
&lt;li&gt;Items are sorted by date.&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;Please let me know if you have any issues with the application by leaving me a comment on this post. &amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjExWVvTDvyKzDjB-KxeLYQ7-sR_Dmb24tNnyyTzDqvi0FuWb8sZxlb9SQjvdHEKhJKNIzEMe7mQaCpVU8dknGfV9L5z-MuKwVFNyd2TQcSaxMomQHn7odMIoiUI3ghiC7KMJ0s-mbGY-4/s1600/screenshot.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjExWVvTDvyKzDjB-KxeLYQ7-sR_Dmb24tNnyyTzDqvi0FuWb8sZxlb9SQjvdHEKhJKNIzEMe7mQaCpVU8dknGfV9L5z-MuKwVFNyd2TQcSaxMomQHn7odMIoiUI3ghiC7KMJ0s-mbGY-4/s320/screenshot.png&quot; width=&quot;226&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;It should be on the android market soon. &lt;a href=&quot;https://market.android.com/details?id=com.ormes.expenses_simply&quot;&gt;Link &lt;/a&gt;to application in the market.&lt;br /&gt;
QR code for those that know how to use them.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikq61fQBzSssMRtr_LEt0W391YwRET8UvOBQvVBYzxdHonD2szafzAeXrkGnYwBj6GTnBAgiRAQpWF7J4GIZZWPk7EjnqyZaWS1HivB-itpf5EexjJVHRYcaseZiFvSebU97gykgw7B3I/s1600/qrcode.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikq61fQBzSssMRtr_LEt0W391YwRET8UvOBQvVBYzxdHonD2szafzAeXrkGnYwBj6GTnBAgiRAQpWF7J4GIZZWPk7EjnqyZaWS1HivB-itpf5EexjJVHRYcaseZiFvSebU97gykgw7B3I/s1600/qrcode.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
UPDATE:&lt;br /&gt;
Release 1.2 is here see &lt;a href=&quot;http://shorttechthoughts.blogspot.com/2011/09/released-version-12-of-expenses-simply.html&quot;&gt;post&lt;/a&gt; for details&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/7366857480252693776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/03/expenses-simply-10.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/7366857480252693776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/7366857480252693776'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/03/expenses-simply-10.html' title='Expenses Simply 1.0'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjExWVvTDvyKzDjB-KxeLYQ7-sR_Dmb24tNnyyTzDqvi0FuWb8sZxlb9SQjvdHEKhJKNIzEMe7mQaCpVU8dknGfV9L5z-MuKwVFNyd2TQcSaxMomQHn7odMIoiUI3ghiC7KMJ0s-mbGY-4/s72-c/screenshot.png" height="72" width="72"/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-1650580738451069975</id><published>2011-03-11T08:00:00.000-06:00</published><updated>2011-03-11T08:00:10.720-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Tips"/><title type='text'>Easy way to backup over ssh</title><content type='html'>Here&#39;s a really nice easy way to backup a folder over ssh.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;Standard&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;Standard&quot;&gt;&lt;/div&gt;&lt;pre class=&quot;brush:bash&quot;&gt;tar zcvf - /localfolder | ssh user@remotehost &quot;cat &amp;gt; /storage/location/filename.tar.gz&quot;
&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/1650580738451069975/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/03/easy-way-to-backup-over-ssh.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/1650580738451069975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/1650580738451069975'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/03/easy-way-to-backup-over-ssh.html' title='Easy way to backup over ssh'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-2037295262592869201</id><published>2011-03-10T08:00:00.002-06:00</published><updated>2011-03-10T08:00:02.301-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Arduino"/><category scheme="http://www.blogger.com/atom/ns#" term="Electronics"/><title type='text'>Arduino 3x3x3 LED cube</title><content type='html'>I got bored the other night and took a first run at an LED 3x3x3 Cube. &amp;nbsp;Here it is.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.youtube.com/embed/z3IBxo4nNtc?feature=player_embedded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;The software side is still rather rough so I&#39;m not going to post it yet.&lt;br /&gt;
&lt;br /&gt;
As for how it&#39;s put together, &amp;nbsp;the cathodes (Negatives) on each level are soldered together, the anodes (Positive) are soldered together vertically. &amp;nbsp;Each column and each level is on a separate digital pin on my &lt;a href=&quot;http://arduino.cc/&quot;&gt;Arduino&lt;/a&gt; Uno. &amp;nbsp;The way to turn a LED on or off is by setting the level low and the column high. &amp;nbsp;To turn more than one off I just turn them on and off really fast. &amp;nbsp;The eye can&#39;t see that it&#39;s only one LED at a time. &amp;nbsp;I think I may switch to using a&amp;nbsp;transistor&amp;nbsp;switch to turn the various columns and levels on or off as that way I can better regulate the amount of power going out to the cube. &amp;nbsp;Look for updates in the future along with code snippets.</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/2037295262592869201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/03/arduino-3x3x3-led-cube.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/2037295262592869201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/2037295262592869201'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/03/arduino-3x3x3-led-cube.html' title='Arduino 3x3x3 LED cube'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-1720555413697845909</id><published>2011-03-09T20:00:00.000-06:00</published><updated>2011-03-09T20:00:02.257-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Tip"/><title type='text'>Removing &quot;at&quot; jobs in bash.</title><content type='html'>&lt;div class=&quot;Standard&quot;&gt;Here&#39;s a basic bash command to remove a job named &#39;poweroff&#39;&#39; &amp;nbsp;this can remove other at jobs just by changing what you are greping for. &amp;nbsp;This is handy as I can use this in a script or send it out remotely to multiple systems and it doesn&#39;t require any interaction.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class=&quot;Standard&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;pre class=&quot;brush:bash&quot;&gt;for job in `at -l | cut -f 1`; do at -c $job | grep -e &#39;poweroff&#39; &amp;gt;/dev/null &amp;amp;&amp;amp; atrm $job; done
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;Standard&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;Standard&quot;&gt;Have fun with it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/1720555413697845909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/03/removing-at-jobs-in-bash.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/1720555413697845909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/1720555413697845909'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/03/removing-at-jobs-in-bash.html' title='Removing &quot;at&quot; jobs in bash.'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-2577235551626524767</id><published>2011-03-09T08:49:00.000-06:00</published><updated>2011-03-09T08:49:01.938-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="blogger"/><title type='text'>How to use Syntax Highligher 3 on Blogger</title><content type='html'>So I tend to like to post a lot of code.  In the past I used Syntax Highlighter on my own blog server.  In this economy I&#39;ve downsized to using the free blogger system.  I did some Googling and came accross this &lt;a href=&quot;http://www.commonitman.com/2010/09/how-to-use-syntax-highlighter-3-in.html&quot;&gt;post&lt;/a&gt; over at the Common IT mans blog.  Nice and easy to follow to get Syntax Highlighter 3 going.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Thanks.</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/2577235551626524767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/03/how-to-use-syntax-highligher-3-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/2577235551626524767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/2577235551626524767'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/03/how-to-use-syntax-highligher-3-on.html' title='How to use Syntax Highligher 3 on Blogger'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-1722676306919729182</id><published>2011-03-09T00:46:00.044-06:00</published><updated>2011-03-09T11:15:19.296-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Expense tracker part 2. Beginning with the interface.</title><content type='html'>So, I followed the directions to create a basic app at the android developers site.  I wont more you with the details as the directions are pretty simple. To keep it simple I picked all the defaults and picked android 2.2 as my target. &amp;nbsp;I will probably be able to roll this back a bit based on the features I plan to use.&lt;br /&gt;
&lt;br /&gt;
So I&#39;ve decided to start with the interface and work back from there. &amp;nbsp;I&#39;ve worked up this /res/layouts/main.xml based on the image from this&lt;a href=&quot;http://shorttechthoughts.blogspot.com/2011/03/expense-tracker-basic-design.html&quot;&gt; post&lt;/a&gt;.&lt;br /&gt;
&lt;pre class=&quot;brush:xml&quot;&gt;&lt;linearlayout android:layout_height=&quot;fill_parent&quot; android:layout_width=&quot;fill_parent&quot; android:orientation=&quot;vertical&quot; xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;&gt;
 &lt;linearlayout android:layout_height=&quot;wrap_content&quot; android:layout_width=&quot;fill_parent&quot; android:orientation=&quot;horizontal&quot; xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;&gt;
  &lt;edittext android:id=&quot;@+id/et_Date&quot; android:layout_height=&quot;wrap_content&quot; android:layout_width=&quot;wrap_content&quot; android:text=&quot;01/11/2011&quot;&gt;
  &lt;edittext android:id=&quot;@+id/et_Note&quot; android:layout_height=&quot;wrap_content&quot; android:layout_weight=&quot;1&quot; android:layout_width=&quot;wrap_content&quot; android:text=&quot;Note&quot;&gt;&lt;/edittext&gt;
  &lt;edittext android:id=&quot;@+id/et_Amount&quot; android:layout_height=&quot;wrap_content&quot; android:layout_width=&quot;wrap_content&quot; android:text=&quot;00.00&quot;&gt;&lt;/edittext&gt;
  &lt;button android:id=&quot;@+id/b_add&quot; android:layout_height=&quot;wrap_content&quot; android:layout_width=&quot;wrap_content&quot; android:text=&quot;add&quot;&gt;&lt;/button&gt;
&lt;/edittext&gt;&lt;/linearlayout&gt; 
 &lt;listview android:id=&quot;@+id/lv_ItemList&quot; android:layout_height=&quot;wrap_content&quot; android:layout_weight=&quot;1&quot; android:layout_width=&quot;fill_parent&quot;&gt;&lt;/listview&gt;
 &lt;textview android:gravity=&quot;right&quot; android:id=&quot;@+id/tv_total&quot; android:layout_height=&quot;wrap_content&quot; android:layout_width=&quot;fill_parent&quot; android:text=&quot;Total = 0000.00&quot;&gt;
&lt;/textview&gt;&lt;/linearlayout&gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;i&gt;Syntax Highlighter seems to like have full close tags in it.  go figure.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
It ends up looking like this in the gui tool.  &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjptST1B2QbI5SXloL7sHZB5XvNdfi6_XFai2oyLRXYlkr8ow186EWzd4FIfvrX0tyWJoWaZL9AaScN5kzZEsxPIoeoAn6504SunajEQq2egcyvxauzXeU7V248zH67bmT1tDxTcjgFDOM/s1600/main.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjptST1B2QbI5SXloL7sHZB5XvNdfi6_XFai2oyLRXYlkr8ow186EWzd4FIfvrX0tyWJoWaZL9AaScN5kzZEsxPIoeoAn6504SunajEQq2egcyvxauzXeU7V248zH67bmT1tDxTcjgFDOM/s320/main.png&quot; width=&quot;211&quot; /&gt;&lt;/a&gt;&lt;/div&gt;It doesn&#39;t look like much but the fields are all in the right location. &amp;nbsp;The alternating color listview is going to be handled programatically with a custom listview. &amp;nbsp;I can&#39;t see any other way of handling that.&lt;br /&gt;
&lt;br /&gt;
I guess that&#39;s about it for this chapter. &amp;nbsp;Next I&#39;ll start on the application internals.</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/1722676306919729182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/03/expense-tracker-part-2-beginning-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/1722676306919729182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/1722676306919729182'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/03/expense-tracker-part-2-beginning-with.html' title='Expense tracker part 2. Beginning with the interface.'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjptST1B2QbI5SXloL7sHZB5XvNdfi6_XFai2oyLRXYlkr8ow186EWzd4FIfvrX0tyWJoWaZL9AaScN5kzZEsxPIoeoAn6504SunajEQq2egcyvxauzXeU7V248zH67bmT1tDxTcjgFDOM/s72-c/main.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-2032536933158769017</id><published>2011-03-08T08:00:00.002-06:00</published><updated>2011-03-08T08:00:13.833-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Expense Tracker basic design.</title><content type='html'>After getting my development environment setup using instructions from the &lt;a href=&quot;http://developer.android.com/guide/developing/index.html&quot;&gt;android developers site&lt;/a&gt;, I have set about designing my first android app.&lt;br /&gt;
&lt;br /&gt;
The main use case I have for this app is to keep track of the things I spend during the day so that they can be brought back to &amp;nbsp;my home computer and added to &lt;a href=&quot;http://quicken.intuit.com/&quot;&gt;Quicken&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
The features that I want are:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Track date, note and amount for each purchase.&lt;/li&gt;
&lt;li&gt;Looks good in both layout and portrait&lt;/li&gt;
&lt;li&gt;preserves data across sessions of using it.&lt;/li&gt;
&lt;li&gt;delete single items or all items from a context menu.&lt;/li&gt;
&lt;li&gt;total values at bottom.&lt;/li&gt;
&lt;/ul&gt;Here is a quick hack of a drawing of what I want the basic interface to look like.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC_Av2XGTrPAoRkDwi1jixP4Te7CTyKyChfqHySl3MyjAsvRab7fy7UAlRIDpO7JYS4iEBoVrCbqzSMJwNSgWervPD-rAtO6iSIRLnOvtvOfpOLaXX7AyvWbjEjEe0Ah_Hb2prgrzrLZQ/s1600/initial+concept.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC_Av2XGTrPAoRkDwi1jixP4Te7CTyKyChfqHySl3MyjAsvRab7fy7UAlRIDpO7JYS4iEBoVrCbqzSMJwNSgWervPD-rAtO6iSIRLnOvtvOfpOLaXX7AyvWbjEjEe0Ah_Hb2prgrzrLZQ/s320/initial+concept.png&quot; width=&quot;192&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Next post should start with creating the basic app and getting the data structure working.</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/2032536933158769017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/03/expense-tracker-basic-design.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/2032536933158769017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/2032536933158769017'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/03/expense-tracker-basic-design.html' title='Expense Tracker basic design.'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC_Av2XGTrPAoRkDwi1jixP4Te7CTyKyChfqHySl3MyjAsvRab7fy7UAlRIDpO7JYS4iEBoVrCbqzSMJwNSgWervPD-rAtO6iSIRLnOvtvOfpOLaXX7AyvWbjEjEe0Ah_Hb2prgrzrLZQ/s72-c/initial+concept.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-3935266715122670955</id><published>2011-03-07T11:01:00.000-06:00</published><updated>2011-03-07T11:03:24.509-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Adventuring into Android development</title><content type='html'>So I got a &lt;a href=&quot;http://www.dell.com/streak&quot;&gt;Dell Streak&lt;/a&gt; in October. &amp;nbsp;It&#39;s an awesome device that I never seem to put down or quit tinkering on. &amp;nbsp;I&#39;m running a custom ROM called &lt;a href=&quot;http://streakdroid.com/&quot;&gt;Streakdroid.&lt;/a&gt;&amp;nbsp;I&#39;ve&amp;nbsp;been itching to get into &lt;a href=&quot;http://developer.android.com/index.html&quot;&gt;Android development&lt;/a&gt; for fun and profit since I got this thing. I&#39;ve done a lot of Java programming in the past so this shouldn&#39;t be too difficult. &amp;nbsp;I&#39;m going to&amp;nbsp;chronicle&amp;nbsp;my journey on this blog in hopes that it might help someone out there figure out what they need to do. &amp;nbsp;I am hopeful that other developers will see what I&#39;ve done and give me better ways to do things as I am only a beginner at this.&lt;br /&gt;
&lt;br /&gt;
For my first project I am going to do an expense tracker. &amp;nbsp;Why an expense tracker? &amp;nbsp;I currently use &lt;a href=&quot;http://quicken.intuit.com/&quot;&gt;Quicken&lt;/a&gt; to keep track of my personal finances and would like a way to track what I buy during the day so that I can bring it back to the computer to enter into quicken. &amp;nbsp;If I don&#39;t do it this way I generally forget what I&#39;ve bought and then have to go look in my online banking system and put it back into &lt;a href=&quot;http://quicken.intuit.com/&quot;&gt;Quicken&lt;/a&gt; that way.&lt;br /&gt;
&lt;br /&gt;
Again if anyone has a comment about the way I&#39;ve done something please feel free to point it out to me.</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/3935266715122670955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/03/adventuring-into-android-development.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/3935266715122670955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/3935266715122670955'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/03/adventuring-into-android-development.html' title='Adventuring into Android development'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2540656616502880358.post-3158121161828826752</id><published>2011-03-07T00:53:00.000-06:00</published><updated>2011-03-07T11:02:56.977-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Site"/><title type='text'>a start of a new blog.</title><content type='html'>Its a beginning, I&#39;m going to be posting random tech thoughts and tutorials here. I currently feel my writing style is pretty bad so this will be an evolution as well. &amp;nbsp;Please feel free to comment. &amp;nbsp;I&#39;d actually appreciate if people would comment just so I know I&#39;m not pissing into the wind.</content><link rel='replies' type='application/atom+xml' href='http://shorttechthoughts.blogspot.com/feeds/3158121161828826752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/03/start-of-new-blog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/3158121161828826752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2540656616502880358/posts/default/3158121161828826752'/><link rel='alternate' type='text/html' href='http://shorttechthoughts.blogspot.com/2011/03/start-of-new-blog.html' title='a start of a new blog.'/><author><name>Jason Ormes</name><uri>http://www.blogger.com/profile/04361394043054362207</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ553UgT58r_M9iSKhFkyq2fE7aCJHaIC5U_sSgA1gcSLPILZyszyetIYPMLnUcG6AbiNyhogEPDfCb4Z9XvaStMqryIDfEp2fik_z_rs13fHcSBTso4lSXpj3onzCdw/s220/JasonHead.jpg'/></author><thr:total>0</thr:total></entry></feed>