<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-20648899</id><updated>2023-06-20T06:00:57.819-07:00</updated><title type='text'>whenpenguinsattack.com</title><subtitle type='html'>Dedicated to usage of open source software on a closed source platform.&lt;br&gt;&lt;br&gt;Have a question? Feel free to email me here:&lt;A HREF=&quot;mailto: justin@whenpenguinsattack.com&quot;&gt;justin@whenpenguinsattack.com&lt;/a&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default?alt=atom'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default?alt=atom&amp;start-index=26&amp;max-results=25'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>97</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-20648899.post-114344031533543794</id><published>2006-06-12T14:20:00.000-07:00</published><updated>2007-03-16T17:00:01.616-07:00</updated><title type='text'>Excel and php without activeX</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/blogger/6545/2077/1600/pearsmall.jpg&quot;&gt;&lt;img style=&quot;FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/6545/2077/320/pearsmall.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;By Justin Silverton&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Introduction&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Spreadsheet_Excel_writer is a PEAR component for creating Excel files without the need for COM components. The files generated are in the Excel 5 (BIFF5) format, so all functionality until that version of Excel (but not beyond) should be available.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;Using&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The most common use for Spreadsheet_Excel_Writer will be spitting out large (or not so large) amounts of information in the form of a spreadsheet, which is easy to manipulate with a fairly ubiquitous spreadsheet program such as Excel (or OpenOffice).&lt;br /&gt;&lt;br /&gt;Example 1:&lt;br /&gt;&lt;br /&gt;send(&#39;test.xls&#39;);&lt;br /&gt;&lt;br /&gt;// Creating a worksheet&lt;br /&gt;$worksheet =&amp; $workbook-&amp;amp;gtaddWorksheet(&#39;My first worksheet&#39;);&lt;br /&gt;&lt;br /&gt;// The actual data&lt;br /&gt;$worksheet-&gt;write(0, 0, &#39;Name&#39;);&lt;br /&gt;$worksheet-&gt;write(0, 1, &#39;Age&#39;);&lt;br /&gt;$worksheet-&gt;write(1, 0, &#39;John Smith&#39;);&lt;br /&gt;$worksheet-&gt;write(1, 1, 18);&lt;br /&gt;&lt;br /&gt;// Let&#39;s send the file&lt;br /&gt;$workbook-&gt;close();&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;The first thing you should notice, is that we created a workbook before any worksheets. All worksheets are contained within a workbook, and a workbook may contain several worksheets.&lt;br /&gt;&lt;br /&gt;Another important thing, which you should have in mind when programming with Spreadsheet_Excel_Writer, is that ampersand sign (&amp;) that appears when we created our worksheet. That ampersand means we are referencing a Worksheet object instead of copying it. If you don&#39;t know what that means, don&#39;t worry, all you have to remember is to always use ampersands when calling addWorksheet() for creating a worksheet, or addFormat() for creating a format.&lt;br /&gt;Saving to a regular file&lt;br /&gt;&lt;br /&gt;You may have noticed also the following line:&lt;br /&gt;&lt;br /&gt;// sending HTTP headers&lt;br /&gt;$workbook-&gt;send(&#39;test.xls&#39;);&lt;br /&gt;&lt;br /&gt;What that means is that we are sending our spreadsheet to a browser. But what if we just want to save the spreadsheet in our machine? Well, you just have to omit that line and give a valid file path to the workbook constructor.&lt;br /&gt;&lt;br /&gt;For example, if we wanted to save the same spreadsheet we created in our first example to a file named &#39;test.xls&#39;, we would do it like so:&lt;br /&gt;&lt;br /&gt;Example 2:&lt;br /&gt;&lt;br /&gt;addWorksheet(&#39;test worksheet&#39;);&lt;br /&gt;&lt;br /&gt;$worksheet-&gt;write(0, 0, &#39;Name&#39;);&lt;br /&gt;$worksheet-&gt;write(0, 1, &#39;Age&#39;);&lt;br /&gt;$worksheet-&gt;write(1, 0, &#39;John Smith&#39;);&lt;br /&gt;$worksheet-&gt;write(1, 1, 10);&lt;br /&gt;&lt;br /&gt;// We still need to explicitly close the workbook&lt;br /&gt;$workbook-&gt;close();&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;More info and documentation on this component can be found &lt;a href=&quot;http://www.pear.php.net/manual/en/package.fileformats.spreadsheet-excel-writer.php&quot;&gt;here&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114344031533543794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114344031533543794' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114344031533543794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114344031533543794'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/06/excel-and-php-without-activex.html' title='Excel and php without activeX'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114886630405439032</id><published>2006-05-28T18:31:00.000-07:00</published><updated>2006-05-30T08:07:55.193-07:00</updated><title type='text'>Adding friends to myspace using perl</title><content type='html'>By Justin Silverton&lt;br /&gt;&lt;br /&gt;I came across this perl script today that allows you to add friends to your myspace account using perl.main website is &lt;a href=&quot;http://www.glitchnyc.com/?page_id=117&quot;&gt;Here&lt;/a&gt;Taken from the website: &quot; This is a perl script, and it’s certainly rough around the edges. If you’re running on windows, there are applications available for cheap that will do the job better and with more support. I’m on Linux, so I needed a cross-platform script that did just what I needed.&lt;br /&gt;&lt;br /&gt;That said, this little bit of code should run on any machine with the proper perl modules installed (WWW::Mechanize, HTML::TokeParser::Simple, and Text::CSV). It’s open source, released under the GPL.&quot;DownloadThe script can be found &lt;a href=&quot;http://www.glitchnyc.com/GlitchCastFriendAdder.pl&quot;&gt;Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How do I run this?&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;On Linux&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If you’re running on Linux, running this code is fairly simple. Just invoke it with perl GlitchCastFriendAdder.pl&lt;br /&gt;&lt;br /&gt;If it complains that it’s needs certainly libraries, you can add them with CPAN, apt, or yum.&lt;br /&gt;To add the necessary libraries using apt on Fedora Core, Red Hat, CentOS, Debian, Ubuntu, and others, run this command as root: (package names may differ slighly across distros. If one does not appear available, search for it with apt-cache search packagename) apt-cache search mechanize&lt;br /&gt;brings up libwww-mechanize-perl&lt;br /&gt;apt-cache search tokeparser&lt;br /&gt;brings up libhtml-tokeparser-simple-perl&lt;br /&gt;apt-cache search csv-perl&lt;br /&gt;brings up libtext-csv-perl&lt;br /&gt;now that I’ve found the package names (I’m using ubuntu, so this exact command should work for all debian distros with universe and multiverse enabled)&lt;br /&gt;apt-get install libhtml-tokeparser-simple-perl libtext-csv-perl libwww-mechanize-perl&lt;br /&gt;You could of course use CPAN to install these modules instead, but I’m less familiar with that method. If you know how, please email me at GlitchCastFriendAdder A.T. GlitchNYC.com Now that you’ve got all your modules, the code should run just fine. Be sure that you’ve added at least one MySpace URL to friendPagesToScrape.txt - you’ll have to make that file if you haven’t already.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Running on a Mac&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I have no idea. In theory, this should be fairly similar to the process above. If you get it to work, let me know how you did it!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Running on Windows&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This should be possible using ActiveState perl. It’s been a while since I used it, but if memory serves, there is a GUI that allows you to choose the packages you need. Just select these: * WWW::Mechanize * HTML::TokeParser::Simple * Text::CSV&lt;br /&gt;I’ve now had my first report of this working on windows! To get the firefox captcha routine to work, you’ll need to change the firefox executable path. This is as simple as commenting one line and uncommenting another. It’s right below the username and password at the top of the code.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Running the script &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;First, enter your username and password at the top of the script&lt;br /&gt;Second, paste a bunch of myspace url’s containing people you want to add into the file friendPagesToScrape.txt in the same directory where the main script is.&lt;br /&gt;UPDATE: The URLs should be one per line! (this is a change from version 1.0)&lt;br /&gt;HINT - It’s easy to change just the “page” variable when you paste in the url’s to get multiple pages of friends of one group/person.&lt;br /&gt;&lt;br /&gt;The script will parse that file, and then go to each page in the list, getting all the friend IDs on the page. Once it has grabbed all the friendIDs, it adds each of the friends, prompting you if it needs a captcha. I’ve tuned it to be fairly patient (1 friend added every 5 seconds or so) so as to not anger the myspace gods and incur lots of captchas, but you can tune as it runs by following the prompts if you start to get too many captchas.</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114886630405439032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114886630405439032' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114886630405439032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114886630405439032'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/05/adding-friends-to-myspace-using-perl.html' title='Adding friends to myspace using perl'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114827713081372059</id><published>2006-05-21T22:51:00.000-07:00</published><updated>2006-06-19T09:48:57.476-07:00</updated><title type='text'>Convert your pdf files directly to html</title><content type='html'>&lt;a href=&quot;http://photos1.blogger.com/blogger/6545/2077/1600/pdf2html_ssa.gif&quot;&gt;&lt;img style=&quot;FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/6545/2077/320/pdf2html_ssa.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;By Justin Silverton&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;There is this great program I found called pdf2html. It is an opensource, free, program that will allow you to convert your pdf files directly to html.&lt;br /&gt;&lt;br /&gt;It can be downloaded here (the win32 gui version): &lt;a href=&quot;http://guiguy.wminds.com/downloads/pdf2htmlgui/&quot;&gt;http://guiguy.wminds.com/downloads/pdf2htmlgui/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;original sourceforge project: &lt;a href=&quot;http://sourceforge.net/projects/pdftohtml/&quot;&gt;http://sourceforge.net/projects/pdftohtml/&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The idea for this web-site was a culmination of events that began in my efforts to find a simple utility for a very specific task (I wanted to convert my rm video clips to anything else). After what seemed like months of searching, I was finally able to locate a command line utility that promised to do the trick (Tinra).&lt;br /&gt;&lt;p&gt;I found it in a help forum where others were asking for a graphical user interface (GUI) for it. I decided to make TinraGUI as a way of showing thanks to the group for helping me find what I was after. I soon discovered, however, that I couldn&#39;t attach the program I made to my reply on the forum, so I needed a web-site to host it. I put up a quick site at Tripod for the purpose. But when it seemed that it was going to be more popular than I first thought, I imagined a web-site like this one where I could make simple Windows programs and GUI&#39;s for people on request and for free.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;I personally found this tool to be very helpful. I was able to convert nearly all of my .pdf files to web pages with almost no errors or mistakes.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114827713081372059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114827713081372059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114827713081372059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114827713081372059'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/05/convert-your-pdf-files-directly-to.html' title='Convert your pdf files directly to html'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114789812690940417</id><published>2006-05-17T13:32:00.000-07:00</published><updated>2006-05-23T07:28:51.523-07:00</updated><title type='text'>Connecting to Authorize.net with PHP</title><content type='html'>&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;By Justin Silverton&lt;br /&gt;&lt;br /&gt;What is authorize.net?&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The Authorize.Net Payment Gateway is a secure Internet bridge between merchant businesses and the credit card and electronic check payment processing networks. We provide merchants with fast, reliable and secure passage for transaction data via a 128-bit Secure Sockets Layer (SSL) Internet Protocol (IP) connection, and manage the complex routing of payment information to the appropriate credit card processors. &lt;a href=&quot;http://www.authorize.net/resources/howitworksdiagram/&quot;&gt;See a diagram&lt;/a&gt; that illustrates a typical Authorize.Net credit card transaction.&lt;br /&gt;&lt;br /&gt;&lt;p class=&quot;BodyMainText&quot;&gt;The Authorize.Net Payment Gateway is available to merchants seven days a week, 24 hours a day. The payment gateway offers many features and options that can be tailored to specific merchant business models.&lt;/p&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;Where do I start?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;The first thing that you need to do, is signup with a test account. This will allow you to test out transactions to make sure your scripts are interfacing properly with their API. Here is the URL for getting your account:&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;http://developer.authorize.net/testaccount&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;&lt;br /&gt;&lt;br /&gt;API documentation can also be found here:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;http://www.authorize.net/support/AIM_guide.pdf&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;after signing up, you should receive your new account info within 48 hours.&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;&lt;br /&gt;&lt;br /&gt;The Code&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;I have a library available here: (URL). It is originally written by Micah Carrick and is under the GPL/GNU public license. I have made some important additions to the main library, which are needed for it to function properly.&lt;br /&gt;&lt;br /&gt;you can get it here: &lt;a href=&quot;http://www.electronicfiles.net/files/1773/authorize_lib.zip&quot;&gt;http://www.electronicfiles.net/files/1773/authorize_lib.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;Requirements:&lt;/span&gt; PHP version 4 and above with the CURL extensions enabled&lt;br /&gt;&lt;br /&gt;The following 3 files are contained in the above .zip download:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;FONT-STYLE: italic&quot;&gt;authorizenet.class.php &lt;/span&gt;- main class library for connecting to the authorize.net gateway&lt;br /&gt;&lt;span style=&quot;FONT-STYLE: italic&quot;&gt;demo.php&lt;/span&gt; - an example driver file that shows how to use the library file. A test transaction is made to the main gateway.&lt;br /&gt;&lt;span style=&quot;FONT-STYLE: italic&quot;&gt;ca-bundle.crt - &lt;/span&gt;main certificate file required by CURL for SSL transactions (windows users can place this in c:\windows\system32)&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;Important Variables that you need to change&lt;br /&gt;&lt;br /&gt;Location: authorizenet.class.php&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;curl_setopt ($ch, CURLOPT_CAINFO,&quot;c:\\windows\\system32\\ca-bundle.crt&quot;);&lt;br /&gt;curl_setopt ($ch,CURLOPT_CAPATH,&quot;c:\\windows\\system32\\ca-bundle.crt&quot;);&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;change the 3rd parameter&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt; &lt;/span&gt;&quot;c:\\windows\\system32\\ca-bundle.crt&quot; to the location of your CRT file.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;Location: authorizenet.class.php&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;var $gateway_url = &quot;https://test.authorize.net/gateway/transact.dll&quot;;&lt;br /&gt;&lt;br /&gt;it currently points to the authorize.net gateway for test accounts. If you have an account that is performing real transactions, change this variable to the following value: &quot;&quot;https://secure.authorize.net/gateway/transact.dll&quot;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;Location: demo.php&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;$a-&gt;add_field(&#39;x_login&#39;, &#39;YOUR_USERID&#39;);&lt;br /&gt;$a-&gt;add_field(&#39;x_password&#39;, &#39;YOUR_PASSWORD&#39;);&lt;br /&gt;&lt;br /&gt;change x_login to your Login ID (not partner ID)&lt;br /&gt;and x_password to your password&lt;br /&gt;&lt;br /&gt;You should have received both of these in an email from authorize.net&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family:Tahoma;font-size:78%;&quot;&gt;&lt;span style=&quot;font-family:Tahoma;font-size:9;&quot;&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114789812690940417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114789812690940417' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114789812690940417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114789812690940417'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/05/connecting-to-authorizenet-with-php.html' title='Connecting to Authorize.net with PHP'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114765215808346595</id><published>2006-05-14T17:15:00.000-07:00</published><updated>2006-05-14T17:34:33.920-07:00</updated><title type='text'>An Excel Killer</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/blogger/6545/2077/1600/screenshot1_thumb.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;http://photos1.blogger.com/blogger/6545/2077/320/screenshot1_thumb.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;By Justin Silverton&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I came across this ajax application today called ajaxXLS.  It&#39;s an ajax execl application that can read and write excel files.  It is one of the best ajax apps I have seen to date and displays the power and capability of AJAX.&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;Functionality&lt;/span&gt;&lt;br /&gt;&lt;/h1&gt;             &lt;p class=&quot;shorten&quot;&gt;On this first release of the ajaxXLS viewer, you can            expect to open spreadsheet files with all your common cell formatting            categories such as text style, decimals, currencies, date, and time.            ajaxXLS will preserve your formulas, backgrounds and borders from the            files created in Microsoft Excel or OpenOffice. ajaxXLS is platform            independent and can be used with any operating system. Unlike typical            office programs that you install on your computer, features will continue            to be added to ajaxXLS and made available to you immediately without            the need for complicated reinstallation or reconfiguration of software.            Try ajaxXLS today and see for yourself how AJAX applications are redefining            the way you use software.&lt;/p&gt;                                    With this release,                we&#39;re publishing the methodology whereby any search engine, email                client or other software developer can provide a link to an existing                .xls document (hosted online) so that anyone can open it using ajaxXLS.                See for yourself how a spreadsheet document can be launched right                from my web page by clicking on this sample &lt;a href=&quot;http://www.ajaxlaunch.com/misc/nojscript.html&quot; onclick=&quot;window.open (&#39;http://usa.ajaxxls.com/apps/calc/content/index.xul?doc=http://www.ajaxlaunch.com/misc/xls/revenue.xls&#39;,&#39;ajax13&#39;,&#39;scrollbars,resizeable,width=800,height=600&#39;); return false;&quot;&gt;revenue.xls&lt;/a&gt;.To                obtain the code to create a link on your website that opens any                spreadsheet in ajaxXLS, &lt;a href=&quot;http://www.ajaxlaunch.com/launch_ajaxxls.html&quot;&gt;please                click here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;Redefining Software&lt;/span&gt; &lt;/h1&gt;         &lt;p class=&quot;shorten&quot;&gt;AJAX programming techniques allow web-based software to function smoothly without the waiting around for page uploads that you normally associate with the Internet. The benefits of web-based software are so compelling, we feel that they are the future of the industry. These benefits include:&lt;/p&gt;    &lt;ul&gt;&lt;li&gt;Global access, all you need is an internet connection&lt;/li&gt;&lt;li&gt;Platform independent, you can use it with any operating system&lt;/li&gt;&lt;li&gt;Automatic updates and upgrades, no more computer restarts or missed patches/updates&lt;/li&gt;&lt;li&gt;Server side management — all the busywork is done for you&lt;/li&gt;&lt;/ul&gt;             &lt;p&gt;AjaxXLS is just a small step forward in this software revolution, and            we are proud to be a part of it.&lt;/p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Test it out for yourself&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;To test it out, go here (it requires FireFox)&lt;span style=&quot;font-weight: bold;&quot;&gt;: &lt;a href=&quot;http://www.ajaxlaunch.com/ajaxxls/internals/ajaxxls-nojscript.html&quot;&gt;http://www.ajaxlaunch.com/ajaxxls/internals/ajaxxls-nojscript.html&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114765215808346595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114765215808346595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114765215808346595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114765215808346595'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/05/excel-killer.html' title='An Excel Killer'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114003741120287023</id><published>2006-05-13T03:50:00.000-07:00</published><updated>2006-05-13T00:44:41.333-07:00</updated><title type='text'>mysql vs postgres</title><content type='html'>&lt;strong&gt;By Justin Silverton&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;em&gt;postgres/mysql comparison chart&lt;/em&gt;&lt;/center&gt;&lt;center&gt;&lt;em&gt;&lt;/em&gt;&lt;/center&gt;&lt;center&gt;&lt;/center&gt;&lt;center&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Feature&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Mysql 3.x&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Mysql 4.0&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Mysql 5.x&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Postgres 7.x&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Subselects&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;Partial&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Views&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Foreign Key Relationships&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Foreign Key Constraints&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Triggers&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Indexing (non-trivial types)&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Sequences&lt;/td&gt;&lt;td&gt;Partial&lt;/td&gt;&lt;td&gt;Partial&lt;/td&gt;&lt;td&gt;Partial&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Transactions&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Table Inheritance&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;span style=&quot;font-size:0;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size:0;&quot;&gt;&lt;/span&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Async. Notifications&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Constraints&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Select Into&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Stored Procedures&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Row-Level Locking&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Table-Level Locking&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Geospatial datatypes&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Native Replication&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;Yes&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;b&gt;Companies using postgres&lt;/b&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.postgresql.org/&quot;&gt;&lt;img style=&quot;DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/6545/2077/320/95x51_6.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;These are links to case studies, showcasing the successful usage of postgres in an organization &lt;p&gt;&lt;br /&gt;&lt;a href=&quot;/files/about/casestudies/wcgcasestudyonpostgresqlv1.2.pdf&quot;&gt;BASF&lt;/a&gt; &lt;span class=&quot;txtMediumGrey&quot;&gt;(PDF format)&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;/about/casestudies/mohawk&quot; target=&quot;_self&quot;&gt;Mohawk Software&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;/files/about/casestudies/Proximity10.pdf&quot;&gt;Proximity&lt;/a&gt; &lt;span class=&quot;txtMediumGrey&quot;&gt;(PDF format)&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;/files/about/casestudies/RadioParadise.pdf&quot;&gt;Radio Paradise&lt;/a&gt; &lt;span class=&quot;txtMediumGrey&quot;&gt;(PDF format)&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;/about/casestudies/shannonmedical&quot; target=&quot;_self&quot;&gt;Shannon Medical Center&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;/files/about/casestudies/Spiros.pdf&quot;&gt;Spiros Louis Stadium&lt;/a&gt; &lt;span class=&quot;txtMediumGrey&quot;&gt;(PDF format)&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;/files/about/casestudies/OpenSourceSoftware_Dravis.pdf&quot;&gt;The Dravis Group OSS Report&lt;/a&gt; &lt;span class=&quot;txtMediumGrey&quot;&gt;(PDF format)&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;/about/casestudies/vanten&quot; target=&quot;_self&quot;&gt;Vanten Inc.&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;center&gt;&lt;b&gt;Companies using mysql&lt;/b&gt;&lt;/center&gt;&lt;p&gt;&lt;br /&gt;&lt;a href=&quot;http://www.mysql.com&quot;&gt;&lt;img style=&quot;DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/6545/2077/320/mysql_100x52-64.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.mysql.com/why-mysql/case-studies/mysql-hp-ongame-casestudy.pdf&quot;&gt;Patypoker.com&lt;/a&gt; &lt;span class=&quot;txtMediumGrey&quot;&gt;(PDF format)&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;http://www.mysql.com/why-mysql/case-studies/mysql-greyhound-data-casestudy.pdf&quot; target=&quot;_self&quot;&gt;Greyhound bus - data website (PDF format)&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.mysql.com/why-mysql/case-studies/mysql-sandstorm-casestudy.pdf&quot;&gt;Sandstorm&lt;/a&gt; &lt;span class=&quot;txtMediumGrey&quot;&gt;(PDF format)&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;http://www.mysql.com/why-mysql/case-studies/mysql-leapfrog-casestudy.pdf&quot;&gt;Leapfrog schoolhouse&lt;/a&gt; &lt;span class=&quot;txtMediumGrey&quot;&gt;(PDF format)&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;http://www.mysql.com/why-mysql/case-studies/mysql-netqos-casestudy.pdf&quot; target=&quot;_self&quot;&gt;NetQos&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.mysql.com/why-mysql/case-studies/mysql-sony-casestudy.pdf&quot;&gt;Sony&lt;/a&gt; &lt;span class=&quot;txtMediumGrey&quot;&gt;(PDF format)&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;http://www.mysql.com/why-mysql/case-studies/mysql-dell-nine-systems-casestudy.pdf&quot;&gt;Dell&lt;/a&gt; &lt;span class=&quot;txtMediumGrey&quot;&gt;(PDF format)&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;http://www.mysql.com/why-mysql/case-studies/mysql-friendster-casestudy.pdf&quot; target=&quot;_self&quot;&gt;Friendster.com&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;So which one is better?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Both postgres and mysql have had success on large-scale websites and they each have their benefits:&lt;/p&gt;&lt;p&gt;&lt;em&gt;Where postgres wins:&lt;/em&gt;&lt;/p&gt;&lt;p&gt;1) faster with more complex queries&lt;/p&gt;&lt;p&gt;2) ACID compliant&lt;/p&gt;&lt;p&gt;3) embedded language capibility (Perl, PHP, TCL, and PG/PLSQL)&lt;/p&gt;&lt;p&gt;4) on average, can handle more concurrent connections&lt;/p&gt;&lt;p&gt;&lt;em&gt;where mysql wins:&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;1) more wide-spread support and usage with ISPs and the open source commuity&lt;/p&gt;&lt;p&gt;2) robust replication&lt;/p&gt;&lt;p&gt;3) easier for newcomers to use&lt;/p&gt;&lt;p&gt;4) on average, faster per query&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114003741120287023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114003741120287023' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114003741120287023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114003741120287023'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/05/mysql-vs-postgres.html' title='mysql vs postgres'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114067576576745063</id><published>2006-05-10T23:08:00.000-07:00</published><updated>2006-05-18T11:20:49.966-07:00</updated><title type='text'>tech resume tips</title><content type='html'>&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;By Justin Silverton&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here are some tips that may help you when you apply for your next tech job:&lt;br /&gt;&lt;p class=&quot;headline2&quot;&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;Top Ten Technical Resume Writing Tips&lt;/span&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;List your technical knowledge first, in an organized way. Your technical strengths must stand out clearly at the beginning of your resume. Ultimately, your resume is going to be read by a thoughtful human being, but before it gets to that point it often has to be categorized by an administrative clerk, and make its way past various sorts of key word searches. Therefore, you should list as many directly relevant buzz words as you can which reflect your knowledge and experience. List all operating systems and UNIX flavors you know. List all programming languages and platforms with which you&#39;re experienced. List all software you are skilled with. Make it obvious at a glance where your strengths lie - whether the glance is from a hiring manager, a clerk, or a machine.&lt;/li&gt;&lt;li&gt;List your qualifications in order of relevance, from most to least. Only list your degree and educational qualifications first if they are truly relevant to the job for which you are applying. If you&#39;ve already done what you want to do in a new job, by all means, list it first, even if it wasn&#39;t your most recent job. Abandon any strict adherence to a chronological ordering of your experience.&lt;/li&gt;&lt;li&gt;Quantify your experience wherever possible. Cite numerical figures, such as monetary budgets/funds saved, time periods/efficiency improved, lines of code written/debugged, numbers of machines administered/fixed, etc. which demonstrate progress or accomplishments due directly to your work.&lt;/li&gt;&lt;li&gt;Begin sentences with action verbs. Portray yourself as someone who is active, uses their brain, and gets things done. Stick with the past tense, even for descriptions of currently held positions, to avoid confusion.&lt;/li&gt;&lt;li&gt;Don&#39;t sell yourself short. This is by far the biggest mistake of all resumes, technical and otherwise. Your experiences are worthy for review by hiring managers. Treat your resume as an advertisement for you. Be sure to thoroughly &quot;sell&quot; yourself by highlighting all of your strengths. If you&#39;ve got a valuable asset which doesn&#39;t seem to fit into any existing components of your resume, list it anyway as its own resume segment.&lt;/li&gt;&lt;li&gt;Be concise. As a rule of thumb, resumes reflecting five years or less experience should fit on one page. More extensive experience can justify usage of a second page. Consider three pages (about 15 years or more experience) an absolute limit. Avoid lengthy descriptions of whole projects of which you were only a part. Consolidate action verbs where one task or responsibility encompasses other tasks and duties. Minimize usage of articles (the, an, a) and never use &quot;I&quot; or other pronouns to identify yourself.&lt;/li&gt;&lt;li&gt;Omit needless items. Leave all these things off your resume: social security number, marital status, health, citizenship, age, scholarships, irrelevant awards, irrelevant associations and memberships, irrelevant publications, irrelevant recreational activities, a second mailing address (&quot;permanent address&quot; is confusing and never used), references, reference of references (&quot;available upon request&quot;), travel history, previous pay rates, previous supervisor names, and components of your name which you really never use (i.e. middle names).&lt;/li&gt;&lt;li&gt;Have a trusted friend review your resume. Be sure to pick someone who is attentive to details, can effectively critique your writing, and will give an honest and objective opinion. Seriously consider their advice. Get a third and fourth opinion if you can.&lt;/li&gt;&lt;li&gt;Proofread, proofread, proofread. Be sure to catch all spelling errors, grammatical weaknesses, unusual punctuation, and inconsistent capitalizations. Proofread it numerous times over at least two days to allow a fresh eye to catch any hidden mistakes.&lt;/li&gt;&lt;li&gt;Laser print it on plain, white paper. Handwriting, typing, dot matrix printing, and even ink jet printing look pretty cheesy. Stick with laser prints. Don&#39;t waste your money on special bond paper, matching envelopes, or any color deviances away from plain white. Your resume will be photocopied, faxed, and scanned numerous times, defeating any special paper efforts, assuming your original resume doesn&#39;t first end up in the circular file&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;Finalizing Your Resume&lt;/span&gt;&lt;br /&gt;&lt;b class=&quot;elOrange&quot; style=&quot;COLOR: rgb(51,51,51)&quot;&gt;&lt;a name=&quot;aFinalizing&quot;&gt;&lt;/a&gt;&lt;/b&gt;&lt;ul&gt;&lt;li&gt;Resumes should be concise and in a manageable document length. &lt;/li&gt;&lt;li&gt;Your Name and Page Number should be located on every page, just in case pages become separated while in the hands of the prospective employer.&lt;br /&gt;(The Name and Page number can be in the Header or Footer part of the resume, or at the top of the page using a smaller font size, to avoid distracting the reader. Page Numbers can be written as: Page 2, Page Two, Page 2 of 3, or Page Two of Three.) &lt;/li&gt;&lt;li&gt;Do not put a photograph of yourself on the resume. Potential employers will not be hiring you based on your looks! However, International candidates will need to send their scanned photograph to the Systems Integration Solutions, Inc. International Department representative along with the final formatted resume. &lt;/li&gt;&lt;li&gt;Type your resume in a word processing document and back it up on a disk. Updating your resume then becomes easy. If you are not a typist, ask a professional to type it. &lt;/li&gt;&lt;li&gt;Use one typeface such as Times New Roman, Arial, or other traditional typeface. The standard font size is 11 point. Headers may be increased to 12 point. &lt;/li&gt;&lt;li&gt;Margins should be no less than one inch on sides, top, and bottom. The white space serves as a border and keeps the resume from looking cluttered. &lt;/li&gt;&lt;li&gt;Avoid underlining within the resume narrative. If you have written the statements well, they will need no further emphasis. &lt;/li&gt;&lt;li&gt;Always do a print preview of each page of your resume, to view the layout and spacing. &lt;/li&gt;&lt;li&gt;E-mail your resume document, with a short introduction letter to your Systems Integration Solutions, Inc. contact. The document can then be opened, printed, and distributed to clients. &lt;/li&gt;&lt;li&gt;Laser-print your completed resume or have it professionally typeset. &lt;/li&gt;&lt;li&gt;Give or mail an interviewer your resume printed on an off-white, tan, or light gray quality bond paper. Never give them a photocopy of your resume. &lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114067576576745063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114067576576745063' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114067576576745063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114067576576745063'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/05/tech-resume-tips.html' title='tech resume tips'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114731428262449575</id><published>2006-05-10T19:24:00.000-07:00</published><updated>2006-05-10T19:41:27.013-07:00</updated><title type='text'>is AjaxOS worth the wait?</title><content type='html'>&lt;a href=&quot;http://photos1.blogger.com/blogger/6545/2077/1600/thumb_desktop.png&quot;&gt;&lt;img style=&quot;FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/6545/2077/320/thumb_desktop.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;By Justin Silverton&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;What is AjaxOS?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;ajaxOS is a Linspire-based operating system with some revolutionary new features to support the adoption of web-based software. Some of the cool new things you can expect to see on ajaxOS include:&lt;br /&gt;&lt;br /&gt;Automatic launch of AJAX software when clicking on a supported filetype.Ability to save files to virtual storage.Ability to navigate through a file browser to the files uploaded to virtual storage as well those on your local computer.&lt;br /&gt;&lt;br /&gt;ajaxOS will be available for download in the next few weeks. You can &lt;a href=&quot;http://www.ajaxlaunch.com/forum/profile.php?mode=register&amp;amp;agreed=true&quot;&gt;register&lt;/a&gt; to receive notification of the ajaxOS and other AJAX software releases or visit &lt;a href=&quot;http://www.ajaxlaunch.com/&quot;&gt;http://www.ajaxlaunch.com/&lt;/a&gt; to read the official announcements.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Benefits of using ajaxOS&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Information Security&lt;/em&gt; – Your files and documents are safe from computer crashes, laptop theft, viruses and other virtual attacks on your computer since they are all saved on ajaxOS remote storage.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Web-based Software&lt;/em&gt; Applications Included – Save money. No need to purchase expensive software – it&#39;s all included in ajaxOS.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Updated and Upgraded Automatically&lt;/em&gt; – Spending time and money on software updates and upgrades is also a thing of the past, most ajaxOS applications are upgraded automatically.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Full file compatibility&lt;/em&gt; – applications are compatible with all standard file formats, allowing you to easily transfer your existing files and share files created using AJAX software with others.&lt;br /&gt;&lt;br /&gt;View ajaxOS presentation at Desktop linux summet of 2006: &lt;a href=&quot;http://boss.streamos.com/download/marketing/dls2006/mbr_dls2006-session4_edit_060425.rm&quot;&gt;http://boss.streamos.com/download/marketing/dls2006/mbr_dls2006-session4_edit_060425.rm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I&#39;m not really sure if ajaxOS will even be worth downloading. The release notes discuss &quot;revolutionary new features&quot;. The screenshots look nice, and it is based on linpire (a linux distro), but it looks like they are basically just integrating a web storage service (which is not a new idea) into a linux distribution.&lt;br /&gt;&lt;br /&gt;Even though I don&#39;t think it is anything revolutionary or special, I still think I will download it when it is finally released.</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114731428262449575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114731428262449575' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114731428262449575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114731428262449575'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/05/is-ajaxos-worth-wait.html' title='is AjaxOS worth the wait?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114670193309824383</id><published>2006-05-03T17:15:00.000-07:00</published><updated>2006-05-10T05:09:32.190-07:00</updated><title type='text'>Mysql free enterprise edition</title><content type='html'>&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;By Justin Silverton&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Many people may not realize that mysql has a free, enterprise version of the open-source database application.&lt;br /&gt;&lt;br /&gt;It&#39;s called maxdb and available here: &lt;a href=&quot;http://www.mysql.com/products/maxdb/&quot;&gt;http://www.mysql.com/products/maxdb/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here are some benefits:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Reduced cost of your SAP implementation&lt;/li&gt;&lt;li&gt;Easy configuration and low administration&lt;/li&gt;&lt;li&gt;Elaborate backup and restore capabilities&lt;/li&gt;&lt;li&gt;Continuous operation, no scheduled downtimes required&lt;/li&gt;&lt;li&gt;Designed for large number of users and high workloads&lt;/li&gt;&lt;li&gt;Scales to database sizes in the terabytes&lt;/li&gt;&lt;li&gt;High availability through cluster and hot-standby support&lt;/li&gt;&lt;li&gt;Synchronization Manager to control enterprise-wide data replication&lt;/li&gt;&lt;li&gt;Easy-to-use graphical database tools&lt;/li&gt;&lt;li&gt;Available for all enterprise HW/OS platforms&lt;/li&gt;&lt;li&gt;Supports all major SAP solutions&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;Languages supported&lt;/span&gt; &lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;(APIs)&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;JDBC&lt;/li&gt;&lt;li&gt;ODBC&lt;/li&gt;&lt;li&gt;SQLDBC (native C/C++ interface)&lt;/li&gt;&lt;li&gt;Precompiler (to be [re-]released soon)&lt;/li&gt;&lt;li&gt;PHP&lt;/li&gt;&lt;li&gt;Perl&lt;/li&gt;&lt;li&gt;Python&lt;/li&gt;&lt;li&gt;WebDAV&lt;/li&gt;&lt;li&gt;OLE DB, ADO, DAO, RDO and .NET via ODBC&lt;/li&gt;&lt;li&gt;Delphi and TCL via Third Party Programming Interfaces&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;Platforms supported&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;HP-UX (HP-PA, ia64)&lt;/li&gt;&lt;li&gt;IBM AIX (Power)&lt;/li&gt;&lt;li&gt;Linux (x86_32, x86_64, ia64, PPC_64)&lt;/li&gt;&lt;li&gt;Sun Solaris (SPARC, x86-64 support planned)&lt;/li&gt;&lt;li&gt;Microsoft Windows 2000 (x86_32)&lt;/li&gt;&lt;li&gt;Microsoft Windows Server 2003 (x86_32, x86_64, ia64)&lt;/li&gt;&lt;li&gt;Microsoft Windows XP (x86_32)&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;Differences from mysql&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;MaxDB is a mature product with 30 year history. The system offers built-in hot backup, does not need any online reorganizations and claims to be SQL 92 Entry-Level compatible. One current development goal is &quot;zero administration&quot; and by this &quot;low TCO&quot;.&lt;/p&gt;&lt;p&gt;Over the last years MaxDB has been intensively be improved, especially for mySAP Business Suite environments. You can expect very good OLTP performance combined with relatively low hardware requirements.&lt;/p&gt;&lt;p&gt;Uninterrupted operations and stability is another strength of MaxDB.&lt;/p&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;Helpful Links&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Performance: &lt;a href=&quot;http://dev.mysql.com/tech-resources/articles/maxdb-performance-primer.pdf&quot;&gt;http://dev.mysql.com/tech-resources/articles/maxdb-performance-primer.pdf&lt;/a&gt;&lt;br /&gt;Helpful Hints: &lt;a href=&quot;http://maxdb.yapabout.com/&quot;&gt;http://maxdb.yapabout.com/&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114670193309824383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114670193309824383' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114670193309824383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114670193309824383'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/05/mysql-free-enterprise-edition.html' title='Mysql free enterprise edition'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114652340386741880</id><published>2006-05-01T15:39:00.000-07:00</published><updated>2006-05-05T00:50:54.376-07:00</updated><title type='text'>A PHP search engine</title><content type='html'>&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;By Justin Silverton&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Have you ever wanted a search engine that will show you articles and code samples from around the Internet?&lt;br /&gt;&lt;br /&gt;BeebkeX (&lt;a href=&quot;http://www.beeblex.com&quot;&gt;http://www.beeblex.com&lt;/a&gt;), a search engine for just php related material does just that.&lt;br /&gt;&lt;br /&gt;some other interesting features of this site:&lt;br /&gt;&lt;br /&gt;News Search: &lt;a href=&quot;http://beeblex.com/index.php?d=phpa_news&quot;&gt;http://beeblex.com/index.php?d=phpa_news&lt;/a&gt;&lt;br /&gt;Article Search: &lt;a href=&quot;http://beeblex.com/index.php?d=phpa_articles&quot;&gt;http://beeblex.com/index.php?d=phpa_articles&lt;/a&gt;&lt;br /&gt;Job Search: &lt;a href=&quot;http://beeblex.com/index.php?d=php_jobs&quot;&gt;http://beeblex.com/index.php?d=php_jobs&lt;/a&gt;&lt;br /&gt;Blog Search: &lt;a href=&quot;http://beeblex.com/index.php?d=php_blogs&quot;&gt;http://beeblex.com/index.php?d=php_blogs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;some cool facts about the site&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What does BeebleX index?&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;Articles and news that have appeared in phparchitect (phpa:)&lt;br /&gt;A complete copy of the PHP manual (man:)&lt;br /&gt;The mailing lists being hosted at php.net (lists:)&lt;br /&gt;Several PHP-related Blogs (blogs:)&lt;br /&gt;Several PHP-related Job Sites (jobs:)&lt;br /&gt;We have plans to add articles from other websites, forum postings and PHP-related blogs to the engine in the near future.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What does BeebleX run on?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;BeebleX runs on PHP 5.1 and Apache 1.3. The backend search engine is &lt;a href=&quot;http://www.xapian.org/&quot;&gt;Xapian&lt;/a&gt;, to which our system interfaces using a custom extension&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What are &quot;PHP-related entries?&quot;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Although we index all of the entries provided by a blog, we have implemented an algorithm that attempts to filter out only those entries that are related to PHP.&lt;br /&gt;The algorithm is still a bit primitive, but it&#39;s usually pretty efficient, regardless of whether a blog implements categories or not. Naturally, when we say &quot;pretty efficient,&quot; we mean that some non-PHP-related entries slip through from time to time. Like most other things related to BeebleX... this is a work in progress!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Are there any special shortcuts that I can use to speed up searches?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Yes! You can prefix your search with one of the following:&lt;br /&gt;man: — performs a search on the PHP manual (e.g.: &lt;a href=&quot;http://beeblex.com/search.php?s=man:+echo&quot;&gt;man: echo&lt;/a&gt;)&lt;br /&gt;f: — finds a specific function in the PHP manual and redirects the user to it. (e.g.: &lt;a href=&quot;http://beeblex.com/search.php?s=f:+echo&quot;&gt;f: echo&lt;/a&gt;)&lt;br /&gt;phpa: — performs a search on phparchitect content (e.g.: &lt;a href=&quot;http://beeblex.com/search.php?s=phpa:+xml&quot;&gt;phpa: xml&lt;/a&gt;)&lt;br /&gt;lists: — performs a search on the mailing list archive (e.g.: &lt;a href=&quot;http://beeblex.com/search.php?s=lists:+bug+NEAR+xml&quot;&gt;lists: bug NEAR xml&lt;/a&gt;)&lt;br /&gt;l:list — limits the search to mailing list list (e.g.: &lt;a href=&quot;http://beeblex.com/search.php?s=tabini+l:php.general&quot;&gt;tabini l:php.general&lt;/a&gt;)&lt;br /&gt;We also provide a feature called &quot;Google passthrough&quot; that you can use to bypass BeebleX and run your query directly against Google or Google Groups:&lt;br /&gt;g: — bypasses BeebleX and runs the query transparently against Google (e.g.: &lt;a href=&quot;http://beeblex.com/search.php?s=g:tabini&quot;&gt;g:tabini&lt;/a&gt;)&lt;br /&gt;gg: — bypasses BeebleX and runs the query transparently against Google Groups (e.g.: &lt;a href=&quot;http://beeblex.com/search.php?s=gg:tabini&quot;&gt;gg:tabini&lt;/a&gt;)</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114652340386741880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114652340386741880' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114652340386741880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114652340386741880'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/05/php-search-engine.html' title='A PHP search engine'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114642276463603583</id><published>2006-04-30T11:31:00.000-07:00</published><updated>2006-06-14T16:51:50.636-07:00</updated><title type='text'>The Future of Mysql</title><content type='html'>&lt;span style=&quot;font-weight: bold;&quot;&gt;By Justin Silverton&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In a recent article from zdnet:&lt;br /&gt;&lt;br /&gt;&quot;Oracle played a big card when it bought InnoDB, the most popular way to inject data into the open source mySQL database.  &lt;p&gt;Monday mySQL responds by getting &lt;a href=&quot;http://www.solidtech.com/&quot; target=&quot;_blank&quot;&gt;Solid™ Information Technology&lt;/a&gt;, a proprietary database vendor, to take its solidDB Storage Engine for MySQL open source, under the GPL, starting in June. &lt;/p&gt;  &lt;p&gt;Solid has its base in telecommunications and transaction processing, which had been considered a completely different market from the small fry mySQL supplies. It has 3 million copies out at places like Alcatel, Cisco, EMC, HP, NEC, Nokia, and Nortel. &lt;/p&gt;  &lt;p&gt;The addition of Solid technology to mySQL, the company said, puts mySQL into the enterprise league and makes it a direct threat to Oracle.&quot; (full article available &lt;a href=&quot;http://blogs.zdnet.com/open-source/?p=620&quot;&gt;here&lt;/a&gt;)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Where is mysql going from here?&lt;/span&gt;  The purchase of the solidDB storage engine is a direct result of the Oracle buy out of the innoDB storage engine currently being used.  Oracle attempted to buy out the mysql database back in February for an undisclosed amount, but were unsuccessful.  They are now trying to rid themselves of their competiton by purchasing the developers and the technology behind it.  It was only a matter of time before something like this was going to happen.  As a company based on an open source product, its biggest asset is its developers.  Large companies may not be able to take the company over, but they can purchase the developers behind its main technology.  The Mysql corporation now has control over technology that sets them apart from their competition.&lt;br /&gt;&lt;/p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Is this better than Innodb? &lt;/span&gt;It does support transactions, but it does not support foreign keys (it will, however support them in the future).  The following is a list of solidDB features:&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   * ACID transactions.&lt;br /&gt;* Automatic roll forward recovery after failure.&lt;br /&gt;* Uses optimistic (or pessimistic) multiversion concurrency control.&lt;br /&gt;* Database and log files are binary compatible among different platforms.&lt;br /&gt;* Fully multi-threaded using kernel threads. It uses multiple CPUs/cores  if they are available.&lt;br /&gt;* Supports all MySQL SQL data types&lt;br /&gt;* Supports full MySQL syntax&lt;br /&gt;* Isolation levels supported: READ COMMITTED, REPEATABLE READ and SERIALIZABLE&lt;br /&gt;* The MySQL-specific SHOW command can be used to retrieve information&lt;br /&gt;about databases, database engines, tables, and indexes.&lt;br /&gt;* Function names occupy a different name space than table or column names.&lt;br /&gt;* No practical limit on number of tables or columns, or database size.&lt;br /&gt;* The EXPLAIN command can be used to determine how the optimizer resolves&lt;br /&gt;a query. (not yet supported in the prototype)&lt;br /&gt;* Foreign keys and on-line backup will be supported in future product release. They are already supported by solidDB, but the interface between MySQL and solidDB is not yet available for these features.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114642276463603583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114642276463603583' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114642276463603583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114642276463603583'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/04/future-of-mysql.html' title='The Future of Mysql'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114618007848673174</id><published>2006-04-27T16:20:00.000-07:00</published><updated>2006-09-10T18:40:47.776-07:00</updated><title type='text'>10 ajax applications you can&#39;t live without</title><content type='html'>&lt;strong&gt;By Justin Silverton&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;1) WadgetOS - &lt;a href=&quot;http://www.theartofennui.com/wadgetos/wadgetos.php&quot;&gt;http://www.theartofennui.com/wadgetos/wadgetos.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;An Ajax- based WebOS. It includes a web-browser, chat client, caclulator, and games (slot machine). I can&#39;t find a lot of info on this, because most of it has since been taken down, but it is still interesting.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Here is an update I received from the co-creator&lt;/strong&gt;:&lt;br /&gt;&lt;br /&gt;i&#39;m the co-creator of wadgetos, thanks for mentioning it. the whole thing was basically a proof of concept, the biggest feature being the ability for anyone to create programs using the powerfull php language. and the info hasn&#39;t been taken down, it&#39;s just not too easy to find ;)&lt;br /&gt;&lt;a href=&quot;http://www.theartofennui.com/2006/03/20/wadgetos-v1-source/&quot;&gt;http://www.theartofennui.com/2006/03/20/wadgetos-v1-source/&lt;/a&gt;&lt;br /&gt;&lt;p&gt;2) Kiko - &lt;a href=&quot;http://www.kiko.com/&quot;&gt;http://www.kiko.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;a) dead simple calendar you can use right in your web browser&lt;br /&gt;b) Universal access: Kiko integrates with your mobile phone and AIM and lets you access your calendar from any computer.&lt;br /&gt;c) Share your calendar: Invite anyone to events (not just other Kiko users!) Let others view your calendar with just a click. Check out the &lt;a href=&quot;http://www.kiko.com/calendar/example&quot;&gt;example calendar &lt;/a&gt;&lt;br /&gt;As easy as paper - or maybe easier: Write &quot;Pay gas bill every month&quot; onto your calendar and watch Kiko do the Right Thing! &lt;/p&gt;&lt;p&gt;3) time-tracker - &lt;a href=&quot;http://www.formassembly.com/time-tracker/&quot;&gt;http://www.formassembly.com/time-tracker/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Time Tracker is a simple tool to keep track of the time you spend on any task.&lt;/p&gt;&lt;p&gt;4) Del.icio.us Director - &lt;a href=&quot;http://johnvey.com/features/deliciousdirector/&quot;&gt;http://johnvey.com/features/deliciousdirector/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;del.icio.us direc.tor is a prototype for an alternative web-based rich UI for &lt;a href=&quot;http://del.icio.us/&quot;&gt;del.icio.us&lt;/a&gt;. It leverages the XML and XSL services of modern browsers to deliver a responsive interface for managing user accounts with a large number of records.&lt;br /&gt;The main features are:&lt;/p&gt;&lt;p&gt;A) In-browser handling of del.icio.us bookmarks (tested up to 12,000 records)&lt;br /&gt;B) Find-as-you-type searching of all your bookmarks, with basic search operators&lt;br /&gt;C) Sort by description, tags, or timestamp&lt;br /&gt;D) Ad-hoc tag browser &lt;/p&gt;&lt;p&gt;5) Ajax IM - &lt;a href=&quot;http://www.unwieldy.net/ajaxim/&quot;&gt;http://www.unwieldy.net/ajaxim/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;ajax im is a browser-based instant messaging client. It uses the XMLHTTPRequest object in JavaScript to send and receive commands to and from the server. No refreshing of the page is ever needed for this &quot;web application&quot; to work, as everything is updated in real-time via JavaScript.&lt;/p&gt;&lt;p&gt;6) Ajax Write - &lt;a href=&quot;http://www.ajaxwrite.com/&quot;&gt;http://www.ajaxwrite.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;AjaxWrite is a streamlined word processor, comparable to Microsoft Word. To keep the program lean, we left out some obscure advanced features; you&#39;ll find the functions you use most often, right where you&#39;d expect them to be. (We&#39;re still working on the spell checker.) You can import and export documents in all popular formats, including documents with graphics. The save function lets you save your work to a drive on your computer. Also, since you run ajaxWrite from your web browser, it is platform independent and can therefore be used with any operating system.&lt;/p&gt;&lt;p&gt;7) Ajax Sketch - &lt;a href=&quot;http://www.ajaxsketch.com/&quot;&gt;http://www.ajaxsketch.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;AjaxSketch is basically a pared down version of Illustrator or Inkscape — perfect for creating quick charts and diagrams from scratch. It includes autoshapes, pencil mode, and text for creating the basics. You can also edit by resizing, rotating, changing background or pen color, and altering opacity.&lt;/p&gt;&lt;p&gt;8) Eye Spot - &lt;a href=&quot;http://eyespot.com/&quot;&gt;http://eyespot.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Use the eyespot Mixer to edit and combine your videos, music and photos online! Share your video and mixes with the world for Free.&lt;/p&gt;&lt;p&gt;9) webezz - &lt;a href=&quot;http://www.webezz.net/&quot;&gt;http://www.webezz.net/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Build your website using an easy-to-use Ajax Editor.&lt;/p&gt;&lt;p&gt;1o) meebo - &lt;a href=&quot;http://www21.meebo.com/&quot;&gt;http://www21.meebo.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Sign into your AIM, MSN, ICQ, Google Talk, Jabber, or Y! Messenger account with this ajax based web site. &lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114618007848673174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114618007848673174' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114618007848673174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114618007848673174'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/04/10-ajax-applications-you-cant-live.html' title='10 ajax applications you can&#39;t live without'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114513050349011099</id><published>2006-04-27T03:40:00.000-07:00</published><updated>2006-11-13T12:55:45.396-08:00</updated><title type='text'>Free Icons - redux</title><content type='html'>&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;By Justin Silverton&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Back due to popular demand, here is a list of sites that provide free icons that can be used in any application. Anyone may use the list in it&#39;s entirety.&lt;br /&gt;&lt;br /&gt;If anyone has any other sites that offer free icons, please let me know and I will add it.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Updated 4/27/06&lt;br /&gt;&lt;br /&gt;My goal is to have the largest list of free icon sites on the Internet&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.opentux.com.ar/lordcrow/packs/kneu.html&quot;&gt;http://www.opentux.com.ar/lordcrow/packs/kneu.html&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://moglenstar.net/freeicons/&quot;&gt;http://moglenstar.net/freeicons/&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.bluevertigo.com.ar/bluevertigo.htm&quot;&gt;http://www.bluevertigo.com.ar/bluevertigo.htm&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.yellowpipe.com/yis/download/free-icons.php&quot;&gt;http://www.yellowpipe.com/yis/download/free-icons.php&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.zeldman.com/icon.html&quot;&gt;http://www.zeldman.com/icon.html&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.forrestwalter.com/icons/index.html&quot;&gt;http://www.forrestwalter.com/icons/index.html&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.silvestre.com.ar&quot;&gt;http://www.silvestre.com.ar&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.deviantart.com/deviation/18808605/&quot;&gt;http://www.deviantart.com/deviation/18808605/&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.graphicpush.com/index.php?s=icons&quot;&gt;http://www.graphicpush.com/index.php?s=icons&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://tango-project.org/&quot;&gt;http://tango-project.org/&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.entity.cc/&quot;&gt;http://www.entity.cc/&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.famfamfam.com/about/&quot;&gt;http://www.famfamfam.com/about/&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.fasticon.com/downloads.html&quot;&gt;http://www.fasticon.com/downloads.html&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://strawbee.com/2005/11/06/tiny-little-icons/&quot;&gt;http://strawbee.com/2005/11/06/tiny-little-icons/&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.macnn.com/articles/06/04/05/free.icons.flash.fab/&quot;&gt;http://www.macnn.com/articles/06/04/05/free.icons.flash.fab/&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://e-lusion.com/&quot;&gt;http://e-lusion.com/&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.yellowpipe.com/yis/download/free-icons.php&quot;&gt;http://www.yellowpipe.com/yis/download/free-icons.php&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://icon-king.com/&quot;&gt;http://icon-king.com/&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://sa-ki.deviantart.com/&quot;&gt;http://sa-ki.deviantart.com/&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://mattbrett.com/&quot;&gt;http://mattbrett.com/&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.iconsdesigns.com/2005/12/17/snowish-first-release/&quot;&gt;http://www.iconsdesigns.com/2005/12/17/snowish-first-release/&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.iconbuffet.com/&quot;&gt;http://www.iconbuffet.com/&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.drweb.de/webgrafik/symbol_sammlungen.shtml&quot;&gt;http://www.drweb.de/webgrafik/symbol_sammlungen.shtml&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.graphicpush.com/index.php?s=icons&quot;&gt;http://www.graphicpush.com/index.php?s=icons&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.pixelgirlpresents.com&quot;&gt;http://www.pixelgirlpresents.com&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.iconbazaar.com/&quot;&gt;http://www.iconbazaar.com/&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.iconfactory.com/show.asp&quot;&gt;http://www.iconfactory.com/show.asp&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.aha-soft.com/iconlibs.htm&quot;&gt;http://www.aha-soft.com/iconlibs.htm&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.icongalore.com/sales/purchase-and-download.php&quot;&gt;http://www.icongalore.com/sales/purchase-and-download.php&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://ndesign-studio.com/resources/pixel_icons.htm&quot;&gt;http://ndesign-studio.com/resources/pixel_icons.htm&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.websiteicons.com/&quot;&gt;http://www.websiteicons.com/&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://web.thenetter.com/free-icons.html&quot;&gt;http://web.thenetter.com/free-icons.html&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.brainybetty.com/icons.htm&quot;&gt;http://www.brainybetty.com/icons.htm&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.aceicons.com/free.html&quot;&gt;http://www.aceicons.com/free.html&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://i-cons.tk/&quot;&gt;http://i-cons.tk/&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.iheartny.com/icons.html&quot;&gt;http://www.iheartny.com/icons.html&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.glyfx.com/free.html&quot;&gt;http://www.glyfx.com/free.html&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.sharewareplaza.com/Free-Icon-Gallery-download_24998.html&quot;&gt;http://www.sharewareplaza.com/Free-Icon-Gallery-download_24998.html&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.iconbulk.com/stockfree.asp&quot;&gt;http://www.iconbulk.com/stockfree.asp&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.freewarebox.com/free_762_free-icons-for-winxp-software-download.html&quot;&gt;http://www.freewarebox.com/free_762_free-icons-for-winxp-software-download.html&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.instantroyaltyfreemusic.com/directory/index.php?c=6&quot;&gt;http://www.instantroyaltyfreemusic.com/directory/index.php?c=6&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.gold-software.com/xpstyleicons-review19366.htm&quot;&gt;http://www.gold-software.com/xpstyleicons-review19366.htm&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.treepad.com/free_icons/&quot;&gt;http://www.treepad.com/free_icons/&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.top20free.com/icons.html&quot;&gt;http://www.top20free.com/icons.html&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.freedownloadmanager.org/downloads&quot;&gt;http://www.freedownloadmanager.org/downloads&lt;/a&gt;&lt;br /&gt;/royalty_free_icons_software/&lt;br /&gt;&lt;a href=&quot;http://www.obout.com/t2/icons.aspx&quot;&gt;http://www.obout.com/t2/icons.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://jeenaparadies.net/webdesign/free-icons&quot;&gt;http://jeenaparadies.net/webdesign/free-icons&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.fileedge.com/get/free-icons/&quot;&gt;http://www.fileedge.com/get/free-icons/&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.clickfire.com/content/graphics/favicons/favicons.php&quot;&gt;http://www.clickfire.com/content/graphics/favicons/favicons.php&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://turbomilk.com/freeicons/&quot;&gt;http://turbomilk.com/freeicons/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here is a random site in Japanese I found while searching for free icons. Although it contains no icons, it does contain i-candy. Enjoy:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.akikobrand.com/&quot;&gt;http://www.akikobrand.com/&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114513050349011099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114513050349011099' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114513050349011099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114513050349011099'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/04/free-icons-redux.html' title='Free Icons - redux'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114611471591033026</id><published>2006-04-26T22:10:00.000-07:00</published><updated>2006-04-27T05:47:26.496-07:00</updated><title type='text'>Commodore 64 emulator in PHP</title><content type='html'>&lt;strong&gt;By Justin Silverton&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;For those of you that still remember the early days of computing, there is a commodore 64 emulator written in PHP.&lt;br /&gt;&lt;br /&gt;A live demo is available here: &lt;a href=&quot;http://phpc64.extra.hu/c64/index.html&quot;&gt;http://phpc64.extra.hu/c64/index.html&lt;/a&gt;&lt;br /&gt;the sourcecode is available here: &lt;a href=&quot;http://phpc64.extra.hu/php_c64_source.tar.gz&quot;&gt;http://phpc64.extra.hu/php_c64_source.tar.gz&lt;/a&gt; (released under the GPL License)&lt;br /&gt;&lt;br /&gt;Homepage is here: &lt;a href=&quot;http://phpc64.extra.hu/&quot;&gt;http://phpc64.extra.hu/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Some Commands&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;The following are supported: NEW, RUN, LIST, LIST N-M, SAVE &quot;NAME&quot;, LOAD &quot;NAME&quot;,&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Programming examples&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;PRINT &quot;HELLO WORLD&quot;&lt;br /&gt;IF 2&lt;6&gt;&quot;A&quot; THEN XXX (Note: XXX being a line number.)&lt;br /&gt;GOTO XXXGOSUB XXX (...)&lt;br /&gt;RETURN&lt;br /&gt;&lt;br /&gt;10 FOR I%=1 TO 1020&lt;br /&gt;PRINT &quot;C64&quot;&lt;br /&gt;30 NEXT I% (Note: variable after NEXT is optional, but recommended)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Known Bugs&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;-----* doesn&#39;t check BASIC programs for syntax errors (because of size limitations)*&lt;br /&gt;Internet Explorer crashes when loading programs longer then approximatly 700 bytes&lt;br /&gt;* when the frame containing c.php is loaded before creation of frame named &#39;s&#39;, it causes javascript error; you should reload the page when this bug shows&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Tricks&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;in Opera the execution of the BASIC program stops when INPUT commands are being executed; it will continoue if you activate another tab, then return to the window of the Emulator (you should press RETURN)</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114611471591033026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114611471591033026' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114611471591033026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114611471591033026'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/04/commodore-64-emulator-in-php.html' title='Commodore 64 emulator in PHP'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114609150309827278</id><published>2006-04-26T15:44:00.000-07:00</published><updated>2006-05-09T16:19:03.066-07:00</updated><title type='text'>An operating system in PHP</title><content type='html'>&lt;strong&gt;By Justin Silverton&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Is it possible? a full-fledged operating system written in PHP? I never thought so before, but I recently found a great application that proves me wrong. Even though it has some help from java, flash, and javascript, it is still a very fast and functional OS. It is also open source, so you can install it on your own server, but if you don&#39;t have the hardware, a free account can be created on their servers.&lt;br /&gt;&lt;br /&gt;first, here is some info on how to get it:&lt;br /&gt;&lt;br /&gt;it&#39;s called eyeos and you can create a free account here: &lt;a href=&quot;http://www.eyeos.info&quot;&gt;http://www.eyeos.info&lt;/a&gt;&lt;br /&gt;the main site is located here: &lt;a href=&quot;http://www.eyeos.org&quot;&gt;http://www.eyeos.org&lt;/a&gt;&lt;br /&gt;API Info: &lt;a href=&quot;http://www.eyeos.org/appsAPI&quot;&gt;http://www.eyeos.org/appsAPI&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;mini-server for windows: &lt;a href=&quot;http://www.eyeos.org/miniserver&quot;&gt;http://www.eyeos.org/miniserver&lt;/a&gt;&lt;br /&gt;Source code: &lt;a href=&quot;http://www.eyeos.org/Downloads&quot;&gt;http://www.eyeos.org/Downloads&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;With eyeOS you can access your data and your applications anywhere, anytime. A virtual office in your hands, no need to install anything in the computer. Everything lives in the browser, for you and your work colleagues. eyeOS is open source and free software. &lt;a href=&quot;http://www.eyeos.info/&quot;&gt;Set up freely an account on our servers&lt;/a&gt; or, if you prefer it, &lt;a href=&quot;http://www.eyeos.org/Downloads&quot;&gt;install it in your server&lt;/a&gt;. Make your life easier with the virtual word processor, calendar, file manager, messenger, browser and other applications. And if you want more applications, just visit the &lt;a href=&quot;http://www.eyeapps.org/&quot;&gt;eyeOS Application Database&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;My review&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Today, I created a free account online. Below is a screenshot of the built-in word-processor:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://photos1.blogger.com/blogger/6545/2077/1600/eyeos.png&quot;&gt;&lt;img style=&quot;DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/6545/2077/320/eyeos.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;What I liked about it&lt;/strong&gt;:&lt;br /&gt;&lt;br /&gt;A) Very fast and Responsive Interface&lt;br /&gt;B) Open Source and easy-to-use API&lt;br /&gt;C) Written in PHP&lt;br /&gt;D) eye candyish graphics&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Where I feel it needs work&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;A) Not many apps. I think with an increase in user support, it will become more of a development platform than a proof of concept.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Although it may not have a wide variety of uses right now, it is very interesting to see that it is possible to create an entire platform using PHP and other web technologies.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Other Operating systems in PHP&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Ssearching the Internet, I also found some other Operating Systems written in PHP: &lt;p&gt;Phoenixz: &lt;a href=&quot;http://sourceforge.net/projects/phoenixz/&quot;&gt;http://sourceforge.net/projects/phoenixz/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Jsuix (not PHP, but a unix like OS written in javascript): &lt;a href=&quot;http://www.masswerk.at/jsuix/&quot;&gt;http://www.masswerk.at/jsuix/&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114609150309827278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114609150309827278' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114609150309827278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114609150309827278'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/04/operating-system-in-php.html' title='An operating system in PHP'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114601427852111311</id><published>2006-04-25T18:15:00.000-07:00</published><updated>2006-09-17T15:37:40.403-07:00</updated><title type='text'>Programming Languages you never knew existed</title><content type='html'>&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;By Justin Silverton&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;I have compiled a list of interesting programming languages from around the Internet. If anyone has any more to add to this list, let me know.&lt;br /&gt;&lt;br /&gt;&lt;a title=&quot;ALPACA programming language&quot; href=&quot;http://en.wikipedia.org/wiki/ALPACA_programming_language&quot;&gt;ALPACA&lt;/a&gt; - a meta-language for programming arbitrary &lt;a title=&quot;Cellular automata&quot; href=&quot;http://en.wikipedia.org/wiki/Cellular_automata&quot;&gt;cellular automata&lt;/a&gt;&lt;br /&gt;&lt;a class=&quot;external text&quot; title=&quot;http://esoteric.voxelperfect.net/wiki/Aura&quot; href=&quot;http://esoteric.voxelperfect.net/wiki/Aura&quot;&gt;Aura&lt;/a&gt; - a brainfuck descendant&lt;br /&gt;&lt;a title=&quot;Arbol programming language&quot; href=&quot;http://en.wikipedia.org/wiki/Arbol_programming_language&quot;&gt;Arbol&lt;/a&gt; &lt;a class=&quot;external autonumber&quot; title=&quot;http://cluster.phys.uni-sofia.bg/ross/arbol/&quot; href=&quot;http://cluster.phys.uni-sofia.bg/ross/arbol/&quot;&gt;[1]&lt;/a&gt; - a small functional programming language&lt;br /&gt;&lt;a title=&quot;Argh! programming language&quot; href=&quot;http://en.wikipedia.org/wiki/Argh!_programming_language&quot;&gt;Argh!&lt;/a&gt; - A &lt;a title=&quot;Fungeoid&quot; href=&quot;http://en.wikipedia.org/wiki/Fungeoid&quot;&gt;fungeoid&lt;/a&gt; with complex data storage&lt;br /&gt;&lt;a class=&quot;external text&quot; title=&quot;http://sange.fi/~atehwa/b5/&quot; href=&quot;http://sange.fi/~atehwa/b5/&quot;&gt;B5&lt;/a&gt; - a functional macro processor&lt;br /&gt;&lt;a class=&quot;external text&quot; title=&quot;http://fvdp.homestead.com/files/eso_index.html#BFM&quot; href=&quot;http://fvdp.homestead.com/files/eso_index.html#BFM&quot;&gt;BFM&lt;/a&gt; - a brainfuck variant with macros&lt;br /&gt;&lt;a class=&quot;external text&quot; title=&quot;http://www.dangermouse.net/esoteric/bit.html&quot; href=&quot;http://www.dangermouse.net/esoteric/bit.html&quot;&gt;BIT&lt;/a&gt; - where the basic types are the bit and the address-of-a-bit&lt;br /&gt;&lt;a class=&quot;external text&quot; title=&quot;http://esoteric.voxelperfect.net/wiki/Braincopter&quot; href=&quot;http://esoteric.voxelperfect.net/wiki/Braincopter&quot;&gt;Braincopter&lt;/a&gt; - an image based brainfuck clone&lt;br /&gt;&lt;a title=&quot;Brainfuck&quot; href=&quot;http://en.wikipedia.org/wiki/Brainfuck&quot;&gt;brainfuck&lt;/a&gt; - designed to have the smallest compiler ever&lt;br /&gt;&lt;a class=&quot;external text&quot; title=&quot;http://web.archive.org/web/20040206060216/http://demo.raww.net/muriel/bub.html&quot; href=&quot;http://web.archive.org/web/20040206060216/http://demo.raww.net/muriel/bub.html&quot;&gt;Bub&lt;/a&gt; - a brainfuck variant&lt;br /&gt;&lt;a class=&quot;external text&quot; title=&quot;http://esoteric.voxelperfect.net/wiki/Lesser_known_programming_languages&quot; href=&quot;http://esoteric.voxelperfect.net/wiki/Lesser_known_programming_languages&quot;&gt;C-&lt;/a&gt; - a fictional joke language&lt;br /&gt;&lt;a class=&quot;external text&quot; title=&quot;http://c-p-l.sourceforge.net/&quot; href=&quot;http://c-p-l.sourceforge.net/&quot;&gt;C-P-L&lt;/a&gt; - a language in which a non-comment is a syntax error (but on the plus side, all styles of comments are supported, and comments may be arbitrarily nested).&lt;br /&gt;&lt;a class=&quot;external text&quot; title=&quot;http://web.archive.org/web/20031209180058/http%3A//www.mines.edu/students/b/bolmstea/malbolge/index.html&quot; href=&quot;http://web.archive.org/web/20031209180058/http://www.mines.edu/students/b/bolmstea/malbolge/index.html&quot;&gt;Dis&lt;/a&gt; - a variant of Malbolge&lt;br /&gt;&lt;a class=&quot;external text&quot; title=&quot;http://esoteric.voxelperfect.net/wiki/Lesser_known_programming_languages&quot; href=&quot;http://esoteric.voxelperfect.net/wiki/Lesser_known_programming_languages&quot;&gt;DOGO&lt;/a&gt; - a fictional joke language&lt;br /&gt;&lt;a title=&quot;Doublefuck&quot; href=&quot;http://en.wikipedia.org/wiki/Doublefuck&quot;&gt;Doublefuck&lt;/a&gt; - an extended version of brainfuck&lt;br /&gt;&lt;a class=&quot;external text&quot; title=&quot;http://esoteric.voxelperfect.net/wiki/Lesser_known_programming_languages&quot; href=&quot;http://esoteric.voxelperfect.net/wiki/Lesser_known_programming_languages&quot;&gt;FIFTH&lt;/a&gt; - a fictional joke language&lt;br /&gt;&lt;a title=&quot;FiPL&quot; href=&quot;http://en.wikipedia.org/wiki/FiPL&quot;&gt;FiPL - &lt;/a&gt;Fish Programming language (half-joke, a parody on programming language paradigms)&lt;br /&gt;&lt;a class=&quot;external text&quot; title=&quot;http://www.aldweb.com/articles.php?lng=&quot; href=&quot;http://www.aldweb.com/articles.php?lng=en&amp;pg=5298&quot; pg=&quot;5298&quot;&gt;HELP&lt;/a&gt; - HELP stands for Hellish &amp;amp; Esoteric Language for Palm&lt;br /&gt;&lt;a class=&quot;external text&quot; title=&quot;http://catseye.mine.nu:8080/projects/hunter/&quot; href=&quot;http://catseye.mine.nu:8080/projects/hunter/&quot;&gt;Hunter&lt;/a&gt; - a language related to noit o’ mnain worb and RUBE&lt;br /&gt;&lt;a class=&quot;external text&quot; title=&quot;http://spuzz.net/projects/homespring/about.php&quot; href=&quot;http://spuzz.net/projects/homespring/about.php&quot;&gt;Homespring&lt;/a&gt; - an excessively high-level language, where the instructions are &lt;a title=&quot;English language&quot; href=&quot;http://en.wikipedia.org/wiki/English_language&quot;&gt;English&lt;/a&gt;&lt;br /&gt;sentences based around the metaphor of a mountainside river.&lt;br /&gt;&lt;a class=&quot;external text&quot; title=&quot;http://web.archive.org/web/20020617125506/www.catseye.mb.ca/esoteric/illgol/%23%23/&quot; href=&quot;http://web.archive.org/web/20020617125506/www.catseye.mb.ca/esoteric/illgol/##/&quot;&gt;Illgol##&lt;/a&gt; - a variant of ILLGOL&lt;br /&gt;&lt;a title=&quot;Java2K&quot; href=&quot;http://en.wikipedia.org/wiki/Java2K&quot;&gt;Java2K&lt;/a&gt; - a probabilistic language&lt;br /&gt;&lt;a title=&quot;L33t programming language&quot; href=&quot;http://en.wikipedia.org/wiki/L33t_programming_language&quot;&gt;l33t&lt;/a&gt; - inspired by brainfuck and Beatnik, source code is entered as &#39;l33t 5p34k&#39;&lt;br /&gt;&lt;a class=&quot;external text&quot; title=&quot;http://esoteric.voxelperfect.net/wiki/Mycelium&quot; href=&quot;http://esoteric.voxelperfect.net/wiki/Mycelium&quot;&gt;Mycelium&lt;/a&gt; - a 2-dimensional image based language where the code is read from a png image&lt;br /&gt;&lt;a class=&quot;external text&quot; title=&quot;http://sourceforge.net/projects/nietzsche/&quot; href=&quot;http://sourceforge.net/projects/nietzsche/&quot;&gt;Nietzsche&lt;/a&gt; - a hexadecimal language&lt;br /&gt;&lt;a title=&quot;Obfuna&quot; href=&quot;http://en.wikipedia.org/wiki/Obfuna&quot;&gt;Obfuna&lt;/a&gt; - single character instructions for unary operations&lt;br /&gt;&lt;a class=&quot;external text&quot; title=&quot;http://esoteric.voxelperfect.net/wiki/Orthagonal&quot; href=&quot;http://esoteric.voxelperfect.net/wiki/Orthagonal&quot;&gt;Orthagonal&lt;/a&gt; - a two-dimensional stack-based language&lt;br /&gt;&lt;a title=&quot;Piet programming language&quot; href=&quot;http://en.wikipedia.org/wiki/Piet_programming_language&quot;&gt;Piet&lt;/a&gt; - an art-based programming language&lt;br /&gt;&lt;a class=&quot;external text&quot; title=&quot;http://homepage.eircom.net/~kmgaughan/esolang/q-bal/&quot; href=&quot;http://homepage.eircom.net/~kmgaughan/esolang/q-bal/&quot;&gt;Q-BAL&lt;/a&gt; - a queue-based language&lt;br /&gt;&lt;a class=&quot;external text&quot; title=&quot;http://web.archive.org/web/20020816074556/www.catseye.mb.ca/esoteric/rube/index.html&quot; href=&quot;http://web.archive.org/web/20020816074556/www.catseye.mb.ca/esoteric/rube/index.html&quot;&gt;RUBE&lt;/a&gt; - not quite a cellular automaton&lt;br /&gt;&lt;a class=&quot;external text&quot; title=&quot;http://p-nand-q.com/humor/programming_languages/smithsharp.html&quot; href=&quot;http://p-nand-q.com/humor/programming_languages/smithsharp.html&quot;&gt;SMITH#&lt;/a&gt; - described as &quot;the future of GOTO&quot;&lt;br /&gt;&lt;a title=&quot;Snobol&quot; href=&quot;http://en.wikipedia.org/wiki/Snobol&quot;&gt;snobol&lt;/a&gt; - StriNg Oriented symBOlic Language&lt;br /&gt;&lt;a title=&quot;Spoon programming language&quot; href=&quot;http://en.wikipedia.org/wiki/Spoon_programming_language&quot;&gt;Spoon&lt;/a&gt; - a brainfuck derivative&lt;br /&gt;&lt;a title=&quot;TWiRQ programming language&quot; href=&quot;http://en.wikipedia.org/wiki/TWiRQ_programming_language&quot;&gt;TWiRQ&lt;/a&gt; &lt;a class=&quot;external autonumber&quot; title=&quot;http://www.parabolagames.com/?page=&quot; href=&quot;http://www.parabolagames.com/?page=catalog&amp;amp;p=twirq_1_0_0&quot; p=&quot;twirq_1_0_0&quot;&gt;[12]&lt;/a&gt; - a two-dimensional language&lt;br /&gt;&lt;a title=&quot;UNITY programming language&quot; href=&quot;http://en.wikipedia.org/wiki/UNITY_programming_language&quot;&gt;UNITY&lt;/a&gt; - a programming language without program flow.&lt;br /&gt;&lt;a title=&quot;Unlambda&quot; href=&quot;http://www.madore.org/~david/programs/unlambda/&quot;&gt;Unlambda&lt;/a&gt; - Your Functional Programming Language Nightmares Come True&lt;br /&gt;&lt;a title=&quot;URISC&quot; href=&quot;http://en.wikipedia.org/wiki/URISC&quot;&gt;URISC&lt;/a&gt; - a machine with only one instruction&lt;br /&gt;&lt;a title=&quot;Whenever programming language&quot; href=&quot;http://en.wikipedia.org/wiki/Whenever_programming_language&quot;&gt;Whenever&lt;/a&gt; - a language with no sense of urgency&lt;br /&gt;&lt;a title=&quot;Whitespace programming language&quot; href=&quot;http://en.wikipedia.org/wiki/Whitespace_programming_language&quot;&gt;Whitespace&lt;/a&gt; - only spaces, tabs and newlines are considered syntax&lt;br /&gt;&lt;a class=&quot;external text&quot; title=&quot;http://www.bur.st/~yayyak/Wiki/Specification.html&quot; href=&quot;http://www.bur.st/~yayyak/Wiki/Specification.html&quot;&gt;Wiki&lt;/a&gt; - whose programs consist of machine code encoded as &lt;a title=&quot;Wikipedia&quot; href=&quot;http://en.wikipedia.org/wiki/Wikipedia&quot;&gt;Wikipedia&lt;/a&gt; articles.&lt;br /&gt;&lt;a title=&quot;Winter&quot; href=&quot;http://swiftlytilting.com/t/winter&quot;&gt;Winter&lt;/a&gt; - mediaWiki scripting language</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114601427852111311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114601427852111311' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114601427852111311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114601427852111311'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/04/programming-languages-you-never-knew.html' title='Programming Languages you never knew existed'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114585271971488779</id><published>2006-04-23T21:23:00.000-07:00</published><updated>2006-05-12T01:47:29.426-07:00</updated><title type='text'>Top 10 PHP frameworks</title><content type='html'>&lt;strong&gt;By Justin Silverton&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Below is a list of the top 10 frameworks for PHP:&lt;br /&gt;&lt;br /&gt;10) &lt;a href=&quot;http://neonlabs.structum.com.mx/main.php?strItem=moebius&quot;&gt;Mobius&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The Moebius PHP Library is a project that concentrates on building a set of classes that wraps around the built-in php functions. The idea behind the creation of this library is to create an object framework to work on PHP, going from mySQL management to Table manipulation. The site is powered in fact by the moebius library.&lt;br /&gt;&lt;br /&gt;9) &lt;a href=&quot;http://www.blueshoes.org/&quot;&gt;Blueshoes&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;BlueShoes provides developers with real-world solutions for common system components such as User Management, Session Handling, Closed User Groups, Exception Handling and Logging, Object Persisting as well as Form building and Handling.&lt;br /&gt;&lt;br /&gt;8) &lt;a href=&quot;http://sourceforge.net/projects/phrame&quot;&gt;Phrame&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Phrame is a web development platform for PHP based on the design of Jakarta Struts. Phrame provides your basic Model-View-Controller architecture, and also takes a step further adding standard components such as: HashMap, ArrayList, Stack, etc...&lt;br /&gt;&lt;br /&gt;7) &lt;a href=&quot;http://php-fusebox.sourceforge.net/&quot;&gt;Fusebox&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Fusebox is the most popular framework for building ColdFusion and PHP web applications. &quot;Fuseboxers&quot; find that the framework releases them from much of the drudgery of writing applications and enables them to focus their efforts on creating great, customer-focused software.&lt;br /&gt;&lt;br /&gt;6) &lt;a href=&quot;http://seagull.phpkitchen.com/&quot;&gt;Seagull&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Seagull is an object oriented framework written in PHP that focuses on best practices, clean code and reusable components.&lt;br /&gt;&lt;br /&gt;5) &lt;a href=&quot;http://ez.no/products/ez_publish&quot;&gt;EZ Publish&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;eZ publish gives you control of your content. Create, handle, sort and store documents, files and images. Publish them in the format, channel or media you prefer.&lt;br /&gt;&lt;br /&gt;4) &lt;a href=&quot;http://sourceforge.net/projects/krill/&quot;&gt;Krill&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Krill is a php Framework based on the MVC2 paradigm.&lt;br /&gt;&lt;br /&gt;3) &lt;a href=&quot;http://sourceforge.net/projects/php-booba/&quot;&gt;php-booba&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Simple PHP framework for developing web applications.&lt;br /&gt;&lt;br /&gt;2) &lt;a href=&quot;http://www.edit-x.com/&quot;&gt;edit-x&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Edit-X CMS features enhanced tools for larger content management environments and offers support for multiple sites and unlimited authorized users. Users have an intuitive WYSIWYG (What You See Is What You Get) editorial interface that makes adding and updating content as easy as using a word processor. Edit-X CMS is designed to give organizations of all sizes a scalable solution for managing online information.&lt;br /&gt;&lt;br /&gt;1) &lt;a href=&quot;http://www.binarycloud.com/&quot;&gt;Binary Cloud&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;binarycloud is a web application framework for the &lt;a class=&quot;urllink&quot; href=&quot;http://www.php.net/&quot;&gt;PHP&lt;/a&gt; language. It provides a set of services that are frequently used when writing web applications and helps to improve reuseability by providing a modular application infrastructure.</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114585271971488779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114585271971488779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114585271971488779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114585271971488779'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/04/top-10-php-frameworks.html' title='Top 10 PHP frameworks'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114577067609398084</id><published>2006-04-22T22:37:00.000-07:00</published><updated>2006-05-12T00:54:01.213-07:00</updated><title type='text'>Converting php scripts to windows apps</title><content type='html'>&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;By Justin Silverton&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I came across this application the other day that will allow you to convert php scripts to native windows applications.&lt;br /&gt;&lt;br /&gt;The application is called WinBinder and it is available &lt;a href=&quot;http://hypervisual.com/winbinder/examples.php&quot;&gt;Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;S&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;ome benefits of using winbinder&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;b&gt;Some key benefits&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Large installed base of PHP programmers.&lt;/li&gt;&lt;li&gt;No compiling and linking steps necessary: just code and run.&lt;/li&gt;&lt;li&gt;Access to the vast range of existing PHP functions and extensions, including databases, graphics, web functions, XML, PDF, and much more.&lt;/li&gt;&lt;li&gt;A small set of WinBinder functions encapsulates many complex aspects of the Windows API and makes programming for Windows an easy task.&lt;/li&gt;&lt;li&gt;Provides 100% native Windows classes and controls.&lt;/li&gt;&lt;li&gt;Interfaces directly to the Window API. This means fast execution, no extra libraries and no installation required.&lt;/li&gt;&lt;li&gt;Supports both procedural and object-oriented programming models.&lt;/li&gt;&lt;li&gt;High performance, compares favorably to most scripting languages.&lt;/li&gt;&lt;li&gt;Produces standalone applications that can be easily installed and removed with no reboot.&lt;/li&gt;&lt;li&gt;Small footprint. A simple Windows application, complete with the PHP runtime and SQLite extension, is smaller than 700 kB (zipped).&lt;/li&gt;&lt;li&gt;A database-independent framework allows easy coding (no SQL knowledge is necessary) and smooth integration with the WinBinder code.&lt;/li&gt;&lt;li&gt;No database server required if using SQLite.&lt;/li&gt;&lt;li&gt;Does not need to use to the Windows registry, but may use it if necessary.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://hypervisual.com/winbinder/overview.php&quot;&gt;More...&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;Simple Example&lt;/span&gt;&lt;br /&gt;&lt;p&gt;Here is the minimum code required for a Windows application:&lt;/p&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;code&gt;&lt;span style=&quot;COLOR: rgb(0,0,0)&quot;&gt;&lt;span style=&quot;COLOR: rgb(0,0,187)&quot;&gt;&lt;span style=&quot;COLOR: rgb(0,119,0)&quot;&gt;include &lt;/span&gt;&lt;span style=&quot;COLOR: rgb(221,0,0)&quot;&gt;&quot;../include/winbinder.php&quot;&lt;/span&gt;&lt;span style=&quot;COLOR: rgb(0,119,0)&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;COLOR: rgb(255,128,0)&quot;&gt;// Include WinBinder library&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;COLOR: rgb(0,0,187)&quot;&gt;wb_create_window&lt;/span&gt;&lt;span style=&quot;COLOR: rgb(0,119,0)&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;COLOR: rgb(0,0,187)&quot;&gt;NULL&lt;/span&gt;&lt;span style=&quot;COLOR: rgb(0,119,0)&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;COLOR: rgb(0,0,187)&quot;&gt;PopupWindow&lt;/span&gt;&lt;span style=&quot;COLOR: rgb(0,119,0)&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;COLOR: rgb(221,0,0)&quot;&gt;&quot;Hello&quot;&lt;/span&gt;&lt;span style=&quot;COLOR: rgb(0,119,0)&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;COLOR: rgb(0,0,187)&quot;&gt;480&lt;/span&gt;&lt;span style=&quot;COLOR: rgb(0,119,0)&quot;&gt;, &lt;/span&gt;500&lt;span style=&quot;COLOR: rgb(0,119,0)&quot;&gt;); &lt;/span&gt;&lt;span style=&quot;COLOR: rgb(255,128,0)&quot;&gt;// Create application window&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;COLOR: rgb(0,0,187)&quot;&gt;wb_main_loop&lt;/span&gt;&lt;span style=&quot;COLOR: rgb(0,119,0)&quot;&gt;(); &lt;/span&gt;&lt;span style=&quot;COLOR: rgb(255,128,0)&quot;&gt;// Enter message loop&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;COLOR: rgb(0,0,0)&quot;&gt;here is what the above will display when compiled:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/blogger/6545/2077/1600/minimal.png&quot;&gt;&lt;img style=&quot;FLOAT: left; MARGIN: 0pt 10px 10px 0pt; CURSOR: pointer&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/6545/2077/320/minimal.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114577067609398084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114577067609398084' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114577067609398084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114577067609398084'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/04/converting-php-scripts-to-windows-apps.html' title='Converting php scripts to windows apps'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114571986043137070</id><published>2006-04-22T08:29:00.000-07:00</published><updated>2006-05-24T14:19:46.193-07:00</updated><title type='text'>add/remove program registry info</title><content type='html'>&lt;span style=&quot;font-weight: bold;&quot;&gt;By Justin Silverton&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For people that write windows applications, the following info will allow you to add your application to the add/remove programs menu.&lt;br /&gt;&lt;br /&gt;Create a key with your app name name under HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall to add entries to the &quot;Add/Remove Programs&quot; section in the Control Panel.&lt;br /&gt;&lt;br /&gt;For Windows NT (NT4/2000/XP), it&#39;s also possible to create the key in the HKCU hive, so it will only appear for the current user.&lt;br /&gt;&lt;br /&gt;There are several values you can write to the key to give additional information about your application and the uninstaller.&lt;br /&gt;&lt;br /&gt;Write a value using the WriteRegStr command (for strings) or WriteRegDWORD command (for DWORD values).&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;HKLM &quot;Software\Microsoft\Windows\CurrentVersion\Uninstall\Product&quot;                &quot;DisplayName&quot; &quot;Application Name&quot;&lt;br /&gt;&lt;br /&gt;Required values&lt;br /&gt;&lt;br /&gt;  * DisplayName (string) - Name of the application&lt;br /&gt;  * UninstallString (string) - Path and filename of the uninstaller. You should always quote the path to make sure spaces in the path will not disrupt Windows to find the uninstaller.&lt;br /&gt;&lt;br /&gt;HKLM &quot;Software\Microsoft\Windows\CurrentVersion\Uninstall\myapp&quot;                &quot;DisplayName&quot; &quot;This is my cool application&quot;&lt;br /&gt;HKLM &quot;Software\Microsoft\Windows\CurrentVersion\Uninstall\myapp&quot;                &quot;UninstallString&quot; &quot;$INSTDIR\uninstall.exe&quot;&lt;br /&gt;&lt;br /&gt;Optional values&lt;br /&gt;&lt;br /&gt;Supported on: Windows XP.&lt;br /&gt;&lt;br /&gt;  * InstallLocation (string) - Installation directory ($INSTDIR)&lt;br /&gt;  * DisplayIcon (string) - Path, filename and index of of the icon that will be displayed next to your application name&lt;br /&gt;&lt;br /&gt;  * Publisher (string) - (Company) name of the publisher&lt;br /&gt;&lt;br /&gt;  * ModifyPath (string) - Path and filename of the application modify program&lt;br /&gt;  * InstallSource (string) - Location where the application was installed from&lt;br /&gt;&lt;br /&gt;  * ProductID (string) - Product ID of the application&lt;br /&gt;  * RegOwner (string) - Registered owner of the application&lt;br /&gt;  * RegCompany (string) - Registered company of the application&lt;br /&gt;&lt;br /&gt;  * HelpLink (string) - Link to the support website&lt;br /&gt;  * HelpTelephone (string) - Telephone number for support&lt;br /&gt;&lt;br /&gt;  * URLUpdateInfo (string) - Link to the website for application updates&lt;br /&gt;  * URLInfoAbout (string) - Link to the application home page&lt;br /&gt;&lt;br /&gt;  * DisplayVersion (string) - Displayed version of the application&lt;br /&gt;  * VersionMajor (DWORD) - Major version number of the application&lt;br /&gt;  * VersionMinor (DWORD) - Minor version number of the application&lt;br /&gt;&lt;br /&gt;  * NoModify (DWORD) - 1 if uninstaller has no option to modify the installed application&lt;br /&gt;  * NoRepair (DWORD) - 1 if the uninstaller has no option to repair the installation&lt;br /&gt;&lt;br /&gt;If both NoModify and NoRepair are set to 1, the button displays &quot;Remove&quot; instead of &quot;Modify/Remove&quot;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Supported on: Windows XP Service Pack 2.&lt;br /&gt;&lt;br /&gt;  * ParentKeyName (string) - If the program is an update of a parent program, specify the parent program subkey name. If &quot;OperatingSystem&quot;, it&#39;s an update for Windows.&lt;br /&gt;  * ParentDisplayName (string) - If the program is an update of a parent program, specify the parent program name (as specified on the parent&#39;s &quot;DisplayName&quot;).</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114571986043137070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114571986043137070' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114571986043137070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114571986043137070'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/04/addremove-program-registry-info.html' title='add/remove program registry info'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114550952618008930</id><published>2006-04-19T22:05:00.000-07:00</published><updated>2007-03-16T16:58:28.110-07:00</updated><title type='text'>php games</title><content type='html'>&lt;a href=&quot;http://photos1.blogger.com/blogger/6545/2077/1600/5.jpg&quot;&gt;&lt;img style=&quot;FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/6545/2077/320/5.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;by Justin Silverton&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The following are a list of free games written in PHP&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.heroesmini.com/register.php&quot;&gt;http://www.heroesmini.com/register.php&lt;/a&gt; - Heroes of Might and Magic&lt;br /&gt;&lt;a href=&quot;http://dragon.se7enet.com/dev.php&quot;&gt;http://dragon.se7enet.com/dev.php&lt;/a&gt; - Dragon Knight&lt;br /&gt;&lt;a href=&quot;http://sourceforge.net/projects/blacknova&quot;&gt;http://sourceforge.net/projects/blacknova&lt;/a&gt; - black nova Traders&lt;br /&gt;&lt;a href=&quot;http://www.0php.com/reviews/0171.php&quot;&gt;http://www.0php.com/reviews/0171.php&lt;/a&gt; - hangman&lt;br /&gt;&lt;a href=&quot;http://www.0php.com/reviews/0172.php&quot;&gt;http://www.0php.com/reviews/0172.php&lt;/a&gt; - anoi towers&lt;br /&gt;&lt;a href=&quot;http://www.geocities.com/markoriedelde/life/index.html&quot;&gt;http://www.geocities.com/markoriedelde/life/index.html&lt;/a&gt; - Life&lt;br /&gt;&lt;a href=&quot;http://www.geocities.com/markoriedelde/Minesweeper/index.html&quot;&gt;http://www.geocities.com/markoriedelde/Minesweeper/index.html&lt;/a&gt; - minesweeper&lt;br /&gt;&lt;a href=&quot;http://www.chipmunk-scripts.com/scripts/riddles.php&quot;&gt;http://www.chipmunk-scripts.com/scripts/riddles.php&lt;/a&gt; - chipmunk riddles&lt;br /&gt;&lt;a href=&quot;http://www.chipmunk-scripts.com/killmonster/login.php&quot;&gt;http://www.chipmunk-scripts.com/killmonster/login.php&lt;/a&gt; - kill monster&lt;br /&gt;&lt;a href=&quot;http://sportsphool.sourceforge.net/&quot;&gt;http://sportsphool.sourceforge.net/&lt;/a&gt; - sportsPHool&lt;br /&gt;&lt;a href=&quot;http://www.fightwith.me.uk/&quot;&gt;http://www.fightwith.me.uk/&lt;/a&gt; - fightclub&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Online Role Playing Games&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;a href=&quot;http://phpolrpg.sourceforge.net/&quot;&gt;http://phpolrpg.sourceforge.net/&lt;/a&gt; - PHP online RPG&lt;br /&gt;&lt;a href=&quot;http://dragon-soldier.net/&quot;&gt;http://dragon-soldier.net/&lt;/a&gt; - dragon soldier&lt;br /&gt;&lt;a href=&quot;http://www3.kingdomofloathing.com&quot;&gt;http://www3.kingdomofloathing.com&lt;/a&gt; - kingdom of loathing&lt;br /&gt;&lt;a href=&quot;http://www.lotgd.net/&quot;&gt;http://www.lotgd.net/&lt;/a&gt; - legend of the green dragon&lt;br /&gt;&lt;a href=&quot;http://www.vendetta1923.com/&quot;&gt;http://www.vendetta1923.com/&lt;/a&gt; - vendetta&lt;br /&gt;&lt;a href=&quot;http://www.thecrims.com/&quot;&gt;http://www.thecrims.com/&lt;/a&gt; - the crims&lt;br /&gt;&lt;a href=&quot;http://www.travian.com/&quot;&gt;http://www.travian.com/&lt;/a&gt; - travian&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Strategy&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.blacknova.net&quot;&gt;http://www.blacknova.net&lt;/a&gt; - black nova&lt;br /&gt;&lt;a href=&quot;http://www.aatraders.com&quot;&gt;http://www.aatraders.com&lt;/a&gt; - aatraders&lt;br /&gt;&lt;a href=&quot;http://www.quantum-star.com&quot;&gt;http://www.quantum-star.com&lt;/a&gt;  - quantum-star&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Other &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://deepdungeons.sourceforge.net/&quot;&gt;http://deepdungeons.sourceforge.net/&lt;/a&gt; - This is a desktop app written in PHP+GTK it is called Deep Dungeons.&lt;br /&gt;&lt;a href=&quot;http://www.32cards.com&quot;&gt;http://www.32cards.com&lt;/a&gt; - 2006 world cup game based on the PECL extension winbinder.&lt;br /&gt;&lt;a href=&quot;http://www.ogame.org/&quot;&gt;http://www.ogame.org/&lt;/a&gt; - strategic space simulation game</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114550952618008930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114550952618008930' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114550952618008930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114550952618008930'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/04/php-games.html' title='php games'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114550740623919352</id><published>2006-04-19T21:29:00.000-07:00</published><updated>2006-04-26T20:27:48.616-07:00</updated><title type='text'>free RSS to HTML PHP script</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/blogger/6545/2077/1600/emblem.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;http://photos1.blogger.com/blogger/6545/2077/320/emblem.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;By Justin Silverton&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;Introduction &lt;/b&gt;&lt;br /&gt;               &lt;br /&gt;                        FeedForAll has made available a free PHP program                                  called rss2html.php, which can be used by webmasters                                  to automatically display RSS feeds on their website.                                  The resulting webpage will always show the RSS                                  feed&#39;s most current data. The advantage of using                                  the rss2html.php script is that the resulting                                  webpage&#39;s contents will always be up to date,                                  and can be easily spidered by search engines.                         &lt;br /&gt;&lt;br /&gt;it can be found &lt;a href=&quot;http://www.feedforall.com&quot;&gt;Here&lt;/a&gt;&lt;br /&gt;               &lt;br /&gt;                        &lt;b&gt;&lt;a name=&quot;uses&quot;&gt;&lt;/a&gt;Uses&lt;br /&gt;                        &lt;/b&gt;&lt;br /&gt;                        - Create a webpage with an RSS feed&#39;s information                         &lt;br /&gt;                        - Insert an RSS feed&#39;s information into a location                                  in an existing webpage&lt;br /&gt;               &lt;br /&gt;                        &lt;b&gt;Templates &lt;/b&gt;&lt;br /&gt;               &lt;br /&gt;                        FeedForAll&#39;s rss2html.php script uses templates                                  to generate its output. The templates allow you                                  to easily control what the resulting webpage will                                  look like. A template can be used to generate                                  a complete webpage, or a portion of a webpage                                  like a table (which can then be included inside                                  an existing webpage). The template&#39;s syntax is                                  exactly the same as the syntax used in FeedForAll&#39;s                                  export functions.&lt;br /&gt;               &lt;br /&gt;                        Templates are simply standard HTML documents,                                  with special variables inserted where the RSS                                  feed&#39;s data should appear. Usually the easiest                                  way to create a template is to create a sample                                  webpage with some real data in it, and then replace                                  the feed&#39;s data with template variables, or modify                                  an existing webpage, by adding template variables.                                  Here is a list of the variables supported by FeedForAll&#39;s                                  rss2html.php script:&lt;br /&gt;               &lt;br /&gt;                        &lt;b&gt;~~~FeedTitle~~~ &lt;/b&gt;(The feed&#39;s title)&lt;br /&gt;                        &lt;b&gt;~~~FeedDescription~~~&lt;/b&gt; (the feed&#39;s description)&lt;br /&gt;                        &lt;b&gt;~~~FeedContentEncoded~~~&lt;/b&gt;(the feed&#39;s description                                  for the ContentEncoded field)&lt;br /&gt;               &lt;br /&gt;                        &lt;b&gt;~~~FeedLink~~~&lt;/b&gt; (the feed&#39;s link)&lt;br /&gt;                        &lt;b&gt;~~~FeedPubDate~~~&lt;/b&gt; (the feed&#39;s pub date/time                                  in RSS format)&lt;br /&gt;                        &lt;b&gt;~~~FeedPubLongDate~~~&lt;/b&gt; (the feed&#39;s date                                  in your Windows long date format) &lt;b&gt;~~~FeedPubShortDate~~~&lt;/b&gt;                                  (the feed&#39;s date in your Windows short date format)&lt;br /&gt;                        &lt;b&gt;~~~FeedPubLongTime~~~&lt;/b&gt; (the feed&#39;s time                                  in your Windows long time format)&lt;br /&gt;                        &lt;b&gt;~~~FeedPubShortTime~~~&lt;/b&gt; (the feed&#39;s time                                  in your Windows short time format)&lt;br /&gt;                        &lt;b&gt;~~~FeedImageUrl~~~&lt;/b&gt; (the URL to the feed&#39;s                                  image)&lt;br /&gt;                        &lt;b&gt;~~~FeedImageTitle~~~&lt;/b&gt; (the title for the                                  feed&#39;s image)&lt;br /&gt;                        &lt;b&gt;~~~FeedImageLink~~~&lt;/b&gt; (the link associated                                  with the feed&#39;s image)                                &lt;p&gt;&lt;br /&gt;                        &lt;b&gt;~~~FeedMaxItems=X~~~&lt;/b&gt; (the maximum number                                  of items to appear on the webpage - replace &#39;X&#39;                                  with a number)&lt;br /&gt;                        &lt;b&gt;~~~SortByPubDate~~~&lt;/b&gt;(the items will be sorted                                  by their PubDate, before they are displayed -                                  newest first)&lt;br /&gt;                        &lt;b&gt;~~~NoFutureItems~~~&lt;/b&gt;(items with PubDates                                  that are in the future will not be displayed until                                  that date/time)&lt;br /&gt;               &lt;br /&gt;                        &lt;b&gt;~~~BeginItemsRecord~~~&lt;/b&gt; (repeat everything                                  between this and the end marker, for each item)&lt;br /&gt;                        &lt;b&gt;~~~EndItemsRecord~~~&lt;/b&gt; (repeat everything                                  between this and the start marker, for each item)                         &lt;br /&gt;                        &lt;b&gt;~~~BeginAlternateItemsRecord~~~ &lt;/b&gt;(separates                                  the ItemsRecord into alternating halves) &lt;/p&gt;                               &lt;p&gt;&lt;br /&gt;                        &lt;b&gt;~~~ItemTitle~~~&lt;/b&gt; (the item&#39;s title)&lt;br /&gt;                        &lt;b&gt;~~~ItemDescription~~~&lt;/b&gt; (the item&#39;s description)&lt;br /&gt;                        &lt;b&gt;~~~ItemLink~~~&lt;/b&gt; (the item&#39;s link)&lt;br /&gt;                        &lt;b&gt;~~~ItemPubDate~~~ &lt;/b&gt;(the item&#39;s pub date/time                                  in RSS format)&lt;br /&gt;                        &lt;b&gt;~~~ItemPubLongDate~~~&lt;/b&gt; (the items&#39;s date                                  in your Windows long date format)&lt;br /&gt;                        &lt;b&gt;~~~ItemPubShortDate~~~ &lt;/b&gt;(the item&#39;s date                                  in your Windows short date format)&lt;br /&gt;                        &lt;b&gt;~~~ItemPubLongTime~~~&lt;/b&gt; (the item&#39;s time                                  in your Windows long time format)&lt;br /&gt;                        &lt;b&gt;~~~ItemPubShortTime~~~ &lt;/b&gt;(the item&#39;s time                                  in your Windows short time format)&lt;br /&gt;                        &lt;b&gt;~~~ItemEnclosureUrl~~~&lt;/b&gt; (the item&#39;s enclosure                                  URL)&lt;br /&gt;                        &lt;b&gt;~~~ItemGuid~~~&lt;/b&gt;(the item&#39;s GUID field value)&lt;br /&gt;               &lt;br /&gt;                        When the rss2html.php script runs, it will substitute                                  information from the RSS feed into the location                                  wherever a variable is found. For example, every                                  time ~~~FeedTitle~~~ is found in the template&#39;s                                  text, the Title from the RSS feed will be substituted.&lt;/p&gt;&lt;br /&gt;&lt;b&gt;Running rss2html.php                                  from FeedForAll&#39;s public server &lt;/b&gt;                               &lt;p&gt;If your webserver doesn&#39;t support PHP, then you                                  can run the rss2html.php script on FeedForAll&#39;s                                  public server instead. All you need to do is setup                                  a link on your website to access the script and                                  resulting webpage. &lt;/p&gt;                               &lt;p&gt; &lt;/p&gt;                               &lt;p&gt;&lt;b&gt;Syntax: &lt;/b&gt;&lt;/p&gt;                               &lt;p&gt;http://scripts.rss2html.com/public/rss2html.php?XMLFILE=&lt;your-rss-feed&gt;&amp;TEMPLATE=&lt;your-template&gt;&amp;amp;MAXITEMS=&lt;maxitems&gt;&lt;/maxitems&gt;&lt;/your-template&gt;&lt;/your-rss-feed&gt;&lt;/p&gt;                               &lt;p&gt; &lt;/p&gt;                               &lt;p&gt;The above URL should all be on one line, with                                  no spaces. &lt;/p&gt;                               &lt;p&gt;&lt;br /&gt;                          Replace &#39;&lt;your-rss-feed&gt;&#39; with the full                                  URL to your RSS feed (ie. http://www.mydomain.com/myfeed.xml)&lt;/your-rss-feed&gt;&lt;/p&gt;                               &lt;p&gt;&lt;br /&gt;                          Replace &#39;&lt;your-template&gt;&#39; with the full                                  URL to the webpage template you want to use (ie.                                  http://mydomain.com/mytemplate.htm)&lt;/your-template&gt;&lt;/p&gt;                               &lt;p&gt; &lt;/p&gt;                               &lt;p&gt;Replace &#39;&lt;max-items&gt;&#39; with the maximium                                  number of items from your RS feed you want included                                  on the webpage. The MAXITEMS variable is optional.                                  If it is not included, all the RSS feed items                                  will be included.&lt;/max-items&gt;&lt;/p&gt;                               &lt;p&gt;&lt;br /&gt;                          Sample:&lt;a href=&quot;http://feedforall.com/rss2html.php?XMLFILE=http://www.rss-specifications.com/blog-feed.xml&amp;TEMPLATE=http://www.rss-specifications.com/template.htm&amp;amp;MAXITEMS=10&quot; target=&quot;_blank&quot;&gt;&lt;br /&gt;http://feedforall.com/rss2html.php?XMLFILE=http://www.rss-specifications.com/blog-feed.xml&amp;TEMPLATE=http://www.rss-specifications.com/template.htm&amp;amp;MAXITEMS=10 &lt;/a&gt;&lt;br /&gt;                   &lt;br /&gt;                        &lt;/p&gt;                               &lt;p&gt;&lt;b&gt;&lt;a name=&quot;own&quot;&gt;&lt;/a&gt;Running rss2html.php from                                  your own webserver &lt;/b&gt;&lt;br /&gt;                          Probably the best way to use rss2html.php is to                                  upload it to your own webserver. This gives you                                  two ways to access the script. First, you can                                  setup a link on your webpage to access the script                                  and resulting webpage. &lt;/p&gt;                               &lt;p&gt; &lt;/p&gt;                               &lt;p&gt;http://&lt;your-domain&gt;/rss2html.php?XMLFILE=&lt;your-rss-feed&gt;&amp;TEMPLATE=&lt;your-template&gt;&amp;amp;MAXITEMS=&lt;maxitems&gt; &lt;/maxitems&gt;&lt;/your-template&gt;&lt;/your-rss-feed&gt;&lt;/your-domain&gt;&lt;/p&gt;                               &lt;p&gt;&lt;br /&gt;                          Replace &#39;&lt;your-domain&gt;&#39; with the domain                                  of your website&lt;/your-domain&gt;&lt;/p&gt;                               &lt;p&gt;&lt;br /&gt;                          Replace &#39;&lt;your-rss-feed&gt;&#39; with the full                                  URL to your RSS feed (i.e. http://www.mydomain.com/myfeed.xml)&lt;/your-rss-feed&gt;&lt;/p&gt;                               &lt;p&gt;&lt;br /&gt;                          Replace &#39;&lt;your-template&gt;&#39; with the full                                  URL to the webpage template you want to use (i.e.                                  http://www.mydomain.com/mytemplate.htm)&lt;/your-template&gt;&lt;/p&gt;                               &lt;p&gt;&lt;br /&gt;                          Replace &#39;&lt;max-items&gt;&#39; with the maximium                                  number of items from your RS feed you want included                                  on the webpage. The MAXITEMS variable is optional.                                  If it is not included, all the RSS feed items                                  will be included.&lt;/max-items&gt;&lt;/p&gt;                               &lt;p&gt;&lt;br /&gt;                          &lt;b&gt;Sample:&lt;/b&gt;&lt;a href=&quot;http://feedforall.com/rss2html.php?XMLFILE=blog-feed.xml&amp;TEMPLATE=samplefeedtemplate.htm&amp;amp;MAXITEMS=10&quot; target=&quot;_blank&quot;&gt;&lt;br /&gt;http://feedforall.com/rss2html.php?XMLFILE=blog-feed.xml&amp;TEMPLATE=samplefeedtemplate.htm&amp;amp;MAXITEMS=10&lt;/a&gt;&lt;br /&gt;                   &lt;br /&gt;                   &lt;br /&gt;                          The second option is to edit the settings inside                                  of the rss2html.php script itself, and then just                                  access the script as if it were a regular webpage.                           &lt;br /&gt;                   &lt;br /&gt;                          With a text editor open up the rss2html.php file.                                  Look for the line near the beginning that looks                                  like this: &lt;/p&gt;                               &lt;p&gt;&lt;br /&gt;                          $XMLfilename = &quot;sample.xml&quot;; &lt;/p&gt;                               &lt;p&gt;&lt;br /&gt;                          Replace sample.xml with either the local path                                  or full URL to your RSS feed file.&lt;/p&gt;                               &lt;p&gt;&lt;br /&gt;                          Next, find the line that looks like this: &lt;/p&gt;                               &lt;p&gt;&lt;br /&gt;                          $TEMPLATEfilename = &quot;BasicWebpage.htm&quot;;&lt;br /&gt;                   &lt;br /&gt;                          Replace BasicWebpage.htm with either the local                                  path or full URL to your template file.&lt;br /&gt;                   &lt;br /&gt;                          Finally, if you want to specify the maximum number                                  of items to include from your feed, find the line                                  that looks like this:&lt;br /&gt;                   &lt;br /&gt;                          $FeedMaxItems = 10000;&lt;br /&gt;                   &lt;br /&gt;                          Replace 10000 with the maximum number of items                                  you want.&lt;br /&gt;                   &lt;br /&gt;                          Save the file with a new name (what you want to                                  call it on your website), but make sure to keep                                  the .php extension.&lt;br /&gt;                   &lt;br /&gt;                          For example, if you named it &#39;myfeed.php&#39;, you                                  can now access it from your browser by typing:                                  http://&lt;your-domain&gt;/myfeed.php&lt;br /&gt;                   &lt;br /&gt;                          &lt;b&gt;Sample:&lt;/b&gt;&lt;br /&gt;                          &lt;a href=&quot;http://www.feedforall.com/blog.php&quot; target=&quot;_blank&quot;&gt;http://www.feedforall.com/blog.php                                  &lt;/a&gt;&lt;/your-domain&gt;&lt;/p&gt;                               &lt;p&gt;&lt;b&gt;&lt;a name=&quot;samples&quot;&gt;&lt;/a&gt;Examples of the RSS to                                  HTML PHP script in action: &lt;/b&gt; &lt;/p&gt;                               &lt;p&gt;&lt;a href=&quot;http://www.feedforall.com/blog.htm&quot; target=&quot;_blank&quot;&gt;http://www.feedforall.com/blog.htm&lt;/a&gt;                                  (FeedForAll&#39;s main RSS feed, using the rss2html.php                                  script) &lt;/p&gt;                               &lt;p&gt;&lt;a href=&quot;http://www.feedforall.com/public/layouts.htm&quot; target=&quot;_blank&quot;&gt;http://www.feedforall.com/public/layouts.htm&lt;/a&gt;                                  (lots of sample pages) &lt;/p&gt;                               &lt;p&gt;&lt;a href=&quot;http://www.small-business-software.net/&quot; target=&quot;_blank&quot;&gt;http://www.small-business-software.net&lt;/a&gt;                                  (the main page is actually the rss2html.php script                                  being run) &lt;/p&gt;                               &lt;p&gt;&lt;a href=&quot;http://www.create-rss.com/&quot; target=&quot;_blank&quot;&gt;http://www.create-rss.com                                  &lt;/a&gt;(the main page is actually the rss2html.php                                  script being run) &lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114550740623919352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114550740623919352' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114550740623919352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114550740623919352'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/04/free-rss-to-html-php-script.html' title='free RSS to HTML PHP script'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114543257437379152</id><published>2006-04-19T00:38:00.000-07:00</published><updated>2006-05-29T22:51:03.966-07:00</updated><title type='text'>RDP Server for linux</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/blogger/6545/2077/1600/screenshot.jpg&quot;&gt;&lt;img style=&quot;FLOAT: left; MARGIN: 0pt 10px 10px 0pt; CURSOR: pointer&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/6545/2077/320/screenshot.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;By Justin Silverton&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;While looking through the various open source projects on sourceforge.net, I found a very interesting application: an RDP server for linux. it&#39;s called XRDP, and it is available &lt;a href=&quot;http://xrdp.sourceforge.net&quot;&gt;Here&lt;/a&gt;. Why do you need this? It will allow you to connect to a linux box using the RDP client built into windows.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How it works&lt;br /&gt;&lt;/strong&gt;&lt;p&gt;Xrdp is the main server accepting connections from RDP clients. Xrdp contains the RDP, security, MCS, ISO, and TCP layers, a simple window manager and a few controls. Its a multi threaded single process server. It is in this process were the central management of the sessions are maintained. Central management includes shadowing a session and administrating pop ups to users. xrdp is control by the configuration file xrdp.ini.&lt;/p&gt;&lt;p&gt;RDP has 3 security levels between the RDP server and RDP client. Low, medium and high. Low is 40 bit, data from the client to server is encrypted, Medium is 40 bit encryption both ways and High is 128 bit encryption both ways. xrdp currently only supports low encryption. RSA key exchange is used with both client and server randoms to establish the RC4 keys before the client connect.&lt;/p&gt;&lt;p&gt;Modules are loaded at runtime to provide the real functionality. Many different modules can be created to present one of many different desktops to the user. The modules are loadable to conserve memory and support both GPL and non GPL modules.&lt;/p&gt;&lt;p&gt;Multi threaded to provide optimal user performance. One client can&#39;t slow them all down. One multi threaded process is also required for session shadowing with any module. The module doesn&#39;t have to consider shadowing, the xrdp server does it. For example, you could shadow a VNC, RDP or a custom module session all from the same shadowing tool.&lt;/p&gt;&lt;p&gt;Build in window manager for sending pop ups to any user running any module. Also can be user to provide connection errors or prompts.&lt;/p&gt;&lt;p&gt;Libvnc, a VNC module for xrdp. Libvnc provides a connection to VNC servers. Its a simple client only supporting a few VNC encodings(raw, cursor, copyrect). Emphasis on being small and fast. Normally, the xrdp server and the Xvnc server are the same machine so bitmap compression encodings would only slow down the session.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;Librdp, an RDP module for xrdp. Librdp provides a connection to RDP servers. It only supports RDP4 connections currently.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Sesman, the session manager. Sesman is xrdp&#39;s session manager. xrdp connect to sesman to verify the user name / password, and also starts the user session if credentials are ok. This is a multi process / Linux only session manager. Sessions can be started or viewed from the command line.&lt;/p&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;Screenshots&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://photos1.blogger.com/blogger/6545/2077/1600/screenshot_fedora.jpg&quot;&gt;&lt;img style=&quot;FLOAT: left; MARGIN: 0pt 10px 10px 0pt; CURSOR: pointer&quot; alt=&quot;&quot; src=&quot;http://photos1.blogger.com/blogger/6545/2077/320/screenshot_fedora.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114543257437379152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114543257437379152' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114543257437379152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114543257437379152'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/04/rdp-server-for-linux.html' title='RDP Server for linux'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114538029117677708</id><published>2006-04-18T10:11:00.000-07:00</published><updated>2006-06-14T16:58:28.453-07:00</updated><title type='text'>migrating from Microsoft access to mysql</title><content type='html'>&lt;strong&gt;By Justin Silverton&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Why use mysql instead of access?&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Cost&lt;/strong&gt;. MySQL is free. Access is not. Mysql can also run on a variety of hardware and operating systems, which does not limit you to proprietary software.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Multiple-user access.&lt;/strong&gt;&lt;br /&gt;MySQL can handle many simultaneous users. It was designed from the ground up to run in a shared environment that is capable of taking on a large numbers of clients.&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Management of large databases&lt;/strong&gt;. MySQL can manage gigabytes of data, and more. This is possible in access, but not recommended.&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Security&lt;/strong&gt;. When Access tables are stored locally, anyone can run Access, and see your tables. It&#39;s possible to assign a database a password, but many people forget to do this. When your tables are stored in MySQL, the MySQL server manages security. Anyonetrying to access your data must know the proper user&lt;br /&gt;name and password.&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Centralized backup location&lt;/strong&gt;. If individual Access users each store their data locally, backups can be more complicated: 200 users means 200 table backups. While some sites address this problem through the use of network backups, others deal with it by making backups the responsibility of individual machine owners--which usually means no backups at all. Mysql allows you to have one centralized location that can be backed up on a regular basis by a system administrator or DBA.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Manually transferring your data&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;One way to transfer your data is export all the data from each table (using the file-&gt;export command) to a comma delimited text file (CSV). It can then be imported back into mysql using the following commands (from the mysql console client):&lt;br /&gt;&lt;br /&gt;mysql&gt; use mydatabase;&lt;br /&gt;mysql&gt; LOAD DATA LOCAL INFILE &#39;my_access_table.txt&#39;&lt;br /&gt;-&gt; INTO TABLE mytable&lt;br /&gt;-&gt; FIELDS TERMINATED BY &#39;,&#39; ENCLOSED BY &#39;&quot;&#39;&lt;br /&gt;-&gt; LINES TERMINATED BY &#39;\r\n&#39;;&lt;br /&gt;&lt;br /&gt;you could also use mysqlimport&lt;br /&gt;&lt;br /&gt;mysqlimport --local --fields-terminated-by=,&lt;br /&gt;--fields-enclosed-by=&#39;&quot;&#39;&lt;br /&gt;--lines-terminated-by=&#39;\r\n&#39;&lt;br /&gt;mydatabase my_access_table.txt&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;using a program&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The following are program you can use to transfer the tables for you:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href=&quot;http://www.dbtools.com.br/&quot;&gt;DBTools&lt;/a&gt; (free)&lt;/strong&gt; Works with Access97, Access2000. DBTools actually is intended primarily as an application for administering MySQL, but it includes data import capabilities that can be used to read Access databases for transfer to MySQL. (It can also read data from other sources such as Excel spreadsheets, making it particularly useful for transferring to MySQL information that is stored in a variety of formats.) Because DBTools reads Access databases directly, you can use it to migrate Access tables even if you don&#39;t have Access installed locally, as long as you have the database files containing the tables to be transferred. DBTools does not require ODBC.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href=&quot;http://www.mysqlfront.de/&quot;&gt;MySQLFront&lt;/a&gt; (free 30 day trial)&lt;/strong&gt; MySQLFront is similar in many ways to DBTools. It can read Access97 and Access2000 files directly. If ODBC is installed, MySQLFront can import information into MySQL from ODBC data sources over the network.</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114538029117677708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114538029117677708' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114538029117677708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114538029117677708'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/04/migrating-from-microsoft-access-to.html' title='migrating from Microsoft access to mysql'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114487303964466603</id><published>2006-04-14T12:08:00.000-07:00</published><updated>2006-07-23T12:16:25.076-07:00</updated><title type='text'>PHP vs perl</title><content type='html'>&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;By Justin Silverton&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;if you have a php, programming, or open source related blog, email me your url here: &lt;/strong&gt;&lt;a href=&quot;mailto:justin@whenpenguinsattack.com&quot;&gt;&lt;strong&gt;justin@whenpenguinsattack.com&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;PHP and perl are both powerful languages used successfully in a server environment. Here are some brief differences between the two languages:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;PHP is built from the ground-up with database functionality built in, particularly MySQL functionality. Perl is not.&lt;/li&gt;&lt;li&gt;PHP code gets embedded into HTML pages, unlike Perl. This makes it very fast to code web pages and fast to deploy a new site, thus speeding up Web development and lowering overall cost of ownership. An important code management technique for programmers is separating code from data. This allows us to make changes to the code or data without affecting the other. PHP uses the tags to indicate &quot;code inside&quot;. In Perl, however, programmers are encouraged to use print statements to generate the HTML. True it is possible to implement templates in Perl (with more difficulty than in PHP) to separate code and HTML, but 90% of sample Perl code on the web doesn&#39;t do that.&lt;/li&gt;&lt;li&gt;PHP is secure. Perl scripts tend to have more security holes. This is because PHP has built-in a lot of the internal operations of dealing with web page requests and serving information.&lt;/li&gt;&lt;li&gt;PHP is easy to learn in comparison to Perl. It&#39;s easier to learn than C, Python, Java, and most other programming languages used in web development, for that matter. The Perl style of programming is unique, and thus not universally applicable to or from other programming languages. Accessing web form variables in PHP is straightforward, but in Perl requires either detailed knowledge of either HTTP header formats or one of many Perl CGI libraries.&lt;/li&gt;&lt;li&gt;PHP takes less &quot;overhead&quot; than Perl, meaning that PHP scripts will run faster than CGI scripts written in Perl, and you&#39;ll be able to handle more simultaneous users on your site. &lt;/li&gt;&lt;li&gt;PHP code tends to be more consistent and modular than Perl.&lt;/li&gt;&lt;/ul&gt;some other differences can also be found here: &lt;a href=&quot;http://tnx.nl/php&quot;&gt;http://tnx.nl/php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A few of them are listed below (the rest can be found at the website listed above):&lt;br /&gt;&lt;br /&gt;&lt;h2 id=&quot;case&quot;&gt;PHP has separate functions for case insensitive operations&lt;/h2&gt;&lt;p&gt;(This can be argued both ways. Some think it&#39;s good to have functions that combine functions, even if that means having dozens of extra names to remember) &lt;/p&gt;&lt;p&gt;In Perl, you use a double lc() (lowercase) or the /i flag where PHP usually provides a case insensitive variant. The case-insensitive versions have very inconsistent naming. &lt;/p&gt;&lt;pre&gt;Perl: $foo cmp $bar                            lc $foo cmp lc $bar&lt;br /&gt;PHP:  strcmp($foo, $bar)                       strcasecmp($foo, $bar)&lt;br /&gt;&lt;br /&gt;Perl: index($foo, $bar)                        index(lc $foo, lc $bar)&lt;br /&gt;PHP:  strpos($foo, $bar)                       stripos($foo, $bar)&lt;br /&gt;&lt;br /&gt;Perl: $foo =~ s/foo/bar/                       $foo =~ s/foo/bar/i&lt;br /&gt;PHP:  $foo = str_replace(&#39;foo&#39;, &#39;bar&#39;, $foo)   $foo = str_ireplace(...)&lt;br /&gt;PHP:  $foo = ereg_replace(&#39;foo&#39;, &#39;bar&#39; ,$foo)  $foo = eregi_replace(...)&lt;br /&gt;&lt;/pre&gt;&lt;h2 id=&quot;names&quot;&gt;PHP has inconsistent function naming&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Case insensitive functions have the &#39;i&#39; or &#39;case&#39; at different positions in their names.&lt;/li&gt;&lt;li&gt;There is no apparent system in underscore(s) versus no underscore(s): &lt;pre&gt;underscore               no underscore:&lt;br /&gt;&lt;br /&gt;stream_get_line          readline&lt;br /&gt;disk_free_space          diskfreespace&lt;br /&gt;is_object                isset&lt;br /&gt;mcal_day_of_week         jddayofweek&lt;br /&gt;set_error_handler        setlocale&lt;br /&gt;snmp_get_quick_print     snmpget&lt;br /&gt;get_browser              getallheaders&lt;br /&gt;base64_encode            urlencode&lt;br /&gt;image_type_to_mime_type  imagetypes&lt;br /&gt;msql_num_fields          mysql_numfields&lt;br /&gt;php_uname                phpversion&lt;br /&gt;strip_tags               stripslashes&lt;br /&gt;bind_textdomain_codeset  bindtextdomain&lt;br /&gt;cal_to_jd                gregoriantojd&lt;br /&gt;str_rot13                strpos&lt;br /&gt;&lt;/pre&gt;Perl has no core function names with underscores in them. &lt;/li&gt;&lt;li&gt;PHP has unlink, link and rename (system calls), but touch (the system call is utime, not touch).&lt;/li&gt;&lt;li&gt;And they can&#39;t decide on word order: &lt;ul&gt;&lt;li&gt;object verb: base64_decode, iptcparse, str_shuffle, var_dump&lt;/li&gt;&lt;li&gt;verb object: create_function, recode_string&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Perl core functions are all &quot;verb object&quot; except the superseded dbm* functions. (Note that sys is a prefix, not an object. And that flock and lstat were named after the system calls. shm* and msg* are library calls) &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&quot;to&quot; or &quot;2&quot;? &lt;p&gt;ascii2ebcdic, bin2hex, deg2rad, ip2long, cal_to_jd (jdto*, *tojd), strtolower, strtotime, &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 id=&quot;scope&quot;&gt;PHP has no lexical scope&lt;/h2&gt;&lt;p&gt;Perl has lexical scope and dynamic scope. PHP doesn&#39;t have these. &lt;/p&gt;&lt;p&gt;For an explanation of why lexical scope is important, see &lt;a href=&quot;http://perl.plover.com/FAQs/Namespaces.html&quot;&gt;Coping with Scoping&lt;/a&gt;. &lt;/p&gt;&lt;pre&gt;                       PHP  Perl&lt;br /&gt;Superglobal            Yes  Yes [1]&lt;br /&gt;Global                 Yes  Yes&lt;br /&gt;Function local         Yes  Yes [2]&lt;br /&gt;Lexical (block local)  No   Yes&lt;br /&gt;Dynamic                No   Yes&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;[1] Perl has variables that are always in the main:: namespace. These are like PHP&#39;s superglobals.&lt;br /&gt;[2] Using a lexical variable in a sub routine&#39;s block, you get a function local variable. &lt;/p&gt;&lt;h2 id=&quot;bloat&quot;&gt;PHP has too many functions in the main namespace&lt;/h2&gt;&lt;p&gt;(Using the core binaries compiled with all possible extensions in the core distribution, using recent versions in November 2003.) &lt;/p&gt;&lt;pre&gt;Number of PHP  main functions: 3079 [1]&lt;br /&gt;Number of Perl main functions:  206 [2]&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;Median PHP  function name length: 13&lt;br /&gt;Mean   PHP  function name length: 13.67&lt;br /&gt;Median Perl function name length:  6&lt;br /&gt;Mean   Perl function name length:  6.22&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Note that Perl has short syntax equivalents for some functions: &lt;/p&gt;&lt;pre&gt;readpipe(&#39;ls -l&#39;) ==&gt; `ls -l`&lt;br /&gt;glob(&#39;*.txt&#39;)     ==&gt; &lt;*.txt&gt;&lt;br /&gt;readline($fh)     ==&gt; &lt;$fh&gt;&lt;br /&gt;quotemeta($foo)   ==&gt; &quot;\Q$foo&quot;&lt;br /&gt;lcfirst($foo)     ==&gt; &quot;\l$foo&quot;  (lc is \L)&lt;br /&gt;ucfirst($foo)     ==&gt; &quot;\u$foo&quot;  (uc is \U)&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;[1] Source: &lt;a href=&quot;http://www.php.net/quickref.php&quot;&gt;PHP Quick Reference&lt;/a&gt;&lt;br /&gt;[2] Source: &lt;a href=&quot;http://tnx.nl/func&quot;&gt;perldoc perlfunc&lt;/a&gt; &lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114487303964466603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114487303964466603' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114487303964466603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114487303964466603'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/04/php-vs-perl.html' title='PHP vs perl'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-20648899.post-114487489839169045</id><published>2006-04-12T13:46:00.000-07:00</published><updated>2006-10-31T13:57:34.066-08:00</updated><title type='text'>10 PHP speed improvement tips for apache</title><content type='html'>&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;By Justin Silverton&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A French Translation can be found here: &lt;/strong&gt;&lt;a href=&quot;http://www.vecteur-renaissance.com/vhoen/index.php/2006/04/15/27-10-conseils-pour-accelerer-des-scripts-php&quot;&gt;&lt;strong&gt;http://www.vecteur-renaissance.com/vhoen/index.php/2006/04/15/27-10-conseils-pour-accelerer-des-scripts-php&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;A PHP script will be served at least 5-10 times slower than a static HTML page by Apache. Try to use more static HTML pages and fewer scripts. &lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;Enable the compression of HTML by putting in your php.ini: &lt;p&gt;&lt;code&gt;output_handler = ob_gzhandler&lt;/code&gt; &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;Install a PHP caching suite. I have personally used zend (commercial), turck mmcache, and ioncube, and they all work very well. &lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;Switch from file based sessions to shared memory sessions. Compile PHP with the &lt;i&gt;--with-mm &lt;/i&gt;option and set &lt;i&gt;session.save_handler=mm &lt;/i&gt;in php.ini. This can drastically improve session management performance.&lt;/li&gt;&lt;li&gt;Another caching technique that can be used when you have pages that don&#39;t change too often is to cache the HTML output of your PHP pages. (a list of template solutions is posted within one of my previous articles). &lt;/li&gt;&lt;li&gt;Use output buffering (See &lt;a href=&quot;http://php.net/ob_start&quot;&gt;ob_start&lt;/a&gt;). This will speed up your PHP code by 5-15% if you frequently print or echo in your code.&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;On Windows, &lt;a href=&quot;http://www.fastcgi.com/&quot;&gt;FastCGI&lt;/a&gt; is the highest performance way of running PHP with Apache. &lt;span style=&quot;color:maroon;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;In PHP4, objects and arrays should be passed to functions by reference (with &amp;), and everything else by value. In PHP5, objects are already passed by reference. Here is an example:&lt;br /&gt;&lt;pre&gt;function &amp;amp;testfunc(&amp;$test_array)&lt;br /&gt;{&lt;br /&gt;return $test_array;&lt;br /&gt;}&lt;br /&gt;$new_variable =&amp; testfunc($my_testarr);&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;Don&#39;t use images when text will do. Reduce your image sizes with a software like MacroMedia Fireworks or imagemagick.&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;If possible, Run your database server on a different machine. If all static content is served from another server, then you can turn off KeepAlives&lt;i&gt; &lt;/i&gt;in httpd.conf to speed up client disconnects. &lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://blinduser.blogspot.com/feeds/114487489839169045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=20648899&amp;postID=114487489839169045' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114487489839169045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20648899/posts/default/114487489839169045'/><link rel='alternate' type='text/html' href='http://blinduser.blogspot.com/2006/04/10-php-speed-improvement-tips-for.html' title='10 PHP speed improvement tips for apache'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry></feed>