<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml"
>

<channel>
	<title>NuBlog &#187; Tips</title>
	<atom:link href="http://blog.nuit.dk/category/tips/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.nuit.dk</link>
	<description>Jens Ulrik Lange on Web technology, blogging, programming, Linux and IT project management</description>
	<lastBuildDate>Wed, 22 Sep 2010 20:56:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>IE7 content disappears</title>
		<link>http://blog.nuit.dk/ie7-content-disappears/</link>
		<comments>http://blog.nuit.dk/ie7-content-disappears/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 06:10:05 +0000</pubDate>
		<dc:creator>jul</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ie7]]></category>
		<category><![CDATA[internet explorer]]></category>

		<guid isPermaLink="false">http://blog.nuit.dk/?p=97</guid>
		<description><![CDATA[This is not a complaint &#8211; it is the solution to an issue that has been puzzling me over the weekend. IE8 has been out for a long time &#8211; which does not necessarily mean that corporations has implemented it yet. Some large corporations tend to make their business depend on current browser versions &#8211; [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=21a11738f6a3b0696645fe12a6af6440&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>This is not a complaint &#8211; it is the solution to an issue that has been puzzling me over the weekend.</p>
<p>IE8 has been out for a long time &#8211; which does not necessarily mean that corporations has implemented it yet. Some large corporations tend to make their business depend on current browser versions &#8211; not allowing them to upgrade the browsers on their pc&#8217;s without extensive testing and some time expensive application upgrades. I know of at least 5 danish companies who still doesn&#8217;t dare to take the plunge from IE6 (!)</p>
<p>I usually develop web-stuff having booted Ubuntu running Firefox &#8211; then once in a while boot Windows and test with the latest IE, Safari, Chrome and Firefox. I leave it to others to test on Mac&#8217;s. If I am unsure how something renders on other platforms, I can recommend <a href="http://www.browsershots.org">browsershots.org</a> &#8211; a cool service that renders a specific URL in any browser on any platform and allow you to see the screenshots after a while.</p>
<p>In this case the client is at IE7. The layout has a header, a content area and a footer &#8211; very simple stuff. It looks fine i all browsers &#8211; except for IE7. For this particular browser the content section wouldn&#8217;t display. Even IE7 displayed the area. The space was allocated but it was blank. This <a href="http://www.webmasterworld.com/css/3505480.htm">article on webmasterworld.com</a> gave a few tips:</p>
<ol>
<li>add
<pre>* {Â zoom: 1.0;Â }</pre>
<p>to the css (this did not make a difference for me)</li>
<li>add
<pre>position: relative;</pre>
<p>to the</p>
<pre>#wrapper</pre>
<p>in the css</li>
</ol>
<p>Tip 2 made all the difference. #wrapper is a div that wraps around all the content on the page. Not knowing the inner workings of IE7, I can only guess why this fixed the issue &#8211; just hope Google finds this post for you if you run into the same problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nuit.dk/ie7-content-disappears/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<georss:point featurename="[55.90423859525798, 12.486348152160645]">55.90423859525798 12.486348152160645</georss:point>
	</item>
		<item>
		<title>Windows 7 &#8211; First learning points</title>
		<link>http://blog.nuit.dk/windows-7-first-learning-points/</link>
		<comments>http://blog.nuit.dk/windows-7-first-learning-points/#comments</comments>
		<pubDate>Wed, 27 May 2009 10:18:44 +0000</pubDate>
		<dc:creator>jul</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.nuit.dk/?p=87</guid>
		<description><![CDATA[Installed Windows 7 RC2 for the first time yesterday. In Virtual Machine First installation in a VirtualBox - which worked fine except for the VirtualBox graphics adapter not being accelerated &#8211; which meant Solitaire ran extremely slow. Apart from that &#8211; no problems. Dual/triple booting Once the gut feeling was OK, i made room for [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=21a11738f6a3b0696645fe12a6af6440&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>Installed Windows 7 RC2 for the first time yesterday.</p>
<h2>In Virtual Machine</h2>
<p>First installation in a <a title="Sun VirtualBox - is a powerful x86 virtualization product for enterprise as well as home use" href="http://www.virtualbox.org/">VirtualBox </a>- which worked fine except for the VirtualBox graphics adapter not being accelerated &#8211; which meant Solitaire ran extremely slow. Apart from that &#8211; no problems.</p>
<h2>Dual/triple booting</h2>
<p>Once the gut feeling was OK, i made room for <a title="Windows 7 release candidate download" href="http://www.microsoft.com/Windows/Windows-7/download.aspx">Windows 7</a> on my laptop that already holds a Windows XP and an Ubuntu 9.04 partition. Installing Windows 7 leaves the existing OS&#8217;es alone, but the boot manager only supports Windows file-systems. My old GRUB bootloader would allow me to choose between booting Linux or Windows, but after the Windows 7 install, i could no longer boot Linux. The partition is still on the disk, but not in the MS bootloader. A bunch of hours later that was fixed &#8211; using the Ubuntu installer, GRUB was installed again &#8211; but I am still not quite satisfied; From GRUB i can boot into the MS bootloader. I now have two steps:</p>
<ol>
<li>Choose between booting Linux and Windows and (if choosing Windows)</li>
<li>Choose between Windows XP and 7</li>
</ol>
<p>I&#8217;ll try to fix this soon, but the priority of fixing this just dropped as I can now boot into all 3 OS&#8217;es.</p>
<h2>One other thing: 3G USB modem</h2>
<p>The last thing I needed was to the my 3 &#8211; 3G Huawei modem to work. In short: It didn&#8217;t &#8211; and it may not be because of Windows 7. Apparently the modem needs some Adobe Flash stuff and the drivers on the modems flashmemory are not <a title="Adobe Flash player site" href="http://www.adobe.com/products/flashplayer/">Flash 10</a>-compatible. 3 in Denmark knows and <a title="3.dk Business 3Connect software upgrade" href="http://business.3.dk/Business/Kundeservice/Hjalp-til-mobilt-bredband/Fejlsogning/3Connect/#[Fejl]%203Connect%20og%20Adobe%20Flash%20Player%20version%2010">offers a download</a> to fix the issue &#8211; It did the trick for me.</p>
<p>This post is my first written in Windows 7. Will post further findings..</p>
<p>Oh &#8211; and the wallpapers are beeeee-aaaaa-utiful!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nuit.dk/windows-7-first-learning-points/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Twitter is..</title>
		<link>http://blog.nuit.dk/twitter-is/</link>
		<comments>http://blog.nuit.dk/twitter-is/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 07:14:14 +0000</pubDate>
		<dc:creator>jul</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.nuit.dk/2009/04/24/twitter-er/</guid>
		<description><![CDATA[Twitter explained by Evan Williams.. Also &#8211; at Overskrift.dk, we launched TwitterValg today &#8211; a site to track tweets from candidates for the EU parliament election on June 7th.]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=21a11738f6a3b0696645fe12a6af6440&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>Twitter explained by Evan Williams..</p>
<div class="youtube-video"><object width="446" height="326" data="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="wmode" value="transparent" /><param name="bgColor" value="#ffffff" /><param name="flashvars" value="vu=http://video.ted.com/talks/embed/EvanWilliams_2009-embed_high.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/EvanWilliams-2009.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=473" /><param name="src" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" /><param name="bgcolor" value="#ffffff" /><param name="allowfullscreen" value="true" /></object></div>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=62ab265f-5a76-8d12-986f-c75b7ae93776" alt="" /></div>
<p>Also &#8211; at <a href="http://www.overskrift.dk">Overskrift.dk</a>, we launched <a href="http://www.twittervalg.dk">TwitterValg</a> today &#8211; a site to track tweets from candidates for the EU parliament election on June 7th.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nuit.dk/twitter-is/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tip: Cool Firefox WYSIWYG blogging plug-in</title>
		<link>http://blog.nuit.dk/tip-cool-firefox-wysiwyg-blogging-plug-in/</link>
		<comments>http://blog.nuit.dk/tip-cool-firefox-wysiwyg-blogging-plug-in/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 09:56:11 +0000</pubDate>
		<dc:creator>jul</dc:creator>
				<category><![CDATA[Human]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.nuit.dk/2009/03/06/tip-cool-firefox-wysiwyg-blogging-plug-in/</guid>
		<description><![CDATA[Actually there is no good reason for this tool not to be an independent piece of software &#8211; it doesn&#8217;t really need to be part of Firefox. But.. Somehow it just works for apparent reasons. Bloggers do two things a lot: Read blogs and write blogs and that is why ScribeFire is so cool &#8211; [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=21a11738f6a3b0696645fe12a6af6440&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>Actually there is no good reason for this tool not to be an independent piece of software &#8211; it doesn&#8217;t really need to be part of Firefox. But..</p>
<p>Somehow it just works for apparent reasons. Bloggers do two things a lot: Read blogs and write blogs and that is why <a href="http://www.scribefire.com/">ScribeFire</a> is so cool &#8211; it&#8217;s right in the context where you want it. In Firefox:
<ol>
<li>Go to the Tools-menu</li>
<p>
<li>Choose Add-ons</li>
<p>
<li>Choose Get Add-ons</li>
<p>
<li>Type scribefire in the search box and search</li>
<p>
<li>Install the add-on</li>
<p></ol>
<p>Once installed, Scribefire is running all the time but display/hiding is switched with <b>F8</b>. It works especially well with WordPress blogs (such as this one) and configuration of one blog is done by entering the address of the blog + username and password.</p>
<p>If you feel inspired, click F8 and start typing. Something else came up, or the phone rang.. tap F8 and continue what you did before &#8211; and F8 it again to continue. So far it seems awfully nice.</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=968eb765-be8d-403b-9787-ae7a1572c0dd" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.nuit.dk/tip-cool-firefox-wysiwyg-blogging-plug-in/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Netbooks &#8211; the necessary new design test-tool</title>
		<link>http://blog.nuit.dk/netbooks-the-necessary-new-design-test-tool/</link>
		<comments>http://blog.nuit.dk/netbooks-the-necessary-new-design-test-tool/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 10:24:30 +0000</pubDate>
		<dc:creator>jul</dc:creator>
				<category><![CDATA[Geekyness]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Netbooks]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Software design]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.nuit.dk/?p=64</guid>
		<description><![CDATA[Writing this on my Lenovo S10e netbook, I am furious. It&#8217;s before mid-day and yet I have had two experiences of software designs that did not consider netbooks a platform &#8211; or at least the new low screen resolution these computers imply. And before you call me a whiner (besides the fact that you&#8217;d be [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=21a11738f6a3b0696645fe12a6af6440&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>Writing this on my Lenovo S10e netbook, I am furious. It&#8217;s before mid-day and yet I have had two experiences of software designs that did not consider netbooks a platform &#8211; or at least the new low screen resolution these computers imply. And before you call me a whiner (besides the fact that you&#8217;d be somewhat right), this is just a description of the changes I will make to include netbook users as an audience of software and website in the future.</p>
<p>Whine #1: Twice I&#8217;ve been cripled by software that saw the low screen resolution as a handicap &#8211; one of them on purpose. First I installed <a title="Pidgin IM home" href="http://www.pidgin.im/">Pidgin </a>- the cool cross-platform/cross-protocol IM and IRC client. I like it a lot, but on Windows some dialogs are too big and will not allow me to navigate to the OK/Cancel buttons at the bottomof the settings dialog. Fortunately this is Open Source stuff, so I can just participate and actively fix this myself.</p>
<p>Whine #2: I had to install a printer driver for my HP Photosmart 2575 printer &#8211; the install took over one hour because of some &#8220;ingenious&#8221; package system. That obviously poor user experience decision aside &#8211; the minimum requirement for the printer driver is a screen resolution of 800&#215;600 pixels. My S10e runs at 1024 x 576. The consequence &#8211; I cannot print from my netbook in Windows because the printer driver won&#8217;t finish installing, as it has an irrelevant requirement. Fortunately I am dual-booting with Ubuntu, which has excellent support for my printer (without the requirement)</p>
<p>I&#8217;ve read somewhere that 20% of all computers that will be sold in 2009 will be netbooks. Some producers (including Asus) will stop production of 8.9&#8243; -screen netbooks. The 10-inchers seems to dominate right now, and probably for the rest of the year (note: my guess only). Every company designing software will have to take this into account before they ship the next version of any product with a user interface.</p>
<p>I&#8217;ve worked on so many web projects with art directors saying: &#8220;Nobody runs 640&#215;480 or 800&#215;600 anymore&#8221;. Hey we know &#8211; but do you know how many users run with their browser maximized because a designer thought up a design that required it? Web designers don&#8217;t own the real estate of the users screen resolution &#8211; they can only hope to own the area the browser is sized to &#8211; and you have to count on users having at least one open history/bookmarks sidebar and/or plug-in and/or Google/MSN/Web developer toolbar enabled.</p>
<p>My point should be rather obvious: It is vital to include netbooks as testplatforms for serious UI-designers or your product will no longer be compatible with the equipment of the customers you want. The rules have changed &#8211; live with it.</p>
<p>You may argue that netbook users are asking for it, but if the competing website or software support the netbooks and you don&#8217;t &#8211; the users is no longer making the decision of leaving you.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nuit.dk/netbooks-the-necessary-new-design-test-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point featurename="[55.90423859525798, 12.486348152160645]">55.90423859525798 12.486348152160645</georss:point>
	</item>
		<item>
		<title>Ubuntu two-finger scrolling</title>
		<link>http://blog.nuit.dk/ubuntu-two-finger-scrolling/</link>
		<comments>http://blog.nuit.dk/ubuntu-two-finger-scrolling/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 06:38:18 +0000</pubDate>
		<dc:creator>jul</dc:creator>
				<category><![CDATA[Geekyness]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://blog.nuit.dk/?p=40</guid>
		<description><![CDATA[My brother is now a fairly long time Mac-user. I haven&#8217;t gone down that road (yet). Last night he was here and i showed him my Asus EEE (which is currently running Ubuntu 8.10). &#8220;Cool&#8221; &#8211; he said. &#8220;It supports two-finger-scrolling&#8221;. I didn&#8217;t know, but he is right. Googling for it found me this. Apparently [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=21a11738f6a3b0696645fe12a6af6440&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>My brother is now a fairly long time Mac-user. I haven&#8217;t gone down that road (yet). Last night he was here and i showed him my Asus EEE (which is currently running Ubuntu 8.10).</p>
<p>&#8220;Cool&#8221; &#8211; he said. &#8220;It supports two-finger-scrolling&#8221;. I didn&#8217;t know, but he is right. Googling for it found me <a title="Ubuntu two finger scrolling" href="http://lucumr.pocoo.org/2007/11/13/two-finger-scrolling-on-ubuntu">this</a>. Apparently the touchpad is new enough in the Asus EEE to support two finger scrolling. Nice to find hidden coolness.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nuit.dk/ubuntu-two-finger-scrolling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magpie RSS/Snoopy problem finally solved</title>
		<link>http://blog.nuit.dk/magpie-rsssnoopy-problem-finally-solved/</link>
		<comments>http://blog.nuit.dk/magpie-rsssnoopy-problem-finally-solved/#comments</comments>
		<pubDate>Mon, 05 Nov 2007 09:10:07 +0000</pubDate>
		<dc:creator>jul</dc:creator>
				<category><![CDATA[LAMP]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://blog.nuit.dk/2007/11/05/magpie-rsssnoopy-problem-finally-solved/</guid>
		<description><![CDATA[MagpieRSS IS great &#8211; I like it a lot, and it almost does exactly what you need to aggregate RSS feeds from PHP. MagpieRSS has one achilles heel in Snoopy. MagpieRSS relies on Snoopy as the HTTP-client (browser-component) that fetches feeds from websites &#8211; be it RSS or Atom formatted &#8211; It fetches files from [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=21a11738f6a3b0696645fe12a6af6440&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p><a href="http://sourceforge.net/project/showfiles.php?group_id=55691">MagpieRSS</a> IS great &#8211; I like it a lot, and it almost does exactly what you need to aggregate RSS feeds from PHP. MagpieRSS has one achilles heel in <a href="http://sourceforge.net/projects/snoopy/">Snoopy</a>. MagpieRSS relies on Snoopy as the HTTP-client (browser-component) that fetches feeds from websites &#8211; be it RSS or Atom formatted &#8211; It fetches files from a webserver.</p>
<p>The latests Snoopy release was in 2005 (as was the latest MagpieRSS), which could indicate that the development community has abandoned the code. The problem with Snoopy is that it has low tolerance to the use of carriage-return and linefeed characters in the header of HTTP responses from webservers. For some requests that means certain files, though rich in content, appear empty if they are fetched using Snoopy.</p>
<p>At first I tried downloading the latest Snoopy release from Sourceforge. It seemed to do the trick for some feeds, but aparently not all. <a href="http://blog.adaniels.nl/?p=18" title="Arnold Daniels blog">Arnold Daniels came to my rescue</a>. He has devised a wrapper &#8211; on the &#8220;outside&#8221; it appears to be Snoopy &#8211; but on the inside PHP&#8217;s Curl library has taken the place of a lot of the original Snoopy code. Give his alternative library a spin if you are using MagpieRSS for anything the should be somewhat resistant to deviations from standards.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nuit.dk/magpie-rsssnoopy-problem-finally-solved/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point featurename="[55.69614575418864, 12.545013427734375]">55.69614575418864 12.545013427734375</georss:point>
	</item>
		<item>
		<title>Generate PDF files from PHP</title>
		<link>http://blog.nuit.dk/generate-pdf-files-from-php/</link>
		<comments>http://blog.nuit.dk/generate-pdf-files-from-php/#comments</comments>
		<pubDate>Wed, 12 Sep 2007 15:15:49 +0000</pubDate>
		<dc:creator>jul</dc:creator>
				<category><![CDATA[Geekyness]]></category>
		<category><![CDATA[LAMP]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://blog.nuit.dk/2007/09/12/generate-pdf-files-from-php/</guid>
		<description><![CDATA[For a web project I needed to create invoices, to be downloaded or e-mailed to clients in PDF format. The platform is PHP and the documentation for this almost exclusively describe PDFLib for this purpose. I am sure PDFLib is fine, and the tutorials that come with the package looks really good. But.. You pay [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=21a11738f6a3b0696645fe12a6af6440&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>For a web project I needed to create invoices, to be downloaded or e-mailed to clients in PDF format. The platform is <a href="http://php.net/">PHP</a> and <a href="http://www.php.net/manual/en/ref.pdf.php" title="PHP Documentation: PDF Functions">the documentation</a> for this almost exclusively describe <a href="http://www.pdflib.com/products/pdflib-family/" title="PDFLib Product Family">PDFLib</a> for this purpose. I am sure PDFLib is fine, and the tutorials that come with the package looks really good.</p>
<p><strong>But..</strong></p>
<p>You pay for PDFLib &#8211; I don&#8217;t mind paying for software, you should pay for usable high-quality stuff, which I am sure PDFLib is. US$ 995 is a little steep though &#8211; compared to free. The FAQ however mentions a few free alternatives. Right now I am looking into <a href="http://www.fpdf.org/" title="FPDF website">FPDF</a> &#8211; which seem to do the trick.</p>
<p>Actually I found out that my previous ISP (invoicing their customers only by PDF invoices via E-mail) use FPDF. This tells me that FPDF is more than ready for production. I&#8217;ll let you know if I something disappoints me &#8211; although I would hate to bash a truly free initiative such as this one. Oh &#8211; and by the way it has another edge to PDFLib &#8211; It is written in PFP and does not need server reconfiguration to work. If you want a head start, there are quite an extensive list of <a href="http://www.fpdf.org/en/script/index.php" title="FPDF code examples">code examples</a> available.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nuit.dk/generate-pdf-files-from-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point featurename="[55.6957164450209, 12.54413366317749]">55.6957164450209 12.54413366317749</georss:point>
	</item>
		<item>
		<title>Light-weight XML editor</title>
		<link>http://blog.nuit.dk/light-weight-xml-editor/</link>
		<comments>http://blog.nuit.dk/light-weight-xml-editor/#comments</comments>
		<pubDate>Thu, 21 Jun 2007 09:45:18 +0000</pubDate>
		<dc:creator>jul</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://blog.nuit.dk/2007/06/21/light-weight-xml-editor/</guid>
		<description><![CDATA[I was looking for an XML editor to perform a few simple tasks. Since i worked heavily with XML a few years ago, the Windows XML editor of choice is apparently still the Altova XML Spy. You can get it to do anything with XML (except &#8211; i think &#8211; transform XML to coffee). Negative [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=21a11738f6a3b0696645fe12a6af6440&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p><a href="http://blog.nuit.dk/wp-content/xmlcopyeditor.jpg" title="XML Copy Editor Logo"><img src="http://blog.nuit.dk/wp-content/xmlcopyeditor.jpg" alt="XML Copy Editor Logo" align="right" /></a>I was looking for an XML editor to perform a few simple tasks. Since i worked heavily with XML a few years ago, the Windows XML editor of choice is apparently still the <a href="http://www.altova.com/products/xmlspy/xml_editor.html" title="Product page of Altova XML Spy">Altova XML Spy</a>. You can get it to do anything with XML (except &#8211; i think &#8211; transform XML to coffee). Negative minds would probably call it bloated and expensive. Positive minds would look for a cheap agile alternative.</p>
<p>Using the <a href="http://www.osalt.com/xmlspy" title="Open Source Alternative website - showing alternatives to Altova XML Spy">Open Source Alternative-site</a> it is possible to find applications doing somewhat the same as commercial products. For the XML Spy query, the result is <a href="http://xml-copy-editor.sourceforge.net/" title="XML Copy Editor home">XML Copy Editor</a> &#8211; a SourceForge application that has currently reached version 1.0.9. My needs were met as it:</p>
<ol>
<li>color-codes XML</li>
<li>beautify/pretty-print XML with consistent indentations to increase readability</li>
<li>opens files directly from URL&#8217;s</li>
</ol>
<p>Also it XSLT transforms and has a small set of other features you may or may not need. Before you venture into extensive license bill-paying, you may try out this nifty little XML editor.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nuit.dk/light-weight-xml-editor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows &#8216;amp tip</title>
		<link>http://blog.nuit.dk/windows-amp-tip/</link>
		<comments>http://blog.nuit.dk/windows-amp-tip/#comments</comments>
		<pubDate>Tue, 22 May 2007 18:07:09 +0000</pubDate>
		<dc:creator>jul</dc:creator>
				<category><![CDATA[Geekyness]]></category>
		<category><![CDATA[LAMP]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://blog.nuit.dk/2007/05/22/windows-amp-tip/</guid>
		<description><![CDATA[I was annoyed &#8211; but not anymore. I have been developing for Apache/MySQL on my laptop for a while, and in the beginning I would start the Apache and MySQL services automatically as I booted Windows. Recently I embarked to minimize the boot time of my Windows installation &#8211; and that included minimizing the services [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=21a11738f6a3b0696645fe12a6af6440&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>I was annoyed &#8211; but not anymore. I have been developing for Apache/MySQL on my laptop for a while, and in the beginning I would start the Apache and MySQL services automatically as I booted Windows. Recently I embarked to minimize the boot time of my Windows installation &#8211; and that included minimizing the services starting automatically &#8211; including Apache and MySQL. To start these two services, I enabled the System Tray icons for the two services and when I wanted to start the services I would right click the MySQL monitor and choose &#8220;Start instance&#8221;, and then left-click the Apache icon and click &#8220;Start&#8221; in the submenu.</p>
<p>This seems fairly simple, but if you try to navigate icons in the System Tray before everything is done loading, you will know that right-clicking something may give long delays, sometimes sub-menues disapear and you don&#8217;t know if it was because of your click, which it did not respond to or if your click was actually registered. So the tip is simple and low tech &#8211; perform the same thing in a .bat file:</p>
<p>startamp.bat:</p>
<blockquote><p><code>net start mysql</code><br />
<code>net start apache2</code></p></blockquote>
<p>stopamp.bat:</p>
<blockquote><p><code>net stop apache2<br />
net stop mysql</code></p></blockquote>
<p>Put these on your desktop or quickstart menu..</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nuit.dk/windows-amp-tip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<georss:point featurename="[55.90423859525798, 12.486348152160645]">55.90423859525798 12.486348152160645</georss:point>
	</item>
	</channel>
</rss>

