<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Johan Känngård</title>
	<atom:link href="http://johankanngard.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://johankanngard.net</link>
	<description>Useful tips for developers</description>
	<lastBuildDate>Fri, 18 Dec 2009 23:22:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SpringCross avklarat!</title>
		<link>http://johankanngard.net/2009/05/09/springcross-avklarat/</link>
		<comments>http://johankanngard.net/2009/05/09/springcross-avklarat/#comments</comments>
		<pubDate>Sat, 09 May 2009 13:49:25 +0000</pubDate>
		<dc:creator>Johan Känngård</dc:creator>
				<category><![CDATA[Health]]></category>
		<category><![CDATA[Running]]></category>
		<category><![CDATA[Training]]></category>

		<guid isPermaLink="false">http://johankanngard.net/?p=354</guid>
		<description><![CDATA[Vi var tre tappra B3IT:are som ställde upp i årets upplaga av SpringCross. 6km var distansen som gällde, och själv hade jag som mål att spring på under 36 minuter. Det lyckades jag med, den officiella tiden blev 35:23, vilket jag är väldigt nöjd med! För att vara första gången på denna tävling och första [...]]]></description>
			<content:encoded><![CDATA[<p>
Vi var tre tappra B3IT:are som ställde upp i årets upplaga av <a href="http://www.springcross.se">SpringCross</a>. 6km var distansen som gällde, och själv hade jag som mål att spring på under 36 minuter. Det lyckades jag med, den officiella tiden blev 35:23, vilket jag är väldigt nöjd med! För att vara första gången på denna tävling och första gången i området, tyckte jag det gick riktigt bra. Tyvärr fick jag en del mjölksyra i benen efter halva loppet, och fick ta det lugnare någon kilometer. Men det är bara till att träna mer till nästa år!
</p>
<p>
Kolla <a href="http://maps.google.com/maps?f=q&#038;source=s_q&#038;hl=en&#038;geocode=&#038;q=http:%2F%2Fjohankanngard.net%2Fwp-content%2Fuploads%2F2009%2F05%2Fspringcross-2009-2009-05-09.kml&#038;ie=UTF8&#038;t=h&#038;z=15">Google Maps</a> för bansträckningen, och <a href="http://johankanngard.net/wp-content/uploads/2009/05/springcross-2009-2009-05-09.gpx">GPX-filen</a> från min pulsklocka, en <a href="http://www.globalsat.com.tw/eng/product_detail_00000117.htm" class="broken_link">GlobalSat GH625M</a>.
</p>
<p><iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=http:%2F%2Fjohankanngard.net%2Fwp-content%2Fuploads%2F2009%2F05%2Fspringcross-2009-2009-05-09.kml&amp;ie=UTF8&amp;t=h&amp;ll=59.362932,18.080316&amp;spn=0.012096,0.031867&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps?f=q&amp;source=embed&amp;hl=en&amp;geocode=&amp;q=http:%2F%2Fjohankanngard.net%2Fwp-content%2Fuploads%2F2009%2F05%2Fspringcross-2009-2009-05-09.kml&amp;ie=UTF8&amp;t=h&amp;ll=59.362932,18.080316&amp;spn=0.012096,0.031867" style="color:#0000FF;text-align:left">View Larger Map</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://johankanngard.net/2009/05/09/springcross-avklarat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cykling i Prag</title>
		<link>http://johankanngard.net/2009/05/07/cykling-i-prag/</link>
		<comments>http://johankanngard.net/2009/05/07/cykling-i-prag/#comments</comments>
		<pubDate>Thu, 07 May 2009 16:08:44 +0000</pubDate>
		<dc:creator>Johan Känngård</dc:creator>
				<category><![CDATA[Health]]></category>
		<category><![CDATA[biking]]></category>
		<category><![CDATA[Flickr]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Map]]></category>

		<guid isPermaLink="false">http://johankanngard.net/?p=348</guid>
		<description><![CDATA[För några veckor sedan var jag med företaget till Prag och tog en cykeltur. Här kan ni se turen på Google Maps! Tyvärr glömde jag slå på GPS:en efter några pauser, därav &#8220;genvägarna&#8221;. GPX-filen finner du här! Foton finns på Flickr!

View Larger Map
]]></description>
			<content:encoded><![CDATA[<p>
För några veckor sedan var jag med företaget till Prag och tog en cykeltur. Här kan ni se turen på <a href="http://maps.google.com/maps?f=q&#038;hl=en&#038;q=http:%2F%2Fjohankanngard.net%2Fwp-content%2Fuploads%2F2009%2F05%2Fmy-activities-prag-2009-04-25.kml&#038;ie=UTF8&#038;om=1&#038;ll=49.989863,14.358444&#038;spn=0.198657,0.528717&#038;t=h&#038;z=12">Google Maps</a>! Tyvärr glömde jag slå på GPS:en efter några pauser, därav &#8220;genvägarna&#8221;. GPX-filen finner du <a href="http://johankanngard.net/wp-content/uploads/2009/05/my-activities-prag-2009-04-25.gpx">här</a>! Foton finns på <a href="http://www.flickr.com/photos/kanngard/sets/72157617516400700/">Flickr</a>!
</p>
<p><iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&amp;hl=en&amp;q=http:%2F%2Fjohankanngard.net%2Fwp-content%2Fuploads%2F2009%2F05%2Fmy-activities-prag-2009-04-25.kml&amp;ie=UTF8&amp;om=1&amp;t=h&amp;ll=49.989863,14.358444&amp;spn=0.198657,0.528717&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;q=http:%2F%2Fjohankanngard.net%2Fwp-content%2Fuploads%2F2009%2F05%2Fmy-activities-prag-2009-04-25.kml&amp;ie=UTF8&amp;om=1&amp;t=h&amp;ll=49.989863,14.358444&amp;spn=0.198657,0.528717&amp;source=embed" style="color:#0000FF;text-align:left">View Larger Map</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://johankanngard.net/2009/05/07/cykling-i-prag/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Log File Roller For Microsoft Windows</title>
		<link>http://johankanngard.net/2008/12/11/log-file-roller-for-microsoft-windows/</link>
		<comments>http://johankanngard.net/2008/12/11/log-file-roller-for-microsoft-windows/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 13:50:43 +0000</pubDate>
		<dc:creator>Johan Känngård</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[batch]]></category>

		<guid isPermaLink="false">http://johankanngard.net/?p=330</guid>
		<description><![CDATA[A simple log file roller, that rolls/rotates a file from FILENAME.0, to FILENAME.1, onwards to FILENAME.9. If FILENAME.9 exists, it is deleted. Can be used to keep log files small and managable, and delete old ones. The code is not pretty, I could not get it work with loops. If anyone has a better way [...]]]></description>
			<content:encoded><![CDATA[<p>
A simple log file roller, that rolls/rotates a file from FILENAME.0, to FILENAME.1, onwards to FILENAME.9. If FILENAME.9 exists, it is deleted. Can be used to keep log files small and managable, and delete old ones. The code is not pretty, I could not get it work with loops. If anyone has a better way of doing this, please let me know! :-)
</p>
<p>Usage:<br />
<code><br />
rollLog LOGDIRECTORY LOGFILENAME<br />
</code><br />
For instance, if you have a log at c:\log\at.log, you can run:<br />
<code><br />
rollLog c:\logs at.log<br />
</code></p>
<p>
Afterwards, you have one file named c:\logs\at.log.0. The next time you run it (and there has been something written to at.log) you get two files, at.log.0 and at.log.1.
</p>
<p>
The <a href='http://johankanngard.net/wp-content/uploads/2008/12/rolllog.cmd'>rollLog.cmd file is here</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://johankanngard.net/2008/12/11/log-file-roller-for-microsoft-windows/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HOWTO Restart shoutcast if inbound stream is lost</title>
		<link>http://johankanngard.net/2008/10/21/howto-restart-shoutcast-if-inbound-stream-is-lost/</link>
		<comments>http://johankanngard.net/2008/10/21/howto-restart-shoutcast-if-inbound-stream-is-lost/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 14:31:58 +0000</pubDate>
		<dc:creator>Johan Känngård</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[Shoutcast]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://johankanngard.net/?p=325</guid>
		<description><![CDATA[This is a simple way to get Shoutcast restarted (tested in Ubuntu 8.04) if the inbound stream is lost. You need Lynx installed for this to work, there might be better ways of achieving the same result though. To install Lynx:


$ sudo apt-get install lynx

Put in file shoutcast_supervisor.sh in /usr/bin:

#!/bin/bash
ONLINE=$(lynx -dump localhost:8000 &#124; grep "Stream [...]]]></description>
			<content:encoded><![CDATA[<p>
This is a simple way to get Shoutcast restarted (tested in Ubuntu 8.04) if the inbound stream is lost. You need Lynx installed for this to work, there might be better ways of achieving the same result though. To install Lynx:
</p>
<p><code><br />
$ sudo apt-get install lynx<br />
</code><br />
Put in file shoutcast_supervisor.sh in /usr/bin:<br />
<code><br />
#!/bin/bash<br />
ONLINE=$(lynx -dump localhost:8000 | grep "Stream is up" | wc -l)<br />
if [ "$ONLINE" -eq "0" ]<br />
then<br />
    logger -i Inbound connection not found. Restarting Shoutcast.<br />
    /etc/init.d/shoutcast restart<br />
fi<br />
</code><br />
Change ownership, group and execution:<br />
<code><br />
$ sudo chown root /usr/bin/shoutcast_supervisor.sh<br />
$ sudo chgrp root /usr/bin/shoutcast_supervisor.sh<br />
$ sudo chmod +x /usr/bin/shoutcast_supervisor.sh<br />
</code><br />
Add the script to cron.d your preferred way, I do it in /etc/cron.d in a file name shoutcast_supervisor:<br />
<code><br />
0 * * * * root /usr/bin/shoutcast_supervisor.sh<br />
15 * * * * root /usr/bin/shoutcast_supervisor.sh<br />
30 * * * * root /usr/bin/shoutcast_supervisor.sh<br />
45 * * * * root /usr/bin/shoutcast_supervisor.sh<br />
</code><br />
Restart cron:<br />
<code><br />
$ sudo /etc/init.d/cron restart<br />
</code><br />
&#8230;and the script is run every 15 minutes and will restart the Shoutcast daemon if the inbound connection was lost. Change the interval if you need to check more often. Sometimes this solves connection problems. Check the syslog for any message that the daemon was restarted, like:<br />
<code><br />
$ tail /var/log/syslog<br />
</code><br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://johankanngard.net/2008/10/21/howto-restart-shoutcast-if-inbound-stream-is-lost/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HOWTO Edit your crontab with Emacs</title>
		<link>http://johankanngard.net/2008/10/14/howto-edit-your-crontab-with-emacs/</link>
		<comments>http://johankanngard.net/2008/10/14/howto-edit-your-crontab-with-emacs/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 14:49:33 +0000</pubDate>
		<dc:creator>Johan Känngård</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[Emacs]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://johankanngard.net/?p=322</guid>
		<description><![CDATA[Another &#8220;wee&#8221; tip. I had a hard time doing this right&#8230;
Put emacs in the EDITOR shell variable:

$ EDITOR=emacs
$ export EDITOR

and add the following to your ~/.emacs:

(set 'temporary-file-directory "/tmp")

Now, edit the crontab file via:

$ crontab -e

Edit and save the file, and you should get a response from crontab:

crontab: installing new crontab

If you get an error message, [...]]]></description>
			<content:encoded><![CDATA[<p>Another &#8220;wee&#8221; tip. I had a hard time doing this right&#8230;</p>
<p>Put emacs in the EDITOR shell variable:<br />
<code><br />
$ EDITOR=emacs<br />
$ export EDITOR<br />
</code><br />
and add the following to your ~/.emacs:<br />
<code><br />
(set 'temporary-file-directory "/tmp")<br />
</code><br />
Now, edit the crontab file via:<br />
<code><br />
$ crontab -e<br />
</code><br />
Edit and save the file, and you should get a response from crontab:<br />
<code><br />
crontab: installing new crontab<br />
</code><br />
If you get an error message, something is wrong. You can check that your edits really changed your crontab using:<br />
<code><br />
$ crontab -l<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://johankanngard.net/2008/10/14/howto-edit-your-crontab-with-emacs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple Combobox using Autocompleter.Local from Script.aculo.us</title>
		<link>http://johankanngard.net/2008/10/08/simple-combobox-using-autocompleterlocal-from-scriptaculous/</link>
		<comments>http://johankanngard.net/2008/10/08/simple-combobox-using-autocompleterlocal-from-scriptaculous/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 13:19:20 +0000</pubDate>
		<dc:creator>Johan Känngård</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[Script.aculo.us]]></category>

		<guid isPermaLink="false">http://johankanngard.net/?p=302</guid>
		<description><![CDATA[The Autocompleter.Local in the Script.aculo.us Prototype-addon is quite nice. It can be used to get type-ahead into a field if you have a local JavaScript Array. I wanted to extend the functionality to have it behave as a Combobox, which is like a Select with a text input field. Here is how I did it, [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://github.com/madrobby/scriptaculous/wikis/autocompleter-local">Autocompleter.Local</a> in the <a href="http://script.aculo.us/">Script.aculo.us</a> <a href="http://www.prototypejs.org">Prototype</a>-addon is quite nice. It can be used to get type-ahead into a field if you have a local JavaScript Array. I wanted to extend the functionality to have it behave as a Combobox, which is like a Select with a text input field. Here is how I did it, be advised it has some bugs, let me know if you have a better solution!<br />
<code><br />
var Combobox={};<br />
Combobox.Local=Class.create(Autocompleter.Local,{<br />
	initialize:function($super,element,update,array,options){<br />
		$super(element,update,array,options);<br />
		this.options.minChars=this.options.minChars||0;<br />
		Event.observe(this.element,'click',this.onClick.bindAsEventListener(this));<br />
	},<br />
	onClick:function($super,event){<br />
		if(Event.element(event).id){<br />
			if(this.active){<br />
				this.hasFocus=false;<br />
				this.active=false;<br />
				this.hide();<br />
			}else{<br />
				this.activate();<br />
				this.render();<br />
			}<br />
			return;<br />
		}<br />
		$super(event);<br />
  }<br />
});<br />
</code><br />
The CSS I use is a modified variant of the <a href="http://github.com/madrobby/scriptaculous/wikis/autocompleter-local">Autocompleter.Local wiki page</a>:<br />
<code><br />
.combo {<br />
	background-image:url(combo_select2.gif);<br />
	background-repeat:no-repeat;<br />
	background-position:right top;<br />
	margin-right:10px;<br />
}</p>
<p>.combo:hover {<br />
	background-image:url(combo_select2.gif);<br />
	background-repeat:no-repeat;<br />
	background-position:right -18px;<br />
}</p>
<p>div#autocomplete {<br />
	margin:0px;<br />
	padding:0px;<br />
	width:250px;<br />
	background:#fff;<br />
	border:1px solid #888;<br />
	position:absolute;<br />
}</p>
<p>div#autocomplete ul {<br />
	margin:0px;<br />
	padding:0px;<br />
	list-style-type:none;<br />
}</p>
<p>div#autocomplete ul li.selected {<br />
	background-color:#ffb;<br />
}</p>
<p>div#autocomplete ul li {<br />
	margin:0;<br />
	padding:2px;<br />
	height:12px;<br />
	display:block;<br />
	list-style-type:none;<br />
	cursor:pointer;<br />
}<br />
</code><br />
Usage:<br />
<code><br />
new Combobox.Local('textFieldID','outputDivID',array,options);<br />
</code><br />
Example JavaScript:<br />
<code><br />
var cities=new Array('Stockholm','Göteborg','Kiruna');<br />
new Combobox.Local(<br />
	'cityField',<br />
	'autocomplete',<br />
	cities,<br />
	{<br />
		partialSearch:true,<br />
		fullSearch:true,<br />
		partialChars:0,<br />
		minChars:0<br />
	}<br />
);<br />
</code><br />
Example HTML:<br />
<code></p>
<input type="text" id="cityField">
<div id="autocomplete"></div>
<p></code><br />
The Windows XP style combobox image referenced in the CSS can be found here:<br />
<img src="http://johankanngard.net/wp-content/uploads/2008/10/combo_select2.gif"></p>
]]></content:encoded>
			<wfw:commentRss>http://johankanngard.net/2008/10/08/simple-combobox-using-autocompleterlocal-from-scriptaculous/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>lotus.com/ldd no more :-(</title>
		<link>http://johankanngard.net/2008/09/04/lotuscomldd-no-more/</link>
		<comments>http://johankanngard.net/2008/09/04/lotuscomldd-no-more/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 10:50:23 +0000</pubDate>
		<dc:creator>Johan Känngård</dc:creator>
				<category><![CDATA[Domino/Notes]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[Lotus]]></category>

		<guid isPermaLink="false">http://johankanngard.net/?p=298</guid>
		<description><![CDATA[IBM has removed the old redirect for the Lotus Developer Domain, I only get to Lotus Software using that old URL. Now is time to remember this: http://www.ibm.com/developerworks/lotus
]]></description>
			<content:encoded><![CDATA[<p>
IBM has removed the old redirect for the <a href="http://lotus.com/ldd">Lotus Developer Domain</a>, I only get to Lotus Software using that old URL. Now is time to remember this: <a href="http://www.ibm.com/developerworks/lotus">http://www.ibm.com/developerworks/lotus</a></p>
]]></content:encoded>
			<wfw:commentRss>http://johankanngard.net/2008/09/04/lotuscomldd-no-more/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>HOWTO Use Lotus Notes, Domino Designer and Domino Administrator 8.01 on Ubuntu 8.04 via Wine 1.0.0</title>
		<link>http://johankanngard.net/2008/09/01/howto-use-lotus-notes-domino-designer-and-domino-administrator-801-on-ubuntu-804-via-wine-100/</link>
		<comments>http://johankanngard.net/2008/09/01/howto-use-lotus-notes-domino-designer-and-domino-administrator-801-on-ubuntu-804-via-wine-100/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 20:09:28 +0000</pubDate>
		<dc:creator>Johan Känngård</dc:creator>
				<category><![CDATA[Domino/Notes]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Lotus Notes]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Wine]]></category>

		<guid isPermaLink="false">http://johankanngard.net/?p=294</guid>
		<description><![CDATA[I just followed Julian&#8217;s excellent guide and it worked! Even though the guide was for previous versions of both Notes, Ubuntu and Wine, I did not have to make any additional steps to get it working. All programs works, I haven&#8217;t found anything that is broken (yet), and it&#8217;s great having the Designer &#8220;directly&#8221; in [...]]]></description>
			<content:encoded><![CDATA[<p>I just followed <a href="http://www.nsftools.com/tips/UseNotesWithWine.htm">Julian&#8217;s excellent guide</a> and it worked! Even though the guide was for previous versions of both Notes, Ubuntu and Wine, I did not have to make any additional steps to get it working. All programs works, I haven&#8217;t found anything that is broken (yet), and it&#8217;s great having the Designer &#8220;directly&#8221; in Ubuntu instead of firing up  <a href="http://www.virtualbox.org/">VirtualBox</a>.</p>
<p>Thanks Julian, for your excellent guide!</p>
]]></content:encoded>
			<wfw:commentRss>http://johankanngard.net/2008/09/01/howto-use-lotus-notes-domino-designer-and-domino-administrator-801-on-ubuntu-804-via-wine-100/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MySQL Commands Cheat Sheet</title>
		<link>http://johankanngard.net/2008/07/31/mysql-commands-cheat-sheet/</link>
		<comments>http://johankanngard.net/2008/07/31/mysql-commands-cheat-sheet/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 12:03:48 +0000</pubDate>
		<dc:creator>Johan Känngård</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://johankanngard.net/?p=255</guid>
		<description><![CDATA[Another memory-dump. The manual contains more information (that&#8217;s a surprise :-).


mysql> delete from TABLE where id=X
Removes the specified row
mysql> describe TABLE;
Shows the structure of the specified table
mysql> select * from TABLE;
Shows all rows in the specified table :-O
mysql> show procedure status;
Shows stored procedures
mysql> show table status;
Shows tables in current database
mysql> use MYDATABASE;
Changes the database to [...]]]></description>
			<content:encoded><![CDATA[<p>
Another memory-dump. The <a href="http://dev.mysql.com/doc/#manual">manual</a> contains more information (that&#8217;s a surprise :-).
</p>
<dl>
<dt>mysql> delete from TABLE where id=X</dt>
<dd>Removes the specified row</dd>
<dt>mysql> describe TABLE;</dt>
<dd>Shows the structure of the specified table</dd>
<dt>mysql> select * from TABLE;</dt>
<dd>Shows all rows in the specified table :-O</dd>
<dt>mysql> show procedure status;</dt>
<dd>Shows stored procedures</dd>
<dt>mysql> show table status;</dt>
<dd>Shows tables in current database</dd>
<dt>mysql> use MYDATABASE;</dt>
<dd>Changes the database to act on</dd>
</dl>
]]></content:encoded>
			<wfw:commentRss>http://johankanngard.net/2008/07/31/mysql-commands-cheat-sheet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bash Variables Cheat Sheet</title>
		<link>http://johankanngard.net/2008/07/31/bash-variables-cheat-sheet/</link>
		<comments>http://johankanngard.net/2008/07/31/bash-variables-cheat-sheet/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 08:49:34 +0000</pubDate>
		<dc:creator>Johan Känngård</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[reference]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://johankanngard.net/?p=248</guid>
		<description><![CDATA[For a complete list, see Bash Reference Manual &#8211; Bash Environment Variables. This is just my own memory-dump. To get the value of a variable, you can use:

echo $OLDPWD



OLDPWD
previous current directory
PWD
current directory
LANG
the language used by programs, check with locale -a for available locales. Can be set in .bash_profile with export LANG=&#8221;en_US.utf8&#8243;
LANGUAGE
the language used by programs, [...]]]></description>
			<content:encoded><![CDATA[<p>
For a complete list, see <a href="http://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html#Bash-Variables">Bash Reference Manual &#8211; Bash Environment Variables</a>. This is just my own memory-dump. To get the value of a variable, you can use:<br />
<code><br />
echo $OLDPWD<br />
</code>
</p>
<dl>
<dt>OLDPWD</dt>
<dd>previous current directory</dd>
<dt>PWD</dt>
<dd>current directory</dd>
<dt>LANG</dt>
<dd>the language used by programs, check with locale -a for available locales. Can be set in .bash_profile with export LANG=&#8221;en_US.utf8&#8243;</dd>
<dt>LANGUAGE</dt>
<dd>the language used by programs, check with locale- a for available locales. Can be set in .bash_profile with export LANGUAGE=&#8221;en_US.utf8&#8243;</dd>
<dt>RSYNC_RSH</dt>
<dd>the shell used for rsync, usually /usr/bin/ssh</dd>
</dl>
]]></content:encoded>
			<wfw:commentRss>http://johankanngard.net/2008/07/31/bash-variables-cheat-sheet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
