<?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>Yet another Tech Blog &#187; Best of</title>
	<atom:link href="http://www.yatblog.com/category/best-of/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.yatblog.com</link>
	<description>The freshest &#38; hottest solutions, not just pointless and endless discussions. Finally a tech blog you can use!</description>
	<lastBuildDate>Mon, 16 Feb 2009 18:36:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to create your own SSL Certificate</title>
		<link>http://www.yatblog.com/2007/02/27/how-to-create-a-ssl-certificate/</link>
		<comments>http://www.yatblog.com/2007/02/27/how-to-create-a-ssl-certificate/#comments</comments>
		<pubDate>Tue, 27 Feb 2007 15:46:46 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Best of]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.yatblog.com/2007/02/27/how-to-create-a-ssl-certificate/</guid>
		<description><![CDATA[The openssl toolkit is typically used to generate an RSA Private Key and a CSR (Certificate Signing Request). But it can also be used to generate self-signed certificates which can be used for testing purposes or internal usage.
Step 1: Generate a Private Key
The first step is to create your RSA Private Key. This key is [...]]]></description>
			<content:encoded><![CDATA[<p>The openssl toolkit is typically used to generate an RSA Private Key and a CSR (Certificate Signing Request). But it can also be used to generate self-signed certificates which can be used for testing purposes or internal usage.</p>
<p><strong>Step 1: Generate a Private Key</strong></p>
<p>The first step is to create your RSA Private Key. This key is a 1024 bit RSA key which is encrypted using Triple-DES and stored in a PEM format so that it is readable as ASCII text.</p>
<div class="codesnip-container" >openssl genrsa -des3 -out server.key 1024</div>
<p><strong>Step 2: Generate a CSR (Certificate Signing Request)</strong></p>
<p>Once the private key is generated a Certificate Signing Request can be generated. The CSR is then used in one of two ways. Ideally, the CSR will be sent to a Certificate Authority, such as Thawte or Verisign who will verify the identity of the requestor and issue a signed certificate. The second option is to self-sign the CSR, which will be demonstrated in the next section.</p>
<p>During the generation of the CSR, you will be prompted for several pieces of information. These are the X.509 attributes of the certificate. One of the prompts will be for &#8220;Common Name (e.g., YOUR name)&#8221;. It is important that this field be filled in with the fully qualified domain name of the server to be protected by SSL. If the website to be protected will be https://www.yatblog.com, then enter www.yatblog.com at this prompt. If you want to create a so called “wildcard” certificate, which means the same certificate can be used on an unlimited number of subdomains,  just enter an asterisk as the hostname, in our example that would be *.yatblog.com. The command to generate the CSR is as follows:</p>
<div class="codesnip-container" >openssl req -new -key server.key -out server.csr</div>
<p><strong>Step 3: Remove Passphrase from Key</strong></p>
<p>One unfortunate side-effect of the pass-phrased private key is that Apache will ask for the pass-phrase each time the web server is started. Obviously this is not necessarily convenient as someone will not always be around to type in the pass-phrase, such as after a reboot or crash. mod_ssl includes the ability to use an external program in place of the built-in pass-phrase dialog, however, this is not necessarily the most secure option either. It is possible to remove the Triple-DES encryption from the key, thereby no longer needing to type in a pass-phrase. If the private key is no longer encrypted, it is critical that this file only be readable by the root user! If your system is ever compromised and a third party obtains your unencrypted private key, the corresponding certificate will need to be revoked. With that being said, use the following command to remove the pass-phrase from the key:</p>
<div class="codesnip-container" >cp server.key server.key.org<br />
openssl rsa -in server.key.org -out server.key</div>
<p>The newly created server.key file has no passphrase in it anymore.</p>
<div class="codesnip-container" >-rw-r&#8211;r&#8211; 1 root root 745 Jun 29 12:19 server.csr<br />
-rw-r&#8211;r&#8211; 1 root root 891 Jun 29 13:22 server.key<br />
-rw-r&#8211;r&#8211; 1 root root 963 Jun 29 13:22 server.key.org</div>
<p><strong>Step 4: Generating a Self-Signed Certificate</strong></p>
<p>At this point you will need to generate a self-signed certificate because you either don&#8217;t plan on having your certificate signed by a CA, or you wish to test your new SSL implementation while the CA is signing your certificate. This temporary certificate will generate an error in the client browser to the effect that the signing certificate authority is unknown and not trusted.</p>
<p>To generate a temporary certificate which is good for 365 days, issue the following command:</p>
<div class="codesnip-container" >openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt</div>
<p><strong>Step 5: Installing the Private Key and Certificate</strong></p>
<p>When Apache with mod_ssl is installed, it creates several directories in the Apache config directory. The location of this directory will differ depending on how Apache was compiled.</p>
<div class="codesnip-container" >cp server.crt /usr/local/apache/conf/ssl.crt<br />
cp server.key /usr/local/apache/conf/ssl.key</div>
<p><strong>Step 6: Configuring SSL Enabled Virtual Hosts</strong></p>
<div class="codesnip-container" >&lt;VirtualHost www.yourdomain.com:443&gt;<br />
SSLEngine on<br />
SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt<br />
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key<br />
SetEnvIf User-Agent &#8220;.*MSIE.*&#8221; nokeepalive ssl-unclean-shutdown<br />
&lt;/VirtualHost&gt;</div>
<p>If you want to redirect connections to the standard, unencrypted port 80, simply use the following lines:</p>
<div class="codesnip-container" >&lt;VirtualHost mail.design-monster.com:80&gt;<br />
RedirectPermanent / https://www.yourdomain.com<br />
&lt;/VirtualHost&gt;</div>
<p><strong>Step 7: Restart Apache and Test</strong></p>
<div class="codesnip-container" >/etc/init.d/apache2 restart</div>
<p class="akst_link"><a href="http://www.yatblog.com/?p=131&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_131" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.yatblog.com/2007/02/27/how-to-create-a-ssl-certificate/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Comparison of Source Code Search Engines</title>
		<link>http://www.yatblog.com/2006/09/06/comparison-source-code-search-engines/</link>
		<comments>http://www.yatblog.com/2006/09/06/comparison-source-code-search-engines/#comments</comments>
		<pubDate>Wed, 06 Sep 2006 16:11:48 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Best of]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.yatblog.com/2006/09/06/overview-of-source-code-search-engines/</guid>
		<description><![CDATA[Inspired by my last post about the O&#8217;Reilly Labs website that let&#8217;s you search for source code, I did some more thorough research. Now guess what? I&#8217;ve made a table comparing them all, since some have less content, like O&#8217;Reilly for example, but offer better quality and some detailed explanation, while others provide plenty of [...]]]></description>
			<content:encoded><![CDATA[<p>Inspired by my last post about the O&#8217;Reilly Labs website that let&#8217;s you search for source code, I did some more thorough research. Now guess what? I&#8217;ve made a table comparing them all, since some have less content, like O&#8217;Reilly for example, but offer better quality and some detailed explanation, while others provide plenty of content but just for one programming language. But see for yourself:</p>
<table border="1" cellpadding="2">
<tr>
<th>Site</th>
<th>Languages Supported</th>
<th>Content</th>
</tr>
<tr>
<td><a href="http://csourcesearch.net" target="_blank">csourcesearch.net</a></td>
<td>C and C++</td>
<td>over 283,421,294 lines of code</td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="3">
<p>Comments:</p>
<p>Probably the biggest C / C++ resource.</p>
</td>
</tr>
<tr bgcolor="#ccddff">
<td><a href="http://www.quickref.org" target="_blank">QuickRef.org</a></td>
<td>C, C++, CSS, HTML, HTML DOM, Java, JavaScript, MySQL, Perl, PHP, and Ruby</td>
<td>
<p>Provided by others:</p>
<ul>
<li>cppreference.com (C++)</li>
<li>developer.mozilla.org (JavaScript, HTML DOM)</li>
<li>php.net (PHP)</li>
<li>search.cpan.org (Perl)</li>
<li>search.cpan.org (Ruby)</li>
<li>w3c.org (CSS, HTML)</li>
<li>and others</li>
</ul>
</td>
</tr>
<tr bgcolor="#ccddff">
<td>&nbsp;</td>
<td colspan="3">
		Comments:</p>
<ul>
<li>Is a meta search engine</li>
<li>Has a great ajaxified search box, so that a search about &#8220;System.Time&#8221; will show you subsequent hits as well</li>
</ul>
</td>
</tr>
<tr>
<td><a href="http://www.koders.com/" target="_blank">Koders</a></td>
<td>Ada, ASP, Assembler, C, C#, C++, ColdFusion, Delphi, Eiffel, Erlang, Fortran, Java, JavaScript, JSP, Lisp, Lua, Mathematica, Matlab, ObjectiveC, Perl, PHP, Prolog, Python, Ruby, Scheme, Smalltalk, SQL, Tcl, VB, VB.NET</td>
<td>over 225,816,744 lines of code</td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="3">
		Comments:</p>
<ul>
<li>Let&#8217;s you also search for code after its license type</li>
<li>Has been named in 2006 as the leader in code search by SD Times</li>
<li>Provides plug-ins for Eclipse &#038; Visual Studio to enable integrated search from these IDEs</li>
</ul>
</td>
</tr>
<tr bgcolor="#ccddff">
<td><a href="http://www.bytemycode.com/" target="_blank">ByteMyCode</a></td>
<td>JavaScript, VBScript, Java, PHP, CSS, CSharp, HTML, C, C++, ASP, Python, Perl, VB.NET</td>
<td>345 Snippets</td>
</tr>
<tr bgcolor="#ccddff">
<td>&nbsp;</td>
<td colspan="3">
		Comments:</p>
<ul>
<li>Pursuits a more social way with members and the ability to vote for code</li>
<li>Members post snippets and since the site is still pretty young, there aren&#8217;t that many snippets available yet. But the site looks promising, so it might become a valuable resource in the future.</li>
</ul>
</td>
</tr>
<tr>
<td><a href="http://www.planet-source-code.com/" target="_blank">Planet Source Code</a></td>
<td>Visual Basic, ASP, .Net, Java, Javascript, C, C++,  SQL, Perl, Delphi, PHP, Cold Fusion</td>
<td>over 11,826,054 lines of code</td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="3">
		Comments:</p>
<ul>
<li>Pursuits a more social way with members and the ability to vote for code</li>
</ul>
</td>
</tr>
<tr bgcolor="#ccddff">
<td><a href="http://labs.oreilly.com/code/" target="_blank">O&#8217;Reilly Code Search</a></td>
<td>Visual Basic, ASP, .Net, Java, Javascript, C, C++,  SQL, Perl, Delphi, PHP, Cold Fusion</td>
<td>
		over 2,600,000 lines of code and over 123,000 individual examples
	</td>
</tr>
<tr bgcolor="#ccddff">
<td>&nbsp;</td>
<td colspan="3">
		Comments:</p>
<ul>
<li>Since all of the code examples are taken from O&#8217;Reilly books (which are according to many people the best IT books in the world), these examples probably provide the best quality you&#8217;ll find</li>
</ul>
</td>
</tr>
</table>
<p>
And so here are my recommendations:</p>
<p><b>1st Place: <a href="http://labs.oreilly.com/code/" target="_blank">O&#8217;Reilly</a></b><br />Because it is a good starting point for almost any programmer to search for code. The reason why you should start with O&#8217;Reilly is simply that the code you&#8217;ll find here will not only work, but is also beautifully written and well-formed.</p>
<p><b>2nd Place: <a href="http://www.quickref.org/" target="_blank">QuickRef</a></b><br />QuickRef offers a great AJAXified interface that let&#8217;s you find source code for something you don&#8217;t even exactly know the name of. It also shows you related info based on your search which is useful for further research you might not even have thought about before. The resources QuickRef uses (it&#8217;s a meta search engine) are great and well-respected websites on their own, thus the source code should be of high quality most of the time.</p>
<p><b>3rd Place: <a href="http://www.koders.com/" target="_blank">Koders</a></b><br />Koders is a great resource as well. It might often be the last place of hope to find source code to programmers coding in more exotic languages like Ada and Eiffel. But it should be also of great value to more mainstream programmers using Java or C++.</p>
<p><b>Summary</b><br />
You should use a combination of these search engines for your daily work, because all of them use different resources, so you might be able to find source code for a specific problem with one search engine, while you might not succeed with another one. So, it might be a good idea to bookmark this page for your future reference. I will also update it as soon as I find out about a new one.</p>
<p>Hope this helps you guys to write better code, more efficiently. It certainly helped me.</p>
<p><b>Update:</b> There&#8217;s a new kid in town called <a href="http://www.codefetch.com">Codefetch</a>, after some reviewing I&#8217;ll update the comparison appropriately.</p>
<p class="akst_link"><a href="http://www.yatblog.com/?p=109&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_109" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.yatblog.com/2006/09/06/comparison-source-code-search-engines/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Taking a closer look at designing a website</title>
		<link>http://www.yatblog.com/2006/06/29/taking-a-closer-look-at-designing-a-website/</link>
		<comments>http://www.yatblog.com/2006/06/29/taking-a-closer-look-at-designing-a-website/#comments</comments>
		<pubDate>Thu, 29 Jun 2006 23:14:06 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Best of]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Fun]]></category>

		<guid isPermaLink="false">http://www.yatblog.com/2006/06/29/taking-a-closer-look-at-designing-a-website/</guid>
		<description><![CDATA[I found this on the net, hilarious, but oh so true. Don&#8217;t you think IE users should switch just to make the lives of many web designers (including me) a lot easier? We&#8217;ll see how IE7 handles CSS.

Share This
]]></description>
			<content:encoded><![CDATA[<p>I found this on the net, hilarious, but oh so true. Don&#8217;t you think IE users should switch just to make the lives of many web designers (including me) a lot easier? We&#8217;ll see how IE7 handles CSS.<br />
<img id="image61" alt="time_breakdown" src="http://www.yatblog.com/wp-content/uploads/2006/07/time_breakdown.png" /></p>
<p class="akst_link"><a href="http://www.yatblog.com/?p=55&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_55" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.yatblog.com/2006/06/29/taking-a-closer-look-at-designing-a-website/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Visual Basic for Java?</title>
		<link>http://www.yatblog.com/2006/06/17/visual-basic-for-java/</link>
		<comments>http://www.yatblog.com/2006/06/17/visual-basic-for-java/#comments</comments>
		<pubDate>Sat, 17 Jun 2006 13:15:42 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Best of]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://www.yatblog.com/2006/06/17/visual-basic-for-java/</guid>
		<description><![CDATA[You gotta be kidding right? Well, I&#8217;m not. And this could become something big and meaningful. It could win over a few million people over to the Java platform. But first things first:
As Visual Basic 6 gets older and older, more and more problems start to appear. Microsoft stopped supporting it, hoping most developers would [...]]]></description>
			<content:encoded><![CDATA[<p>You gotta be kidding right? Well, I&#8217;m not. And this could become something big and meaningful. It could win over a few million people over to the Java platform. But first things first:</p>
<p>As Visual Basic 6 gets older and older, more and more problems start to appear. Microsoft stopped supporting it, hoping most developers would migrate to Visual Basic.Net. But a lot of companies still have huge investments in Visual Basic 6 code, thus not allowing them to simply migrate to the .Net framework. As other technologies like operating systems evolve (remember Vista which is due to release sometime this millennium?), the problems programming for a platform which is not being supported anymore, get bigger and heavier. Not being sure if VB 6 applications will work flawlessly on Windows Vista and Microsoft not planning to do something on this part, means it is about time to start thinking of migrating your code (even if it seems impossible to some companies). If a VB 6 application is running on a dedicated Windows 2000 or XP machine (a point of sale system for example) and it may continue to do so for a couple of years, then I guess it&#8217;s okay and you still have plenty of time before migrating. But that&#8217;s not the case for most applications. So which options do you have?</p>
<p>Sun comes to the rescue! Sun has a new project called <a target="_blank" title="http://blogs.sun.com/roller/page/herbertc?entry=project_semplice_visual_basic_for" href="http://blogs.sun.com/roller/page/herbertc?entry=project_semplice_visual_basic_for">“Semplice”</a>. It made its first appearance on the JavaOne summit. It enables Visual Basic 6 developers to code for the Java platform, while not having to learn the .Net framework which scared a lot of VB 6 developers because of its overly complex nature (although in my opinion it kinda resembles the Java platform). At the current stage, the project is still very young and immature. It allows you to import your VB 6 source code and compile it into a Java class file. This way you get cross-platform compatibility out of the box! But it doesn&#8217;t compile every source code you can find. Windows 32 API calls are not supported. As well as OCX (and probably Dynamic Link Libraries, too). So you might eventually have to rewrite parts of your code or cut some features to enable compatibility. This project seams very promising, but I kinda wish it had been done a few years earlier, so that right after Microsoft stopped supporting VB 6, you would have had a mature, working project, enabling you to migrate to the Java platform. Let&#8217;s see how fast Sun continues development on this project.</p>
<p>Since I used to count myself to the Visual Basic 6 developer crowd as well, I do not hate them, although I abandoned VB 6 for Java quite a while ago. I still like its simplicity and its efficiency. Often times I wish Java was a bit more like Visual Basic, easier to use and a lot faster to get results with, especially while doing GUI programming.</p>
<p>To end this, I have a valuable tip to all you desperate VB 6 developers (and Java developers maybe too). There are a few good alternatives out there. <a target="_blank" title="http://www.realsoftware.com/" href="http://www.realsoftware.com/">RealSoftware&#8217;s REALbasic</a> provides great features (even cross-platform compatibility) and greatly resembles the look and feel of VB 6. It is being continuously developed and its company, plans to support it for as long as they exist, as they do not have any other products at the moment. They even provide a free edition for Linux (you can&#8217;t compile cross-platform binaries with that one though). If you&#8217;re a VB 6 developer, you should definitely take a look at it, because it really is the next best thing to VB 6, if not even better and it looks to be very future-prove.</p>
<p>Then there&#8217;s also <a target="_blank" title="http://www.powerbasic.com/" href="http://www.powerbasic.com/">PowerBasic</a>, which seems to be pretty fast, but not as user-friendly. I have not used this product, so I won&#8217;t go into detail here, but it seems to be mainly the compiler you get.</p>
<p><a target="_blank" title="http://www.freebasic.net/" href="http://www.freebasic.net/">FreeBasic</a> is a free, open-source alternative. You&#8217;ll only get the compiler, so building GUIs might be awkward. There are compilers available for Windows, DOS and Linux.</p>
<p>And last but not least, is <a target="_blank" title="http://www.purebasic.com/" href="http://www.purebasic.com/">PureBasic</a>. This one owes its roots to the good ol&#8217; Amiga. It&#8217;s available for Windows, MacOS X, Linux and AmigaOS. It is pretty inexpensive at $99, enabling you to compile for all four platforms I mentioned and receiving future upgrades for free. It&#8217;s also supposed to be very fast, because it directly translates your Basic code to Assembler instructions making it perfect for game development.</p>
<p>Do you know any other great Basic products? If so, please mention them in the comments. I would also like to hear from your experiences with VB 6 or its alternatives.</p>
<p class="akst_link"><a href="http://www.yatblog.com/?p=50&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_50" class="akst_share_link" rel="nofollow">Share This</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.yatblog.com/2006/06/17/visual-basic-for-java/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
