<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wikidot="http://www.wikidot.com/rss-namespace">

	<channel>
		<title>Dawid Ciężarkiewicz - wiki - new forum posts</title>
		<link>http://dpc.ucore.info/forum/start</link>
		<description>Posts in forums of the site &quot;Dawid Ciężarkiewicz - wiki&quot; - dpc&#039;s wiki</description>
				<copyright></copyright>
		<lastBuildDate>Wed, 08 Sep 2010 21:52:50 +0000</lastBuildDate>
		
					<item>
				<guid>http://dpc.ucore.info/forum/t-220201#post-864524</guid>
				<title>Re: GNU Screen as a default shell for remote account</title>
				<link>http://dpc.ucore.info/forum/t-220201/gnu-screen-as-a-default-shell-for-remote-account#post-864524</link>
				<description></description>
				<pubDate>Sat, 04 Sep 2010 13:40:13 +0000</pubDate>
				<wikidot:authorName>dpc</wikidot:authorName>				<wikidot:authorUserId>30867</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>You may want to take a look at this:<br /> <a href="http://github.com/dpc/homeskel/">http://github.com/dpc/homeskel/</a></p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-220201/gnu-screen-as-a-default-shell-for-remote-account">GNU Screen as a default shell for remote account</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-220201#post-864514</guid>
				<title>Re: GNU Screen as a default shell for remote account</title>
				<link>http://dpc.ucore.info/forum/t-220201/gnu-screen-as-a-default-shell-for-remote-account#post-864514</link>
				<description></description>
				<pubDate>Sat, 04 Sep 2010 13:03:47 +0000</pubDate>
				<wikidot:authorName>dpc</wikidot:authorName>				<wikidot:authorUserId>30867</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>The @ sign after normal Ctrl+Space is like Ctrl+Space for inner screen so the combination to do what you like is:</p> <div class="code"> <pre> <code>Ctrl + Space, @, c</code> </pre></div> <p>If you had 3 nested screens that would be:</p> <div class="code"> <pre> <code>Ctrl + Space, @, @, c</code> </pre></div> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-220201/gnu-screen-as-a-default-shell-for-remote-account">GNU Screen as a default shell for remote account</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-220201#post-864112</guid>
				<title>Re: GNU Screen as a default shell for remote account</title>
				<link>http://dpc.ucore.info/forum/t-220201/gnu-screen-as-a-default-shell-for-remote-account#post-864112</link>
				<description></description>
				<pubDate>Fri, 03 Sep 2010 20:08:48 +0000</pubDate>
				<wikidot:authorName>seb</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>Thanks very useful :)</p> <p>Maybe you could help me a little more?<br /> On my laptop, i run screen and connect to my desktop using your script.<br /> I have a screen in another, a CTRL-A CTRL-C create a new screen on my laptop (The first one).<br /> Is there a way to control one screen or another?</p> <p>btw thank you for the trick</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-220201/gnu-screen-as-a-default-shell-for-remote-account">GNU Screen as a default shell for remote account</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-243992#post-855787</guid>
				<title>Re: This post has been written using Asus 1201N</title>
				<link>http://dpc.ucore.info/forum/t-243992/this-post-has-been-written-using-asus-1201n#post-855787</link>
				<description></description>
				<pubDate>Mon, 23 Aug 2010 12:59:03 +0000</pubDate>
				<wikidot:authorName>Arman</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>On ASUS support site you can find the flash ROM, you need to rename this file to exactly 1201N.ROM and put it on your USB stick or floppy. Then reboot your system and at the beginning press ALT+F2 to enter ASUS EZ flash, this program will automatically scan your USB or flopyy for the rom 1201N.ROM and start flashing it. It will take like 5 minutes until its done and reboot your system. That's it!</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-243992/this-post-has-been-written-using-asus-1201n">This post has been written using Asus 1201N</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-194780#post-838268</guid>
				<title>Re: ??</title>
				<link>http://dpc.ucore.info/forum/t-194780/dpcgoban#post-838268</link>
				<description></description>
				<pubDate>Wed, 28 Jul 2010 12:53:00 +0000</pubDate>
				<wikidot:authorName>dpc</wikidot:authorName>				<wikidot:authorUserId>30867</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Obawiam się, że opcją jest tylko edycja źródeł i własnoręczna kompilacja.</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-13690">Hidden / Per page discussions</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-194780/dpcgoban">dpcgoban</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-194780#post-838237</guid>
				<title>??</title>
				<link>http://dpc.ucore.info/forum/t-194780/dpcgoban#post-838237</link>
				<description></description>
				<pubDate>Wed, 28 Jul 2010 11:53:19 +0000</pubDate>
				<wikidot:authorName>aaa</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>jak wyłączyc ten "ekran powitalny"</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-13690">Hidden / Per page discussions</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-194780/dpcgoban">dpcgoban</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-220201#post-813272</guid>
				<title>Re: GNU Screen as a default shell for remote account</title>
				<link>http://dpc.ucore.info/forum/t-220201/gnu-screen-as-a-default-shell-for-remote-account#post-813272</link>
				<description></description>
				<pubDate>Mon, 21 Jun 2010 17:58:27 +0000</pubDate>
				<wikidot:authorName>dpc</wikidot:authorName>				<wikidot:authorUserId>30867</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Actually, my .bashrc.screen now looks more like this:</p> <div class="code"> <pre> <code>if [[ $- != *i* ]] ; then # Shell is non-interactive. Be done now! return fi # if in the shell - set tab caption to hostname [[ "${TERM%%-*}" == "screen" ]] &amp;&amp; { screen -X title "${HOSTNAME%%.*}" ssh() { screen -X title "${1##*@}"; command ssh "$@"; screen -X title "${HOSTNAME%%.*}";} } # if connected remotely - spawn/attache to screen for ssh session # don't do this if already done if [[ ! -z "$SSH_TTY" ]]; then if [[ "$SSH_IN_THE_SCREEN" != "TRUE" ]]; then export SSH_IN_THE_SCREEN="TRUE" exec screen -xRR -S ssh fi fi</code> </pre></div> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-220201/gnu-screen-as-a-default-shell-for-remote-account">GNU Screen as a default shell for remote account</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-247040#post-804950</guid>
				<title>Asynchronous GNU Readline in XMPP CLI client</title>
				<link>http://dpc.ucore.info/forum/t-247040/asynchronous-gnu-readline-in-xmpp-cli-client#post-804950</link>
				<description></description>
				<pubDate>Wed, 09 Jun 2010 19:23:12 +0000</pubDate>
				<wikidot:authorName>dpc</wikidot:authorName>				<wikidot:authorUserId>30867</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Lately I've spend my time developing a <a href="http://dpc.ucore.info/lab:xmppconsole">XMPP command line client</a> which is using <a href="http://code.stanziq.com/strophe/">strophe XMPP library</a> to handle XMPP and <a href="http://tiswww.case.edu/php/chet/readline/rltop.html">GNU Readline</a> for I/O.</p> <p>The idea was to have a readline prompt at the bottom and yet be able to asynchronously print incoming messages above it - in the "log window".</p> <p>It seems that many people were looking for solution already:</p> <ul> <li><a href="http://stackoverflow.com/questions/1512028/gnu-readline-how-do-clear-the-input-line">GNU Readline: how do clear the input line?</a></li> <li><a href="http://stackoverflow.com/questions/691652/using-gnu-readline-how-can-i-add-ncurses-in-the-same-program">Using GNU Readline; how can I add ncurses in the same program?</a></li> </ul> <p>I haven't found any single answer on the web so I'm proud to present my own solution.</p> <p>Basic idea is to use alternate (asynchronous) GNU Readline interface and on each new asynchronous print:</p> <ul> <li>save a copy of current line state</li> <li>clear both prompt and current line (content + position)</li> <li>force screen update</li> <li>print asynchronous event (followed by a newline)</li> <li>restore prompt and current line state</li> <li>force screen update</li> </ul> <p>Simple it is, indeed and you can see <a href="http://github.com/dpc/xmppconsole/blob/master/src/io.c">a working code</a> if you don't belive.</p> <p>The only thing that I was unable to get is preventing putting the original confirmed readline buffer in "log window". As this is not a big deal for my requirements the complete and universal solution would be able to change what the user typed in the readline buffer just before it's getting scrolled up and becoming part of the "log window".</p> <p>I hope someone will fine it useful, like I do.</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-247040/asynchronous-gnu-readline-in-xmpp-cli-client">Asynchronous GNU Readline in XMPP CLI client</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-243992#post-798381</guid>
				<title>Re: This post has been written using Asus 1201N</title>
				<link>http://dpc.ucore.info/forum/t-243992/this-post-has-been-written-using-asus-1201n#post-798381</link>
				<description></description>
				<pubDate>Tue, 01 Jun 2010 18:27:02 +0000</pubDate>
				<wikidot:authorName>lbzjjzbl</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>I upgraded my BIOS via usb floppy drive, downloaded the bios from Asus site, unpacked, changed the romfile name to "1201n.rom", and booted off with alt-F2.</p> <p>Ez-flash works on EEEpcs like restoring normal BIOS on desktops, via the bootblock restore.</p> <p>BIOS upgraded for like 5 minutes and I am on latest revision. No special OS related stuff here.<br /> If you would like to have free solution and be able to save current and update to newer one,<br /> I think the FreeDOS boot disk, might be the solution along with the DOS flash app from Asus site.</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-243992/this-post-has-been-written-using-asus-1201n">This post has been written using Asus 1201N</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-243992#post-796910</guid>
				<title>Re: This post has been written using Asus 1201N</title>
				<link>http://dpc.ucore.info/forum/t-243992/this-post-has-been-written-using-asus-1201n#post-796910</link>
				<description></description>
				<pubDate>Sun, 30 May 2010 18:24:22 +0000</pubDate>
				<wikidot:authorName>dpc</wikidot:authorName>				<wikidot:authorUserId>30867</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Try setting:</p> <div class="code"> <pre> <code>$ cat /etc/default/grub | grep acpi GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux"</code> </pre></div> <p>This lets eeepc-laptop kernel module to function correctly which fixes FN+X key shortcuts.</p> <p>Then install devel kernel from:<br /> <a href="http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.34-rc7-lucid/">http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.34-rc7-lucid/</a></p> <p>It seems that suspend is working better now for me, but I need a bit more testing.</p> <p>ACPI seems to be such a nightmare that no manufacturer is able to get it right.</p> <p>BTW. I am still looking for a convenient way to upgrade BIOS for Linux users. Any advise is appreciated.</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-243992/this-post-has-been-written-using-asus-1201n">This post has been written using Asus 1201N</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-243992#post-796897</guid>
				<title>Re: This post has been written using Asus 1201N</title>
				<link>http://dpc.ucore.info/forum/t-243992/this-post-has-been-written-using-asus-1201n#post-796897</link>
				<description></description>
				<pubDate>Sun, 30 May 2010 18:07:48 +0000</pubDate>
				<wikidot:authorName>ljbzjzbl</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>@Deez -</p> <p>This is a known problem, it can suspend once, then it is just problems… all X.org hangs etc…<br /> Redhat bugzilla - <a href="https://bugzilla.redhat.com/show_bug.cgi?id=570901">https://bugzilla.redhat.com/show_bug.cgi?id=570901</a></p> <p>I guess Asus has to update the BIOS, take a look @ <a href="http://1201n.podrozomania.info/category/programy/">http://1201n.podrozomania.info/category/programy/</a> [polish page] run it through google translate for an idea of workaround.</p> <p>There is also problem with brightness and BIOS corruption upon reboot. It is documented too, workaround is present.</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-243992/this-post-has-been-written-using-asus-1201n">This post has been written using Asus 1201N</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-243992#post-796843</guid>
				<title>Re: This post has been written using Asus 1201N</title>
				<link>http://dpc.ucore.info/forum/t-243992/this-post-has-been-written-using-asus-1201n#post-796843</link>
				<description></description>
				<pubDate>Sun, 30 May 2010 16:34:51 +0000</pubDate>
				<wikidot:authorName>Deez</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>I've just got my 1201n and it's a wicked machine. I'm running Linux Mint which is based on Ubuntu 10.04. I'm having a problem with the suspend. It suspends once like it should, but the 2nd time it starts right back up but the fan does not turn on. I've got to shut it down immediately. Any idea how to troubleshoot this? Cheers!</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-243992/this-post-has-been-written-using-asus-1201n">This post has been written using Asus 1201N</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-243992#post-794282</guid>
				<title>This post has been written using Asus 1201N</title>
				<link>http://dpc.ucore.info/forum/t-243992/this-post-has-been-written-using-asus-1201n#post-794282</link>
				<description></description>
				<pubDate>Wed, 26 May 2010 23:02:56 +0000</pubDate>
				<wikidot:authorName>dpc</wikidot:authorName>				<wikidot:authorUserId>30867</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I've installed Ubuntu 10.04 and after some work with getting wifi driver to work (as it is not in the mainline kernel yet) almost everything seems to be working fine. The problems are:</p> <ul> <li>There are some glitches with BIOS settings being reset to defaults under some conditions (did I mention ACPI is a crap?). This will have to get fixed by Asus in the future BIOS releases.</li> <li>Not all function keys are handled by Ubuntu (work in progress).</li> </ul> <p>If anybody is looking for a Linux related assistance with this little box - don't hesitate to write me an email.</p> <p>And my personal rating to conclude:</p> <p>Pros:</p> <ul> <li>lightweight</li> <li>powerful (with 3GB RAM I'm perfectly happy with doing ordinary stuff using it)</li> <li>display is nice</li> <li>keyboard is full-sized and very comfortable (and I know what I'm saying - I'm a skilled, home-grown touch typist)</li> <li>quiet</li> </ul> <p>Cons:</p> <ul> <li>BIOS bug</li> <li>no full Ubuntu support yet</li> <li>I guess Asus is not as Linux-friendly as I'd like</li> </ul> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-243992/this-post-has-been-written-using-asus-1201n">This post has been written using Asus 1201N</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-243987#post-794270</guid>
				<title>Flattr!</title>
				<link>http://dpc.ucore.info/forum/t-243987/flattr#post-794270</link>
				<description></description>
				<pubDate>Wed, 26 May 2010 22:38:41 +0000</pubDate>
				<wikidot:authorName>dpc</wikidot:authorName>				<wikidot:authorUserId>30867</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>As a big Open Source and Free Culture fan I've always wanted to reward people creating stuff and giving it away for free. Nice comment or email was always welcomed, but not satisfactory for me.</p> <p>I mean - I work, I create. And I understand it takes time and effort. Although I think that the commercialized culture is crippled I really do understand that people should be rewarded for their work.</p> <p>I wanted to be able to say "thanks" in the real way - like money. But how much is a ten minutes YouTube movie worth? Not as much to send such amount via PayPal. But multiplied by a thousands of people - it could really reward the author.</p> <p>That is why I was (and still am) really excited about <a href="http://flattr.com">http://flattr.com</a> . Just what I really wanted. If you read this - please give it a try. You part of the cake can make a difference as well. :)</p> <p><object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/9zrMlEEWBgY&amp;hl=en_US&amp;fs=1&amp;" /> <param name="allowFullScreen" value="true" /> <param name="allowscriptaccess" value="always" /> <embed src="http://www.youtube.com/v/9zrMlEEWBgY&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385" /></object></p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-243987/flattr">Flattr!</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-222064#post-707568</guid>
				<title>Recording a screencast in Linux (Ubuntu 9.10)</title>
				<link>http://dpc.ucore.info/forum/t-222064/recording-a-screencast-in-linux-ubuntu-9-10#post-707568</link>
				<description></description>
				<pubDate>Tue, 23 Feb 2010 22:53:09 +0000</pubDate>
				<wikidot:authorName>dpc</wikidot:authorName>				<wikidot:authorUserId>30867</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>It seemed like there were really two options for straightforward unix-like tool to do the job:</p> <ul> <li><tt><a href="http://xvidcap.sourceforge.net/">xvidcap</a></tt></li> <li><tt><a href="http://recordmydesktop.sourceforge.net/">recordmydesktop</a></tt></li> </ul> <p>I had some audio related problems with both programs - both recorded video with audio going out of sync, or nosie. I've found this: <a href="http://karussell.wordpress.com/2009/11/18/recordmydesktop/">http://karussell.wordpress.com/2009/11/18/recordmydesktop/</a></p> <p>And the options suggested in one of the comments are working fine for me:</p> <div class="code"> <pre> <code>--v_bitrate 2000000 --s_quality 10 --delay 1 --fps 20 --overwrite -device plughw:0,0 --no-wm-check --buffer-size 65538 --freq 48000 --quick-subsampling --on-the-fly-encoding</code> </pre></div> <p>I've spend few more minutes to "import" this into the <tt>gtk-recordMyDesktop</tt> front-end to <tt>recordmydesktop</tt>. My <tt>.gtk-recordmydesktop</tt> file now looks like this:</p> <div class="code"> <pre> <code>#Order and overall number of lines must be preserved #For this file to be read correctly #Framerate 12 #Cursor(0 xfixes,1 white,2 black,3 none) 0 #Sound,0 disabled 1 enabled 1 #Full shots,1 disabled 0 enabled 1 #Filename /home/dpc/test.ogv #Delay,seconds 0 #Number of channels 1 #Frequency 48000 #Sound-device plughw:0,0 #Video quality(0-63) 63 #Audio quality(0-10) 5 #Display $DISPLAY #Shared memory,1 disabled 0 enabled 0 #Reset capture area,1 disabled 0 enabled 0 #Recording area -1,-1,-1,-1 #Quick subsampling,1 disabled 0 enabled 0 #Working directory(temporary files) /tmp #On the fly encoding,1 disabled 0 enabled 0 #Zero compression,1 disabled 0 enabled 1 #overwrite existing files,0 disabled 1 enabled 0 #Include window decorations,1 disabled 0 enabled 1 #Use jack 0 #last used jack ports #Tooltips,1 disabled 0 enabled 0 #draw an on-screen frame, surrounding the capture area 0 #Extra options --v_bitrate 2000000 --no-wm-check --buffer-size 65538 --no-wm-check #Follow mouse,1 disabled 0 enabled 1</code> </pre></div> <p>I think that the following link may be useful soon - before publishing my videos:<br /> <a href="http://wiki.showmedo.com/index.php/Video_editing_Ubuntu">http://wiki.showmedo.com/index.php/Video_editing_Ubuntu</a></p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-222064/recording-a-screencast-in-linux-ubuntu-9-10">Recording a screencast in Linux (Ubuntu 9.10)</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-221203#post-704988</guid>
				<title>Codezero (L4 microkernel) developer starting guide</title>
				<link>http://dpc.ucore.info/forum/t-221203/codezero-l4-microkernel-developer-starting-guide#post-704988</link>
				<description></description>
				<pubDate>Sun, 21 Feb 2010 01:15:54 +0000</pubDate>
				<wikidot:authorName>dpc</wikidot:authorName>				<wikidot:authorUserId>30867</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <h1><span>Introduction</span></h1> <p>So you'd like to start developing a microkernel? To do so you obviously need to have some experience with:</p> <ul> <li>C programming</li> <li>low level computer fundamentals</li> </ul> <p>and have some UNIX (possibly Linux) installed.</p> <p>If you don't know what L4 is, please read a <a href="http://en.wikipedia.org/wiki/L4_microkernel_family">wikipedia page about L4 microkernel family</a>.</p> <p>To start working with L4 you'll first have to understand how it works. The good starting point is <a href="http://ertos.nicta.com.au/software/kenge/pistachio/latest/userman.pdf">L4 User Manual by Ihor Kuz</a> from <a href="http://en.wikipedia.org/wiki/NICTA">NICTA</a>.</p> <p>Due to its nature L4 perfectly matches the requirements of modern embedded systems. And now days almost all embedded systems are targeting the ARM architecture. The <a href="http://infocenter.arm.com/help/topic/com.arm.doc.ddi0210c/DDI0210B.pdf">ARM reference manual</a> contains all the information you could possibly need working with this architecture. However if this subject is completely new for you - you should probably search for more beginner-friendly documentation.</p> <h1><span>Implementation</span></h1> <p>There are several implementations of L4 out there, but the one that I've looked for to start playing with had to be:</p> <ul> <li>Open Sourced</li> <li>written in C &amp; assembler</li> <li>easy to start playing with</li> </ul> <p>After some time I've discovered <a href="http://www.l4dev.org/">Codezero Embedded Hypervizor and OS</a>. As this project is quite new its codebase is not that overwhelming for a newcomer, however complete enough to give working and efficient starting point for my microkernel developing journey. Developers seem to put a lot of effort to maintain really well structured and clean code which seems very good for a project from which I'd like to learn.</p> <h1><span>Starting</span></h1> <p>While the <a href="http://www.l4dev.org/getting_started">Codezero Starting Guide</a> is a good starting point and most of the time really useful it has some problems too: it's too lengthy and time consuming to follow and it contains some mistakes. That's why I've decided to automate all the work and set up my own <a href="http://github.com/dpc/codezero">Codezero git fork for newcomers</a>. The init-build-env branch is where I accumulate all the changes that make life easier for a Codezero newcomer like me. With this changes you should be able to have L4 based project running in up to 30 minutes with most of the time spent on waiting for automated download and compilation process to complete.</p> <h2><span>Setting up tools and building codezero</span></h2> <p>To start just grab a copy of my Codezero's init-build-env repository with git:</p> <div class="code"> <pre> <code>git clone git@github.com:dpc/codezero.git</code> </pre></div> <p>If you don't know what git is, how to run it or how it works - you should really spend some time getting familiar with it. Try <a href="http://learn.github.com/p/intro.html">Github's Introduction to Git</a>.</p> <p>So now, enter the project directory and run the tool script that will setup building environment for you:</p> <div class="code"> <pre> <code>cd codezero ./tools/init-build-env.sh</code> </pre></div> <p>This script will do almost everything what is described in the Codezero's Getting Started page. It will download, build and install environment tools in [[~/opt/arm]] so that the only thing that you have to do (hopefully!) is to press enter once during installation, and add one directory to your PATH environment afterwards.</p> <p>Just follow the process, install missing software if needed and rerun the script if required.</p> <p>After successful execution you will have a build environment ready to build a codezero project.</p> <p>First configure the project. The defaults are fine so just run:</p> <div class="code"> <pre> <code>./configure.py</code> </pre></div> <p>and press q to save the settings.</p> <p>To build the project run:</p> <div class="code"> <pre> <code>./build.py</code> </pre></div> <p>If everything was prepared correctly the build process should create something like the following in the build directory:</p> <div class="code"> <pre> <code>codezero$ ls build config.cml configdata config.h config.rules cont0 conts final.elf kernel.elf loader rules.compiled</code> </pre></div> <h2><span>Runing codezero</span></h2> <p>To run and debug Codezero we will use a <a href="http://wiki.qemu.org/Main_Page">Qemu</a> to emulate a fully working ARM-based system for us. So you should have qemu installed:</p> <div class="code"> <pre> <code>codezero$ which qemu-system-arm /usr/bin/qemu-system-arm</code> </pre></div> <p>There are two options on how to debug the system:</p> <ul> <li>plain gdb</li> <li>insight frontend to gdb</li> </ul> <p>As I don't like GUI applications in development process I'll describe using <tt>./tools/run-qemu-gdb</tt> only. For Insight - you may use <tt>./tools/run-qemu-insight</tt> - it does essentially the same thing.</p> <p>So to make life easier link the script:</p> <div class="code"> <pre> <code>ln -s tools/run-qemu-insight gdb</code> </pre></div> <p>and run it with:</p> <div class="code"> <pre> <code>./gdb</code> </pre></div> <p>so you should get:</p> <div class="code"> <pre> <code>codezero$ ./gdb Qemu started. System serial console accessible via `telnet localhost 12445` GNU gdb (Sourcery G++ Lite 2009q3-67) 6.8.50.20090630-cvs Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later &lt;http://gnu.org/licenses/gpl.html&gt; This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi". For bug reporting instructions, please see: &lt;https://support.codesourcery.com/GNUToolchain/&gt;. QEMU 0.11.0 monitor - type 'help' for more information (qemu) 0x00100000 in ?? () add symbol table from file "build/kernel.elf" at .text_addr = 0x8000 (gdb)</code> </pre></div> <p>What have just happened?</p> <p>The script started Qemu to emulate an ARM system for us with a Codezero kernel image loaded. The virtual machine is stopped and waiting for commands. Two network sockets were created by the Qemu - one for gdb to control and debug the system and second emulating ARM system serial console - which embedded systems usually use as a basic I/O system.</p> <p>Then - right after qemu - gdb is being started with symbols loaded and connected to qemu virtual machine so we can navigate through the source code as it's being executed and control the execution.</p> <p>To connect to the system serial console, open new terminal and run:</p> <div class="code"> <pre> <code>$ telnet localhost 12445 Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'.</code> </pre></div> <p>Voila! You now have a L4 microkernel running in an ARM virtual machine and you're connected to it's serial port. Was not that hard, was it?</p> <h2><span>Initial debugging</span></h2> <p>As you may not know - the starting process for the Codezero is done in two steps. First - the loader is initializing the platform and then puts the kernel into the right place in the system's memory. Then it passes the execution to the kernel itself and gets out the way.</p> <p>So, in the running gdb session try <tt>dissasemble</tt> command (or just <tt>dissas</tt> alias):</p> <div class="code"> <pre> <code>(gdb) disas Dump of assembler code for function _start: 0x00100000 &lt;_start+0&gt;: ldr sp, [pc, #4] ; 0x10000c &lt;_start+12&gt; 0x00100004 &lt;_start+4&gt;: bl 0x102a8c &lt;platform_init&gt; 0x00100008 &lt;_start+8&gt;: bl 0x1003a0 &lt;main&gt; 0x0010000c &lt;_start+12&gt;: andseq lr, lr, r8, lsr #31 End of assembler dump. (gdb)</code> </pre></div> <p>It's here where everything starts. Corresponding code is in the <tt>loader/libs/c/crt/sys-userspace/arch-arm/crt0.S</tt> file and all the loader code is int the <tt>loader</tt> subdirectory. The starting point is written in the ARM assembler.</p> <p><tt>stepi</tt> will advance one CPU instruction forward. Run it two times, like this:</p> <div class="code"> <pre> <code>(gdb) stepi 0x00100004 in _start () (gdb) stepi platform_init () at conts/libdev/uart/src/platform_init.c:56 56 { (gdb)</code> </pre></div> <p>As you may see the execution flow has reached the C code that is responsible for initializing the platform code. As we're now in the C code we can use <tt>list</tt> command to see the C code listing (or a <tt>l</tt> alias):</p> <div class="code"> <pre> <code>(gdb) l 51 52 return 0; 53 } 54 55 void platform_init(void) 56 { 57 uart.base = PL011_BASE; 58 pl011_initialise(&amp;uart); 59 } 60 (gdb)</code> </pre></div> <p>So we can see that <tt>platform_init</tt> function is doing only one thing here: initializing the <a href="http://pl.wikipedia.org/wiki/Universal_Asynchronous_Receiver_and_Transmitter">UART</a>.</p> <p>As this is not a GDB tutorial I will not cover more about using gdb commands here. There are plenty of such tutorial on web - just look for it.</p> <p>To advance to the point where the loaded gets out of the way do:</p> <div class="code"> <pre> <code>(gdb) tbreak arch_start_kernel Temporary breakpoint 1 at 0x100374: file loader/main.c, line 103. (gdb) c Continuing. Breakpoint 1, arch_start_kernel (entry=0x102aa8) at loader/main.c:103 103 printf("elf-loader:\tStarting kernel\n\r"); (gdb)</code> </pre></div> <p>And then:</p> <div class="code"> <pre> <code>(gdb) l 98 return 0; 99 } 100 101 void arch_start_kernel(void *entry) 102 { 103 printf("elf-loader:\tStarting kernel\n\r"); 104 void (*func)(unsigned long) = (void (*)(unsigned long)) (*(unsigned long*)entry); 105 func(0); 106 } 107 (gdb) n 103 printf("elf-loader:\tStarting kernel\n\r"); (gdb) n arch_start_kernel (entry=0x102aa8) at loader/main.c:104 104 void (*func)(unsigned long) = (void (*)(unsigned long)) (*(unsigned long*)entry); (gdb) n 105 func(0); (gdb) n 0x00008000 in _start_text () (gdb)</code> </pre></div> <p>You could be wondering at this point where are we. Well, we are at <tt>src/arch/arm/head.S</tt> on the line 27.</p> <div class="code"> <pre> <code>(gdb) disassemble Dump of assembler code for function _start_text: 0x00008000 &lt;_start_text+0&gt;: msr CPSR_fc, #19 0x00008004 &lt;_start_text+4&gt;: mrc 15, 0, r0, cr1, cr0, {0} 0x00008008 &lt;_start_text+8&gt;: bic r0, r0, #1 0x0000800c &lt;_start_text+12&gt;: bic r0, r0, #4 0x00008010 &lt;_start_text+16&gt;: bic r0, r0, #4096 ; 0x1000 0x00008014 &lt;_start_text+20&gt;: bic r0, r0, #8 0x00008018 &lt;_start_text+24&gt;: mcr 15, 0, r0, cr1, cr0, {0} 0x0000801c &lt;_start_text+28&gt;: ldr sp, [pc, #40] ; 0x804c &lt;_kernel_init_stack&gt; 0x00008020 &lt;_start_text+32&gt;: msr CPSR_fc, #215 ; 0xd7 0x00008024 &lt;_start_text+36&gt;: ldr sp, [pc, #36] ; 0x8050 &lt;_kernel_abt_stack&gt; 0x00008028 &lt;_start_text+40&gt;: msr CPSR_fc, #210 ; 0xd2 0x0000802c &lt;_start_text+44&gt;: ldr sp, [pc, #32] ; 0x8054 &lt;_kernel_irq_stack&gt; 0x00008030 &lt;_start_text+48&gt;: msr CPSR_fc, #209 ; 0xd1 0x00008034 &lt;_start_text+52&gt;: ldr sp, [pc, #28] ; 0x8058 &lt;_kernel_fiq_stack&gt; 0x00008038 &lt;_start_text+56&gt;: msr CPSR_fc, #219 ; 0xdb 0x0000803c &lt;_start_text+60&gt;: ldr sp, [pc, #24] ; 0x805c &lt;_kernel_und_stack&gt; 0x00008040 &lt;_start_text+64&gt;: msr CPSR_fc, #211 ; 0xd3 0x00008044 &lt;_start_text+68&gt;: bl 0x1493c &lt;start_kernel&gt; 0x00008048 &lt;_start_text+72&gt;: b 0x8048 &lt;_start_text+72&gt; End of assembler dump. (gdb)</code> </pre></div> <p>To skip this code use <tt>step</tt>. This will get us to the next C code:</p> <div class="code"> <pre> <code>(gdb) s Single stepping until exit from function _start_text, which has no line number information. start_kernel () at src/glue/arm/init.c:295 295 printascii("\n"__KERNELNAME__": start kernel...\n"); (gdb) l 290 scheduler_start(); 291 } 292 293 void start_kernel(void) 294 { 295 printascii("\n"__KERNELNAME__": start kernel...\n"); 296 297 /* 298 * Initialise section mappings 299 * for the kernel area (gdb)</code> </pre></div> <h1><span>Last words</span></h1> <p>I think this is enough to start with. You should now concentrate on using debugger, reading a source code and available documentation to learn how do the things work in the Codezero L4 microkernel.</p> <p>It may take you some time, but I hope you will have much more enthusiasm now - with a working codebase and debugger - to learn about L4 and Codezero. And eventually you may start to contribute to this wonderful project yourself.</p> <p>If you had any problems or you find anything not clear enough, just leave me a note in a comment and I'll try to help and correct any mistakes that I've made.</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-221203/codezero-l4-microkernel-developer-starting-guide">Codezero (L4 microkernel) developer starting guide</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-220201#post-702462</guid>
				<title>GNU Screen as a default shell for remote account</title>
				<link>http://dpc.ucore.info/forum/t-220201/gnu-screen-as-a-default-shell-for-remote-account#post-702462</link>
				<description></description>
				<pubDate>Wed, 17 Feb 2010 23:44:10 +0000</pubDate>
				<wikidot:authorName>dpc</wikidot:authorName>				<wikidot:authorUserId>30867</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Everything is nicely scripted in <tt>.bashrc.screen</tt>:</p> <div class="code"> <pre> <code>if [[ $- != *i* ]] ; then # Shell is non-interactive. Be done now! return fi if [[ "$IN_THE_SCREEN" != "TRUE" ]]; then export IN_THE_SCREEN="TRUE" exec screen -xRR -S main fi</code> </pre></div> <p>As I use <tt>bash</tt> as a default shell, I plug this code into <tt>.bashrc</tt> with just one line:</p> <div class="code"> <pre> <code>[ -f "$HOME/.bashrc.screen" ] &amp;&amp; source "$HOME/.bashrc.screen"</code> </pre></div> <p>This way I don't have to remember about running <tt>screen</tt> manually which obviously has many advantages. And I can connect/disconnect from multiple locations and work on one default session without disconnecting any ssh client already connected. It's like remote desktop session - only for shell account.</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-220201/gnu-screen-as-a-default-shell-for-remote-account">GNU Screen as a default shell for remote account</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-199073#post-667577</guid>
				<title>Re: Understanding Drupal - learn from my first impressions</title>
				<link>http://dpc.ucore.info/forum/t-199073/understanding-drupal-my-first-impressions#post-667577</link>
				<description></description>
				<pubDate>Mon, 04 Jan 2010 21:59:36 +0000</pubDate>
				<wikidot:authorName>WendyDawson</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>Thank you sharing this very useful information about Drupal.</p> <p>- Wendy, Essay Writing Service Specialist.</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-199073/understanding-drupal-my-first-impressions">Understanding Drupal - my first impressions</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-202674#post-650479</guid>
				<title>Spotify, wine and PulseAudio</title>
				<link>http://dpc.ucore.info/forum/t-202674/spotify-wine-and-pulseaudio#post-650479</link>
				<description></description>
				<pubDate>Mon, 07 Dec 2009 20:30:41 +0000</pubDate>
				<wikidot:authorName>dpc</wikidot:authorName>				<wikidot:authorUserId>30867</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>My setup:</p> <div class="code"> <pre> <code>$ uname -a Linux richiter 2.6.31-16-generic #52-Ubuntu SMP Thu Dec 3 22:07:16 UTC 2009 x86_64 GNU/Linux $ lspci -v | grep -i audio 00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)</code> </pre></div> <p>Resources:<br /> <a href="https://wiki.ubuntu.com/DebuggingSoundProblems/KarmicCaveats">https://wiki.ubuntu.com/DebuggingSoundProblems/KarmicCaveats</a><br /> <a href="http://blog.paulbetts.org/index.php/2007/05/27/make-wine-and-pulseaudio-get-along/">http://blog.paulbetts.org/index.php/2007/05/27/make-wine-and-pulseaudio-get-along/</a></p> <p>So I did:</p> <ul> <li><tt>padsp winecfg</tt>, and changed driver to oss: hardware acceleration as emulation, 44100, 16 bit, no driver emulation;</li> <li>I've installed newer backport of alsa for Karmic Koala;</li> <li>I'm now running Spotify with <tt>env WINEPREFIX="/home/dpc/.wine" padsp wine "C:\Program Files\Spotify\spotify.exe"</tt> and sound is perfect;</li> </ul> <p>Hope that will help somebody.—</p> <p>Edit:<br /> I have now installed <tt>wine1.2</tt> package in Ubuntu and sound works even better without any <tt>winecfg</tt> tweaks.</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-202674/spotify-wine-and-pulseaudio">Spotify, wine and PulseAudio</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-199073#post-639552</guid>
				<title>Understanding Drupal - learn from my first impressions</title>
				<link>http://dpc.ucore.info/forum/t-199073/understanding-drupal-my-first-impressions#post-639552</link>
				<description></description>
				<pubDate>Sun, 22 Nov 2009 14:20:16 +0000</pubDate>
				<wikidot:authorName>dpc</wikidot:authorName>				<wikidot:authorUserId>30867</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <h2><span>Installation and hosting</span></h2> <p>I've decided to use Drupal 6. This is obvious choice as it's seems current and stable. Nothing to add here, I guess.</p> <p>I must admit that installation was very straightforward and easy. Nothing really tricky. However I had some problems with hosting. On the current hosting provider that the organization is using: <a href="http://strefa.pl">strefa.pl</a> installation failed. After editing .htdocs file and removing "Option" sections I was able to get initial stage of installation, but it couldn't finish.</p> <p>I've searched the web and found out that public opinion about this hosting is very bad and even on the most known polish hosting provider: <a href="http://home.pl">home.pl</a> things may need some trickery because they are not using apache.</p> <p>After some research I've decided to try <a href="http://linuxpl.com">linuxpl.com</a> hosting and so far I'm happy with the choice. It seems everything I need will be working even on the most basis hosting option, which is very cheap solution for me. However it's far to early to make any strong opinions about the overall quality of this hosting. But I must admit that the fact they have a <em>linux</em> in the name pleases me. They claim they give ssh access after fully activating the account (paying ;) ) which seems neat.</p> <h2><span>First impression</span></h2> <p>Right after installation Drupal functionality seemed painfully limited. Navigation is easy but I couldn't see where did the whole Drupal hype came from. I had no idea how to make anything more useful than basic WordPress installation …</p> <p>However I've made a long journey to read about how to use Drupal and quickly discovered that it's very powerful after extending it with <a href="http://drupal.org/project/modules">Drupal modules</a> .</p> <h2><span>Understanding howto use Drupal</span></h2> <p>I think I've got it all figured out now, after few days with toying with it so I'll quickly describe what I think may help others to understand how to use Drupal.</p> <h3><span>Content on the page</span></h3> <p>Basically each page view in Drupal seems to be build from the following elements:</p> <ul> <li>menus</li> <li>blocks</li> <li>page content</li> <li>other minor elements</li> </ul> <p>Menu configuration is very similar to the solutions from other CMSs - hierarchical system with few roots (primary links, secondary links, navigation). Of course you can do more advanced stuff with it, but the basic concept is simple.</p> <p>Blocks for me are … widgets. Each site theme provides you with regions like: header, footer, left column, right column, etc. . In the block configuration menu you can put blocks (widgets) in the places (regions) you like with some more advanced options (what to display, when, and in what way). You can create your own blocks as well (more about this later).</p> <p>Main content is displayed in the main content area (at least basically).</p> <h2><span>Modules</span></h2> <p>Drupal is all about it's modules. Take a look how many of them is there: <a href="http://drupal.org/project/modules">Drupal modules</a>. Got to the <tt><a href="http://yoursite.com/admin/build/modules">http://yoursite.com/admin/build/modules</a></tt> and get familiar with it. Installation of new modules is a matter of dropping extracted module to the <tt>modules</tt> subdirectory and enabling it on the module administration page.</p> <h3><span>Internationalization</span></h3> <p>If you're not going to use it you may consider installing it anyway. But if know you're going to use it at some point: install, configure it and play with it on the very beginning. It will save your time discovering how does it connect with other modules later. I18n is available almost everywhere and its configuration is on each and every place.</p> <h3><span>Content and CCK</span></h3> <p><a href="http://drupal.org/project/cck">Content Construction Kit (CCK)</a> is the very basic module that you should install at the very beginning and which is crucial for the way Drupal works.</p> <p>The basic idea is not to use <em>page</em> or <em>article</em> for everything on you site, but to create a <em>content category</em> for the things you want to be a content. If you're creating a site about music you may want to have a <em>song</em>, <em>artist</em> or <em>album</em> content type. Each content type may have a custom fields. <em>Album</em> will probably refer to it <em>author</em> as a <em>artist</em> reference, have it's cover (as image that you can upload). A <em>song</em> may refer to the album on which it's placed. This is all achievable through adding fields.</p> <p>What does it give? It gives a structure to your content. Instead of thinking about the categories and pages - you create a content first. And then you can do some magic with other modules to make this objects display in many various ways. Create a widget to display "other songs for this artist", etc.</p> <h3><span>Views</span></h3> <p>Next main modules is the <a href="http://drupal.org/project/views">Views</a>. It's damn hard to understand and learn, but it's incredibly powerful. Using structured data from the CCK you can create page content, blocks (widgets) with any functionality you imagine. You will have to seek for solutions on the web at first, but after a while you will have and menus, widgets and pages that you desire.</p> <p>Big advice - read the provided documentation first. Learn how to create basic views and then implement some ideas described by other people on the web. You may have to code (or at least copy) some PHP to get more advanced views. And you may have a hard time figuring out what the heck is going on at first. But it's totally worth it.</p> <p>And remember to look at the publication date of documents you read. Views 2 is the version you're using. There are many tutorials on the web that describe other older versions.</p> <h3><span>Taxonomy</span></h3> <p><a href="http://drupal.org/project/taxonomy">Taxonomy module</a> will allow you to attach abstract terms to the content. You can use many sets of terms for different purposes. This is used by Views and CCK. Read a documentation and understand how this works - it will be crucial for efficient use of Views and CCK.</p> <h3><span>Other modules</span></h3> <p>At the moment in my <tt>modules</tt> directory is about 60 entries.</p> <p>Below are the one that I find most important:<br /></p> <dl> <dt><a href="http://drupal.org/project/admin_menu">admin_menu</a></dt> <dd>Displays a handy administration menu to let you quickly work with your site. Very useful for site administator.</dd> <dt><a href="http://drupal.org/project/cck">cck</a></dt> <dd>Already described. A must-have.</dd> <dt><a href="http://drupal.org/project/extlink">extlink</a></dt> <dd>Put these nice arrows next to outgoing links.</dd> <dt><a href="http://drupal.org/project/google_analytics">google_analytics</a></dt> <dd>Obviously, you'll want to watch some stats about the result of your work.</dd> <dt><a href="http://drupal.org/project/imagecache">imagecache</a></dt> <dd>A must have if you're going to work with images in your content. Lets you configure profiles for the images to have them in desired sizes here and there.</dd> <dt><a href="http://drupal.org/project/imagefield">imagefield</a></dt> <dd>Lets you add fields of image type to your CCK content. As the above - a must-have.</dd> <dt><a href="http://drupal.org/project/masquerade">masquerade</a></dt> <dd>Want to take quick look how does the site looks like for particular user? This is it.</dd> <dt><a href="http://drupal.org/project/profile">profile</a></dt> <dd>Let's you configure a <em>Profile</em> content type where users put information about themselves.</dd> <dt><a href="http://drupal.org/project/realname">realname</a></dt> <dd>If you want users to be identified by the full names instead of logins - this will to the job.</dd> <dt><a href="http://drupal.org/project/taxonomy">taxonomy</a></dt> <dd>Already described. A must-have.</dd> <dt><a href="http://drupal.org/project/views">views</a></dt> <dd>Already described. A must-have indeed.</dd> </dl> <h2><span>Summary</span></h2> <p>Drupal is powerful, but damn hard to understand at first. And things that make it powerful like CCK and Views are definitely not configurable for non tech-savy users. Each web site will have to get some kind of skilled admin that will get it up and running, understand relational databases (Views) and will be familiar with how do pieces (modules) work together. However it is possible to create an environment in which normal users (content editors, translators, users) will feel comfortable and able to work.</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-199073/understanding-drupal-my-first-impressions">Understanding Drupal - my first impressions</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-195933#post-630684</guid>
				<title>Universal filtering tool</title>
				<link>http://dpc.ucore.info/forum/t-195933/universal-filtering-tool#post-630684</link>
				<description></description>
				<pubDate>Wed, 11 Nov 2009 19:56:29 +0000</pubDate>
				<wikidot:authorName>dpc</wikidot:authorName>				<wikidot:authorUserId>30867</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Today an idea was born in my mind. I wish I could have an straightforward and generic information filtering tool. I thought about it and writing a quick draft of how could it potentially work.</p> <p>The project name for it is <a href="http://dpc.ucore.info/lab:metaforward">metaforward</a> as more obvious metafilter is already used by <a href="http://www.metafilter.com/">metafilter weblog</a>.</p> <p>I'm pretty sure many people have already thought about this but I'm unable to find any existing project on the web.</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-195933/universal-filtering-tool">Universal filtering tool</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-194686#post-627300</guid>
				<title>More time for my personal wiki</title>
				<link>http://dpc.ucore.info/forum/t-194686/more-time-for-my-personal-wiki#post-627300</link>
				<description></description>
				<pubDate>Sat, 07 Nov 2009 21:41:06 +0000</pubDate>
				<wikidot:authorName>dpc</wikidot:authorName>				<wikidot:authorUserId>30867</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I'm working more and more on integrating my online and offline life. Web 2.0 features can be really useful in simplifying things like work and communication.</p> <p>Recently my disk crashed and I had to restore the data from backups. This have gave me an opportunity to make some maintenance with stuff I keep. I've already spent some time on online services, but now I've gone with my private data. It's good I've had some free time due to staying at home on a sick leave because it's so many of data to be segregated, compressed, backed up, etc.</p> <p>Today I've finally was able to work on my wikidot page. I love wikidot, all it's features and endless possibilities it gives me. With help of <a href="https://addons.mozilla.org/en-US/firefox/addon/1843">firebug</a> firefox extension I've quickly made my page look better and now I'm working on restructuring it a bit.</p> <p>I was thinking about setting up a blog as nowadays I've got more and more interesting things on my mind that I'd like to share. As I think I'll be writing more now I hope to work more with my precious wiki.</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-194686/more-time-for-my-personal-wiki">More time for my personal wiki</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-24815#post-536016</guid>
				<title>Re: Configuration file</title>
				<link>http://dpc.ucore.info/forum/t-24815/xmpp-status-bot-for-amarok#post-536016</link>
				<description></description>
				<pubDate>Thu, 16 Jul 2009 19:00:03 +0000</pubDate>
				<wikidot:authorName>Rémi Bouhl</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>You got that line in the script:<br /> <tt>config_filename = "xmppstatusbotrc"</tt><br /> I guess you have to create a "xmppstatusbotrc" file somewhere, and write your configuration in it.</p> <p>This script really needs to be packaged ;+)</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-13690">Hidden / Per page discussions</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-24815/xmpp-status-bot-for-amarok">XMPP Status Bot for Amarok</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-165516#post-520089</guid>
				<title>Less updates</title>
				<link>http://dpc.ucore.info/forum/t-165516/less-updates#post-520089</link>
				<description></description>
				<pubDate>Sat, 27 Jun 2009 08:29:44 +0000</pubDate>
				<wikidot:authorName>dpc</wikidot:authorName>				<wikidot:authorUserId>30867</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Due to other duties (personal and professional) I have now much less time for my personal projects. I didn't forgot about this site, but I have much less information to put here. Sorry. :)</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-165516/less-updates">Less updates</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-111238#post-328256</guid>
				<title>Domain change</title>
				<link>http://dpc.ucore.info/forum/t-111238/domain-change#post-328256</link>
				<description></description>
				<pubDate>Sat, 06 Dec 2008 13:46:35 +0000</pubDate>
				<wikidot:authorName>dpc</wikidot:authorName>				<wikidot:authorUserId>30867</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Tired of constant problems with jabber/email providers and switching my contact informations I've decided to get my own domain name. Its name is: <a href="http://ucore.info">ucore.info</a>. I think it is a good one - short and with a nice unix/kernel/engineering related name.</p> <p>So now you can find my wiki under <a href="http://dpc.ucore.info">dpc.ucore.info</a>. I hope to have a comfort of possible domain delegation change when I'm moving my service providers. We shall see if it is going to work.</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-111238/domain-change">Domain change</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-24815#post-212336</guid>
				<title>Configuration file</title>
				<link>http://dpc.ucore.info/forum/t-24815/xmpp-status-bot-for-amarok#post-212336</link>
				<description></description>
				<pubDate>Wed, 02 Jul 2008 07:46:32 +0000</pubDate>
				<wikidot:authorName>Anonymous</wikidot:authorName>								<content:encoded>
					<![CDATA[
						 <p>The program is missing documentation about the configuration file or an example of it attached. I can not start the program because always says "could not read settings", I tried touching the config file also without any success. Thanks.</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-13690">Hidden / Per page discussions</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-24815/xmpp-status-bot-for-amarok">XMPP Status Bot for Amarok</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-58096#post-158470</guid>
				<title>University project: dpcgoban</title>
				<link>http://dpc.ucore.info/forum/t-58096/university-project:dpcgoban#post-158470</link>
				<description></description>
				<pubDate>Tue, 06 May 2008 12:37:24 +0000</pubDate>
				<wikidot:authorName>dpc</wikidot:authorName>				<wikidot:authorUserId>30867</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>As a part of my "J2ME" subject on the current semester I had to develop some mobile application. I've choosen to write mobile Go (board game) application. It should be ligth, efficient, well written and use fair documented protocol for multiplayer.</p> <p>Lately I've made it public - hoping that someone will be willing to help me before I get a grade. (Kidding. :D) . I'm not even near finishing it, but the current state of UI is quite nice and I plan to add basic game logic soon.</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-58096/university-project:dpcgoban">University project: dpcgoban</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-58095#post-158467</guid>
				<title>Moving to github</title>
				<link>http://dpc.ucore.info/forum/t-58095/moving-to-github#post-158467</link>
				<description></description>
				<pubDate>Tue, 06 May 2008 12:26:09 +0000</pubDate>
				<wikidot:authorName>dpc</wikidot:authorName>				<wikidot:authorUserId>30867</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I like git very much. In the past I was using <a href="http://repo.or.cz">http://repo.or.cz</a> to store my public repositories, but lately I've discovered <a href="http://github.com">http://github.com</a> and it feels as much better and more polished place for git users.</p> <p>I have migrated all my public repositories to github.</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-58095/moving-to-github">Moving to github</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-41345#post-107429</guid>
				<title>New project in D: dack</title>
				<link>http://dpc.ucore.info/forum/t-41345/new-project-in-d:dack#post-107429</link>
				<description></description>
				<pubDate>Thu, 14 Feb 2008 22:04:59 +0000</pubDate>
				<wikidot:authorName>dpc</wikidot:authorName>				<wikidot:authorUserId>30867</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p><a href="http://dpc.wikidot.com/lab:dack">http://dpc.wikidot.com/lab:dack</a></p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-41345/new-project-in-d:dack">New project in D: dack</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-24196#post-61324</guid>
				<title>XMPP Status Bot for Amarok 0.3</title>
				<link>http://dpc.ucore.info/forum/t-24196/xmpp-status-bot-for-amarok-0-3#post-61324</link>
				<description></description>
				<pubDate>Wed, 24 Oct 2007 00:59:53 +0000</pubDate>
				<wikidot:authorName>dpc</wikidot:authorName>				<wikidot:authorUserId>30867</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I've just released brand new version of <a href="http://dpc.ucore.info/lab:xmppstatusbot">XMPP Status Bot for Amarok</a>.</p> <h6><span>Changes:</span></h6> <ul> <li>Remote control.</li> <li>Unicode status fixes.</li> <li>New home page and git public repository.</li> </ul> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-24196/xmpp-status-bot-for-amarok-0-3">XMPP Status Bot for Amarok 0.3</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://dpc.ucore.info/forum/t-24162#post-61246</guid>
				<title>My public wiki!</title>
				<link>http://dpc.ucore.info/forum/t-24162/my-public-wiki#post-61246</link>
				<description></description>
				<pubDate>Tue, 23 Oct 2007 19:24:19 +0000</pubDate>
				<wikidot:authorName>dpc</wikidot:authorName>				<wikidot:authorUserId>30867</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I've created this wiki to let myself manage stuff about myself and get all the pieces of my Internet presence together.</p> <p>Today I've managed to find some time to get this wiki into shape that I can call "activation". I hope it will be useful (especially for me).</p> <br/>Forum category: <a href="http://dpc.ucore.info/forum/c-18946">Personal / Blog</a><br/>Forum thread: <a href="http://dpc.ucore.info/forum/t-24162/my-public-wiki">My public wiki!</a>
				 	]]>
				</content:encoded>							</item>
				</channel>
</rss>