<?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>Everything technical &#187; Programming</title>
	<atom:link href="http://www.lbotti.net/blog/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lbotti.net/blog</link>
	<description>Linux, Java, Python...just techie blogging</description>
	<lastBuildDate>Fri, 08 Oct 2010 22:46:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Surfing</title>
		<link>http://www.lbotti.net/blog/2010/01/12/surfing/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.lbotti.net/blog/2010/01/12/surfing/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 22:57:15 +0000</pubDate>
		<dc:creator>lucabotti</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.lbotti.net/blog/?p=210</guid>
		<description><![CDATA[Sometimes I get lost in the Web, just following links after link for new ideas, following a vague plan of action, multiplying tabs and relying on browser&#8217;s session restore capabilities and tab and bookmark syncing. Tonight, after a full day of work, the gym, the dinner and some chatting with my lovely wife, I had [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes I get lost in the Web, just following links after link for new ideas, following a vague plan of action, multiplying tabs and relying on browser&#8217;s session restore capabilities and tab and bookmark syncing.<br />
Tonight, after a full day of work, the gym, the dinner and some chatting with my lovely wife, I had one of this session on the sofa (thanks to netbook magic, the fully working Samsung NC10 with F12 and about 4hrs battery life..).<br />
Anyway, I discovered some interesting projects. the first is a <a title='Original Link: http://www.djangoproject.org'  href="http://www.lbotti.net/blog/?bgJTR4jn">Django</a> powered software forge (think <a title='Original Link: http://sourceforge.net'  href="http://www.lbotti.net/blog/?AQG01XFl">sourceforge</a> plus <a title='Original Link: http://trac.edgewall.org'  href="http://www.lbotti.net/blog/?w2QFcd6d">trac</a>): <a title='Original Link: http://basieproject.org'  href="http://www.lbotti.net/blog/?x9Npk1Vd">basie</a> is a MIT licensed software which is growing up from an academic world, and I shall admit to find it intriguing, and an interesting candidate to the trac position.<br />
Next one is the <a title='Original Link: http://moss.wikidot.com/buildhaus'  href="http://www.lbotti.net/blog/?dBAqTXrU">Python Buildhaus Project</a>, which goal is to setup a build system for Python packages against multiple architectures / OSes / python environments: infrastructure will be provided by the <a title='Original Link: http://www.snakebite.org'  href="http://www.lbotti.net/blog/?40DKTMYj">Snakebite</a> project, which goal is to make available as many platforms as possible to test open source software builds.<br />
Finally, a nice old blog entry regarding <a title='Original Link: http://blog.james-carr.org/2006/11/03/tdd-anti-patterns/'  href="http://www.lbotti.net/blog/?ESNni5KH">TDD AntiPatterns</a>.<br />
Lot of stuff. Will keep an eye on those (and perhaps contribute to basie, who knows&#8230;).</p>
  
<div class="wp_license">
<p><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"><img src="http://i.creativecommons.org/l/by-sa/3.0/88x31.png" alt="Creative Commons Attribution-ShareAlike 3.0 Unported" class="alignleft" style="margin-top:4px;" />
</a>This work  is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0 Unported</a>.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.lbotti.net/blog/2010/01/12/surfing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building RPMs, part two &#8211; Pinax</title>
		<link>http://www.lbotti.net/blog/2009/08/23/building-rpms-part-two-pinax/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.lbotti.net/blog/2009/08/23/building-rpms-part-two-pinax/#comments</comments>
		<pubDate>Sun, 23 Aug 2009 15:55:33 +0000</pubDate>
		<dc:creator>lucabotti</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Licensing]]></category>
		<category><![CDATA[Netbook]]></category>
		<category><![CDATA[Packaging]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://people.byte-code.com/lbotti/?p=56</guid>
		<description><![CDATA[Ok, so now we have the environment complete. First thing I want to package is Pinax. This is a nice little collection of Django applications which add some required stuff for most of web based applications. On the link above you will find all the info for the project, so let&#8217;s start. We will build [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, so now we have the environment complete. First thing I want to package is <a title="Pinax" title='Original Link: http://pinaxproject.com/'  href="http://www.lbotti.net/blog/?lHD_YdIN" target="_blank">Pinax</a>. This is a nice little collection of Django applications which add some required stuff for most of web based applications.</p>
<p>On the link above you will find all the info for the project, so let&#8217;s start. We will build the release version of Pinax (for development versions I have a side project, which I will show you at right time). Please note &#8211; all the release used are current for the day this entry has been written.</p>
<p>Download pinax version 0.5.1 from <a title='Original Link: http://downloads.pinaxproject.com/pinax-0.5.1.tar.gz'  href="http://www.lbotti.net/blog/?ODh6AOjx">here</a> and put it in rpmbuild/SOURCES. After that:</p>
<blockquote><p>cd ~/rpmbuild/SPECS</p>
<p>rpmdev-newspec -t python pinax</p></blockquote>
<p>Rpmdev-newspec creates the skeleton for a new spec file named pinax. The -t python option tells to create a skeleton  with some python definitions in it (python definitions are laid out according to this <a title='Original Link: http://fedoraproject.org/wiki/Packaging:Python'  href="http://www.lbotti.net/blog/?vFV1KQHw" target="_blank">wiki entry</a> on the Fedora Project Wiki); you can see which skeletons are available looking in &#8216;\etc\rpmdevtools&#8217;.</p>
<p>Why Python? Well, my guess is that being DJango a <span style="text-decoration: underline;">Python</span> framework, you know&#8230;.</p>
<p>Let&#8217;s look at the spec file and put some info into that. You can use any editor for the file (I use <a title='Original Link: http://www.geany.org/'  href="http://www.lbotti.net/blog/?oWVTdap3" target="_blank">geany</a>, fast and lightweight).</p>
<blockquote><p># sitelib for noarch packages, sitearch for others (remove the unneeded one)<br />
%{!?python_sitelib: %global python_sitelib %(%{__python} -c &#8220;from distutils.sysconfig import get_python_lib; print get_python_lib()&#8221;)}<br />
%{!?python_sitearch: %global python_sitearch %(%{__python} -c &#8220;from distutils.sysconfig import get_python_lib; print get_python_lib(1)&#8221;)}</p>
<p>Name:           pinax<br />
Version:<br />
Release:        1%{?dist}<br />
Summary:</p>
<p>Group:          Development/Languages<br />
License:<br />
URL:<br />
Source0:<br />
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)</p>
<p>BuildArch:<br />
BuildRequires:  python-devel</p></blockquote>
<p>I am assuming that Pinax is a pure python package, so we use the sitelib for noarch packages (first line of the two provided). After that we have to insert some descriptive info of the Pinax project.</p>
<p>But, of course, before going ahead we must check some of the <a title='Original Link: http://pinaxproject.com/docs/0.5.1/dependencies.html'  href="http://www.lbotti.net/blog/?aZmfuYB8" target="_blank">Pinax dependencies</a>.</p>
<p>Continuing tomorrow&#8230;</p>
  
<div class="wp_license">
<p><a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"><img src="http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png" alt="Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported" class="alignleft" style="margin-top:4px;" />
</a>This work  is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported</a>.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.lbotti.net/blog/2009/08/23/building-rpms-part-two-pinax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java 1.6 and Fedora 11</title>
		<link>http://www.lbotti.net/blog/2009/08/03/java-and-fedora/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.lbotti.net/blog/2009/08/03/java-and-fedora/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 19:34:34 +0000</pubDate>
		<dc:creator>lucabotti</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Packaging]]></category>
		<category><![CDATA[RPM]]></category>

		<guid isPermaLink="false">http://people.byte-code.com/lbotti/?p=32</guid>
		<description><![CDATA[How to install the latest version of Java 1.6 on Fedora 11 (also F10 should work) and CentOS. For Java on Fedora, I rely on Paul Howarth excellent wiki entry regarding rebuild of Sun Java Package on Fedora Linux. As a side note, OpenJDK is possibly the best thing that could happen to Java, but: [...]]]></description>
			<content:encoded><![CDATA[<p><em>How to install the latest version of Java 1.6 on Fedora 11 (also F10 should work) and CentOS.</em></p>
<p>For Java on Fedora, I rely on <a title='Original Link: http://www.city-fan.org/tips/SunJava6OnFedora'  href="http://www.lbotti.net/blog/?qKZ80u36" target="_self">Paul Howarth excellent wiki entry</a> regarding rebuild of Sun Java Package on Fedora Linux.<br />
As a side note, OpenJDK is possibly the best thing that could happen to Java, but:</p>
<ul>
<li>as a developer, I need the target vm on my development environment</li>
<li>as a user, a lot of applets have issues with the OpenJDK plugin</li>
</ul>
<p>Unfortunately, Paul&#8217;s entry refers to version 7 of Java 6, while, at the time of this writing, Java has been updated to version 14. Furthermore, since release 12 of Java 6, a 64 bit version of the java plugin exists (which follows new plugin apis available from mozilla version 3 forward, by the way), so Paul&#8217;s notes regarding 64 bit plugin are not valid anymore.</p>
<p>Well, enough said. I just put up a new spec file to help any of you out there setting up the correct java version for your fedora. The thing is set for Fedora 11, but should work for version 10, too.</p>
<p>You can donwload the spec file <a href="http://www.lbotti.net/specfiles/java-1.6.0-sun.spec">here</a> . Also download <a href="http://www.lbotti.net/specfiles/java-1.6.0-sun-register-java-fonts.xsl" target="_blank">this</a> xsl file and <a href="http://www.lbotti.net/specfiles/java-1.6.0-sun-unregister-java-fonts.xsl" target="_blank">this one</a> .</p>
<p>If you need to startup with rpm packaging (easier than what you would expect) see my previous <a href="http://www.lbotti.net/blog/2009/06/27/packaging-startup/#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed" target="_blank">post</a> regarding packaging setup. You can skip the installation of development-tools, anyway.</p>
<p>After completing the initial steps, put the spec file above in the SPECS directory under rpmbuild in your home directory, and the xsl files in the SOURCES directory (still under rpmbuild).</p>
<p><a title='Original Link: http://java.sun.com/javase/downloads/index.jsp'  href="http://www.lbotti.net/blog/?V1bbneGD" target="_blank">Download Java</a> (as of today, spec file is for version 6 update 14) 64 or 32 bit as needed. As I was saying, from version 12 forward there is the 64 bit plugin and Java Web Start. Choose the <strong>bin</strong> file, and download it in ~/rpmbuild/SOURCES.</p>
<blockquote><p>In case you are wondering, the ~ symbol in Linux stands for &#8220;<em>the user&#8217;s home directory</em>&#8220;, so, if the username you adopted on Linux is &#8220;jsmith&#8221;, your user home directory will be &#8220;<em>/home/jsmith</em>&#8220;, and the above directory will be&#8221;<em>/home/jsmith/rpmbuild/SOURCES</em>&#8221; and the previous one will be &#8220;<em>/home/jsmith/rpmbuild/SPECS</em>&#8220;</p></blockquote>
<p>Now insert the following commands:</p>
<blockquote><p>cd rpmbuild/SPECS<br />
rpmbuild -ba java-1.6.0-sun.spec</p></blockquote>
<p>Take your time here (it takes a bit to unpack and repackage all). After a while, if all is OK, the command prompt will be back and you will find some files in the RPMS and SRPMS directories.</p>
<p>Depending on your architecture, you will find a i586 (for Fedora 11) or X86_64 directory with rpms in it. To have the Java runtime environment, just do:</p>
<blockquote><p>sudo yum localinstall java-1.6.0-sun{,-alsa,-fonts,-plugin}-1.6.0*.rpm &#8211;nogpgcheck</p></blockquote>
<p>answer y(es) and go ahead. But now the default Java will still be set to OpenJDK (if installed) the gcj. Just do</p>
<blockquote><p>sudo alternatives &#8211;config java</p></blockquote>
<blockquote><p>There are 3 programs which provide &#8216;java&#8217;.</p>
<p>Selection    Command</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>*  1           /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java</p>
<p>2           /usr/lib/jvm/jre-1.4.2-gcj/bin/java</p>
<p>+ 3           /usr/lib/jvm/jre-1.6.0-sun/bin/java</p>
<p>Enter to keep the current selection[+], or type selection number:</p></blockquote>
<p>In this case, selecting 3 you would select the sun java runtime we just installed.<br />
As an additional benefit, an entry in the administration menu of Gnome (do not know about KDE) will be present to set all things related to Java. Also the Java Web Start should work. You can try with (ex)<a title='Original Link: http://dist.trolltech.com/developer/download/webstart/index.html'  href="http://www.lbotti.net/blog/?mV4MVnPE" target="_blank">TrollTech&#8217;s Qt Jambi Demo Page</a> or at Sun&#8217;s <a title='Original Link: http://java.sun.com/javase/technologies/desktop/javawebstart/demos.html'  href="http://www.lbotti.net/blog/?cqwaIKTY" target="_blank">Java Web Start Demo Page</a>.</p>
<p>I hope all this becomes obsolete quickly &#8211; <a title='Original Link: http://blogs.sun.com/darcy/entry/openjdk_and_the_new_plugin'  href="http://www.lbotti.net/blog/?kHWa2P7M">it looks like</a> in b16 of the OpenJDK the plugin source code is included, so we should see it appear in the Fedora infrastructure for F12.</p>
<p><strong>Update </strong>Fabio comments that <strong>KDE</strong> menu entries work correctly, too. Also, to have the development environment you have to:</p>
<blockquote><p>sudo yum localinstall java-1.6.0-sun{,-demo,-devel,-src,-jdbc}-1.6.0*.rpm –nogpgcheck</p></blockquote>
<p>to install compilers, profiler, and all of the JDK elements.</p>
  
<div class="wp_license">
<p><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"><img src="http://i.creativecommons.org/l/by-sa/3.0/88x31.png" alt="Creative Commons Attribution-ShareAlike 3.0 Unported" class="alignleft" style="margin-top:4px;" />
</a>This work  is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0 Unported</a>.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.lbotti.net/blog/2009/08/03/java-and-fedora/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>OpenERP and workflow management</title>
		<link>http://www.lbotti.net/blog/2009/07/29/openerp-and-workflow-management/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.lbotti.net/blog/2009/07/29/openerp-and-workflow-management/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 21:47:23 +0000</pubDate>
		<dc:creator>lucabotti</dc:creator>
				<category><![CDATA[OpenERP]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.lbotti.net/blog/?p=89</guid>
		<description><![CDATA[The starting point for the steps I am showing on this blog has been my desire to initiate a project about project management, called princess. The not so original name derives from the fact that the software will be loosely based on the Prince2 Project Management Methodology. For the uninitiated, Prince2 is based on a [...]]]></description>
			<content:encoded><![CDATA[<p>The starting point for the steps I am showing on this <a href="http://www.lbotti.net/blog#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed" target="_self">blog</a> has been my desire to initiate a project about project management, called <a title='Original Link: http://princess.sourceforge.net'  href="http://www.lbotti.net/blog/?F9OTcjlo" target="_blank">princess</a>.</p>
<p>The not so original name derives from the fact that the software will be loosely based on the <a title='Original Link: http://en.wikipedia.org/wiki/PRINCE2'  href="http://www.lbotti.net/blog/?4e1OsFiv" target="_blank">Prince2</a> Project Management Methodology. For the uninitiated, Prince2 is based on a set of rules and processes to manage projects, more lightweight (apparently) than <a title='Original Link: http://en.wikipedia.org/wiki/Project_Management_Professional'  href="http://www.lbotti.net/blog/?WEwteeho" target="_blank">PMP</a>.</p>
<p>From my point of view, processes and workflow management go hand-in-hand, and so a background task in my brain has been polling (and googling) about workflow libraries in Python.</p>
<p>A week ago, while searching other stuff, I met <a title='Original Link: http://www.openerp.com'  href="http://www.lbotti.net/blog/?M3pDHleb" target="_blank">OpenERP</a> which, at a first sight, has an interesting workflow management component. Also, the entire project is evolving from a complete application to <a title='Original Link: http://openobject.com/'  href="http://www.lbotti.net/blog/?jSVm26BW" target="_blank">a set of components</a>, so my hope is to leverage the power of FLOSS here, adopting a component from another, gpl licensed software. Further licensing investigations are on the way.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lbotti.net/blog/2009/07/29/openerp-and-workflow-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

