<?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: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-5006297</id><updated>2011-09-28T17:34:19.852-04:00</updated><category term='Run BASIC Hosting'/><category term='Run Basic'/><category term='History'/><category term='Other BASICs'/><category term='Windows'/><category term='Liberty Basic'/><category term='General'/><category term='8051'/><category term='Troubleshooting'/><category term='Books'/><title type='text'>Simple Computing</title><subtitle type='html'>Liberty Basic, Run Basic and other interesting tech talk!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>38</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5006297.post-7835505910257973489</id><published>2010-12-30T21:59:00.008-05:00</published><updated>2010-12-30T22:20:03.467-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Basic'/><title type='text'>Liberty Basic in 2010</title><content type='html'>This past year has seen some modest progress in the world of Liberty Basic:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Carl published a book titled &lt;a href="http://www.amazon.com/gp/product/0557228115?ie=UTF8&amp;amp;tag=simplcompu04-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0557228115"&gt;Beginning Programming with Liberty BASIC&lt;/a&gt;. This is a great book -- I read it from cover to cover. Even if you're an experienced programmer, it is a fast way to get the gist of the language and you may even pick up a few new things along the way.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Liberty Basic 4.04. This release offers better compatibility with Windows Vista and 7. It also fixes some bugs. I think it will be the last release of the 4.x version.&lt;/li&gt;&lt;li&gt;Liberty Basic Pro. This is just 4.04 and Assist combined into a single product.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Hopefully 2011 will be the year of Run Basic.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-7835505910257973489?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/7835505910257973489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=7835505910257973489' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/7835505910257973489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/7835505910257973489'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2010/12/liberty-basic-in-2010.html' title='Liberty Basic in 2010'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-8426486733876271377</id><published>2010-03-24T09:58:00.007-04:00</published><updated>2010-03-24T10:26:19.070-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>How to set the System Restore and Shadow Copy storage limit in Windows Vista</title><content type='html'>I ran into a problem recently where Windows Vista kept using up all of my available disk space for System Restore and Shadow Copy storage. There is a feature in the Disk Cleanup utility that lets you manually delete all but the most recent snapshot. I did that for months before I finally took the time to figure out how to set the limit.&lt;br /&gt;&lt;br /&gt;My problem was pretty extreme. My HP Pavilion laptop has a 105 gig disk drive. I have about 47 gigs free and over a period of about a month, Vista would use it all up. Vista is supposed to use only 15% of the hard disk for this storage, but apparently sometimes that limit can become UNBOUNDED. I don't know how that happens.&lt;br /&gt;&lt;br /&gt;To see the current setpoint for your system, go to a command prompt and type the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;vssadmin list shadowstorage&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You should see something like the following:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_D4PcRmWialQ/S6ofOMUrD3I/AAAAAAAAABM/2O_cItjOsIQ/s1600/vssadmin+list+shadowstorage.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 201px;" src="http://4.bp.blogspot.com/_D4PcRmWialQ/S6ofOMUrD3I/AAAAAAAAABM/2O_cItjOsIQ/s400/vssadmin+list+shadowstorage.jpg" alt="" id="BLOGGER_PHOTO_ID_5452204627571969906" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To change the current setpoint for your system, type the following but change what's necessary to match your system. For example, you may need to change the drive letter and storage size to fit your needs.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;vssadmin Resize ShadowStorage /On=C: /For=C: /MaxSize=5GB&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;That should fix your problem! If you run into an issue, please let me know by adding a comment to this post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-8426486733876271377?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/8426486733876271377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=8426486733876271377' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/8426486733876271377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/8426486733876271377'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2010/03/how-to-set-system-restore-and-shadow.html' title='How to set the System Restore and Shadow Copy storage limit in Windows Vista'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_D4PcRmWialQ/S6ofOMUrD3I/AAAAAAAAABM/2O_cItjOsIQ/s72-c/vssadmin+list+shadowstorage.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-7332229520206208646</id><published>2010-01-18T08:32:00.003-05:00</published><updated>2010-01-18T08:46:34.646-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Run Basic'/><category scheme='http://www.blogger.com/atom/ns#' term='Run BASIC Hosting'/><title type='text'>Run BASIC Hosting Service Launched</title><content type='html'>The new Run BASIC hosting service launched at midnight! Please visit &lt;a href="http://runbasichosting.com/"&gt;http://runbasichosting.com&lt;/a&gt; for more details. Monthly and annual subscriptions are available.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://runbasic.com/"&gt;Run BASIC&lt;/a&gt;, a product by ShopTalk Systems, is a tool that makes it easy to create your own web applications. &lt;span style="font-weight: bold;"&gt;No computer science degree required&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://runbasichosting.com/"&gt;Run BASIC Hosting&lt;/a&gt; is a service that makes it easy to deploy your applications to the Internet. &lt;span style="font-weight: bold;"&gt;No IT experience required&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-7332229520206208646?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/7332229520206208646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=7332229520206208646' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/7332229520206208646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/7332229520206208646'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2010/01/run-basic-hosting-service-launched.html' title='Run BASIC Hosting Service Launched'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-6947736352235370534</id><published>2009-12-30T07:20:00.003-05:00</published><updated>2009-12-30T07:27:58.863-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Run BASIC Hosting'/><title type='text'>Launch Date Set For Run BASIC Hosting Service</title><content type='html'>The launch date for the world's second Run BASIC hosting service is officially set for Monday, January 18th 2010.&lt;br /&gt;&lt;br /&gt;Details are available at &lt;a href="http://runbasichosting.com/"&gt;http://runbasichosting.com&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-6947736352235370534?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/6947736352235370534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=6947736352235370534' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/6947736352235370534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/6947736352235370534'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2009/12/launch-date-set-for-run-basic-hosting.html' title='Launch Date Set For Run BASIC Hosting Service'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-6650786954080442785</id><published>2009-12-13T07:41:00.004-05:00</published><updated>2009-12-13T08:16:29.598-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Run Basic'/><category scheme='http://www.blogger.com/atom/ns#' term='Run BASIC Hosting'/><title type='text'>New Run BASIC Hosting Service</title><content type='html'>&lt;span style="font-size:85%;"&gt;The first Run BASIC Hosting Service at &lt;a href="http://runbasicnet.com/"&gt;http://runbasicnet.com&lt;/a&gt; shutdown a few months ago. This happened just before I realized that I needed a hosting service for my own applications. If it shutdown a month later, I may have become one of Jerry's last customers.&lt;br /&gt;&lt;br /&gt;Personally, I don't want to rely on a server running in my home connected to the Internet through my Comcast cable modem. I know a lot of people do that and it's the cheapest way to go, but I did some testing and found that I have service interruptions almost every day. They are usually short and during the night, though. Plus, there are the occasional major outages both in cable service and power that usually happen during winter months or in bad weather. I live in Atlanta, so this doesn't happen often, but it's still often enough.&lt;br /&gt;&lt;br /&gt;Last month, I purchased a subscription for my own VPS (Virtual Private Server) at &lt;a href="http://vpsland.com/"&gt;VPSLand.&lt;/a&gt; I also started wondering if anyone else in the Run BASIC community would like to have a hosting service again.&lt;a href="http://runbasicnet.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt; I posted this &lt;a href="http://runbasic.proboards.com/index.cgi?board=runbasicnet&amp;amp;action=display&amp;amp;thread=1311"&gt;question &lt;/a&gt;on the forum and there was some interest, so I decided to throw my hat into the ring and start my own service for both myself and the Run BASIC community.&lt;br /&gt;&lt;br /&gt;The service will launch in January, 2010. Yesterday, I brought a new &lt;a href="http://runbasichosting.com/"&gt;website &lt;/a&gt;online that gives more details -- including pricing. It will be as affordable as the first hosting service with more features. My strategy is to start small, just as the Run BASIC community is still small and scale up as needed. The VPS -- instead of a dedicated server -- is the smartest starting point financially.&lt;br /&gt;&lt;br /&gt;The new address for the service is&lt;a href="http://runbasichosting.com/"&gt; http://www.runbasichosting.com&lt;/a&gt;.&lt;br /&gt;&lt;a href="http://www.runbasichosting.com/" target="_blank" rel="nofollow"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-6650786954080442785?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/6650786954080442785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=6650786954080442785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/6650786954080442785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/6650786954080442785'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2009/12/new-run-basic-hosting-service.html' title='New Run BASIC Hosting Service'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-1295492922543683932</id><published>2009-09-11T06:39:00.006-04:00</published><updated>2009-09-11T07:11:57.510-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='8051'/><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><title type='text'>New Book Published</title><content type='html'>I published a new book titled &lt;a href="http://www.amazon.com/gp/product/1441906053?ie=UTF8&amp;amp;tag=simplcompu04-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=1441906053"&gt;Embedded Software Development with C&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=simplcompu04-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=1441906053" alt="" style="border: medium none  ! important; margin: 0px ! important;" width="1" border="0" height="1" /&gt;. I am a co-author along with Dr. Kai Qian and Li Cao. The book is published by &lt;a href="http://www.springer.com/computer/programming/book/978-1-4419-0605-2"&gt;Springer.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It is a computer science textbook written primarily for CS and EE undergraduate students, but it is also a good introduction for working professionals interested in embedded software development. Hobbyists will also like the projects and step-by-step approach to the labs.&lt;br /&gt;&lt;br /&gt;The book takes a software engineering approach to programming the venerable 8051 microcontroller using the C language.&lt;br /&gt;&lt;br /&gt;The 8051 and C have been around for decades, so this book should have some long term value. It stands out from other 8051/C books because it covers Ethernet networking. Most 8051 books on the market don't make it past serial communications.&lt;br /&gt;&lt;br /&gt;Writing this book took me back 20 years to my EET days. I haven't bread-boarded circuits since the late 80's. It was a lot of fun designing the labs and making them work.&lt;br /&gt;&lt;br /&gt;The Ethernet chapter features an embedded web server project using an AJAX page for displaying data from the microcontroller. Pretty cool considering the resource constraints.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-1295492922543683932?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/1295492922543683932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=1295492922543683932' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/1295492922543683932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/1295492922543683932'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2009/09/new-book-published.html' title='New Book Published'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-2476577587383072392</id><published>2009-06-29T14:51:00.005-04:00</published><updated>2009-06-29T15:08:03.444-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>How to open the target folder of a Windows shortcut</title><content type='html'>Sometimes I need to open the target folder of a shortcut on my desktop.&lt;br /&gt;&lt;br /&gt;In Windows Vista (and the upcoming Windows 7), you just right click on the shortcut and select &lt;span style="font-weight: bold;"&gt;Open File Location&lt;/span&gt;. In Windows XP, however, you don't have this option.&lt;br /&gt;&lt;br /&gt;In the past (and in haste), I would right click on the shortcut, select &lt;span style="font-weight: bold;"&gt;Properties&lt;/span&gt; and then copy and paste the already selected target field into Windows Explorer. This works, but it takes extra steps to accomplish the task. There's an easier way:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Right click on the shortcut.&lt;/li&gt;&lt;li&gt;Select &lt;span style="font-weight: bold;"&gt;Properties.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Click the &lt;span style="font-weight: bold;"&gt;Find Target&lt;/span&gt; button. The shortcut's target folder (or containing folder) will open.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;This method seems obvious, but is easy to miss if you're in a hurry.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-2476577587383072392?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/2476577587383072392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=2476577587383072392' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/2476577587383072392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/2476577587383072392'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2009/06/how-to-open-target-folder-of-windows.html' title='How to open the target folder of a Windows shortcut'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-6984513031374587995</id><published>2008-12-15T14:17:00.004-05:00</published><updated>2008-12-15T14:43:48.772-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Run Basic'/><title type='text'>New Run BASIC Whitepaper</title><content type='html'>Carl has a new &lt;a href="http://www.libertybasic.com/RunBASICBreakthrough.pdf"&gt;Run BASIC whitepaper&lt;/a&gt; that's definitely worth reading. It is titled &lt;span style="font-style: italic;"&gt;Run BASIC - A Breakthrough Web Application Server&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;If you are new to Run BASIC but a veteran web programmer, be prepared to be shocked by how simple this is. No CGI scripting. No state management. HTML and Javascript knowledge is optional. In Run BASIC, there is an HTML statement that lets you embed custom code if you want.&lt;br /&gt;&lt;br /&gt;Embedding HTML/Javascript is still necessary to add AJAX type code for dynamic page updating, but I suspect that future versions of Run BASIC will integrate this as well. For a more traditional web interface everything you need is built-in:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Desktop-like control flow&lt;/li&gt;&lt;li&gt;No state management&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Graphics&lt;/li&gt;&lt;li&gt;SQLite database&lt;/li&gt;&lt;li&gt;HTML statement for embedding custom HTML and Javascript&lt;br /&gt;&lt;/li&gt;&lt;li&gt;SMTP statement for sending email&lt;br /&gt;&lt;/li&gt;&lt;li&gt;HTTP GET and POST statements for accessing other web sites and services&lt;br /&gt;&lt;/li&gt;&lt;li&gt;XML parser&lt;/li&gt;&lt;li&gt;Widgets with CSS styling&lt;/li&gt;&lt;li&gt;Easy component creation&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Oh yeah, I almost forgot. Carl released a &lt;a href="http://www.runbasic.com/"&gt;free&lt;/a&gt; version of Run BASIC 1.01. There is no login security or application publishing, but besides that it is the same as the full version which sells for $59.95. The free version is a great way to kick the tires -- even develop your application -- before you need to buy the full version for login security and deployment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-6984513031374587995?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/6984513031374587995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=6984513031374587995' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/6984513031374587995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/6984513031374587995'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2008/12/new-run-basic-whitepaper.html' title='New Run BASIC Whitepaper'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-8468312388868093778</id><published>2008-09-24T13:27:00.003-04:00</published><updated>2008-09-24T13:34:22.681-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Google's Design Principles</title><content type='html'>I actually found useful content on Google's corporate information page.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.google.com/corporate/ux.html"&gt;Google's Design Principles&lt;/a&gt;. I especially like #3.&lt;br /&gt;&lt;br /&gt;If you look at the navigation links on the left hand side of the page, there are other great links under the "Our Philosophy" section.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-8468312388868093778?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/8468312388868093778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=8468312388868093778' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/8468312388868093778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/8468312388868093778'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2008/09/googles-design-principles.html' title='Google&apos;s Design Principles'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-2975881370762315639</id><published>2008-06-23T08:30:00.003-04:00</published><updated>2008-09-24T13:36:50.768-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Run Basic'/><title type='text'>First Run Basic Hosting Service</title><content type='html'>Jerry &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Muelver&lt;/span&gt; of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Hytext&lt;/span&gt; Consulting has launched the first &lt;a href="http://runbasicnet.com/"&gt;Run Basic Hosting Service&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Account features include:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Dedicated Run Basic server.&lt;/li&gt;&lt;li&gt;Secure folder with FTP access.&lt;/li&gt;&lt;li&gt;Static &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;IP&lt;/span&gt; address.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;A subscription is $60 for 6 months ($10/month). Jerry just announced a $5, 1-month trial.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-2975881370762315639?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/2975881370762315639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=2975881370762315639' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/2975881370762315639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/2975881370762315639'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2008/06/first-run-basic-hosting-service.html' title='First Run Basic Hosting Service'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-7458840194127469201</id><published>2008-03-29T07:45:00.007-04:00</published><updated>2008-09-24T13:35:47.460-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Other BASICs'/><title type='text'>BBC Basic</title><content type='html'>A competitor to Liberty Basic from across the pond entered my radar in recent months. It's called &lt;a href="http://www.bbcbasic.co.uk/bbcwin/bbcwin.html"&gt;BBC Basic for Windows&lt;/a&gt; and it's maintained by &lt;a href="http://www.rtrussell.co.uk/"&gt;Richard T. Russell&lt;/a&gt; -- a sort of British Carl Gundel.&lt;br /&gt;&lt;br /&gt;I was sufficiently impressed to buy a license and try it out as a testing tool for a project.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/BBC_BASIC"&gt;BBC Basic&lt;/a&gt; has a rich history that involves the &lt;a href="http://en.wikipedia.org/wiki/BBC_Micro"&gt;BBC Micro &lt;/a&gt;and &lt;a href="http://en.wikipedia.org/wiki/Acorn_Computers"&gt;Acorn&lt;/a&gt; computers. The history  of Acorn Computers parallels that of famous American companies like &lt;a href="http://en.wikipedia.org/wiki/Apple_computer"&gt;Apple &lt;/a&gt;and &lt;a href="http://en.wikipedia.org/wiki/Commodore_computer"&gt;Commodore&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;BBC Basic for Windows is a little more complicated than Liberty Basic, but it is also much faster and more powerful. I'll post updated Sieve benchmarks comparing Liberty Basic, Run Basic and BBC Basic in coming weeks.&lt;br /&gt;&lt;br /&gt;Liberty Basic and Run Basic were developed with different tools and differing philosophies:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Liberty Basic was written in Smalltalk and has some of Smalltalk characteristics like big strings and really big integers. To understand what I mean, open a workspace in &lt;a href="http://squeak.org/"&gt;Squeak &lt;/a&gt;Smalltalk and evaluate the following: &lt;span style="font-family:courier new;"&gt;&lt;span style="font-style: italic;"&gt;1024 factorial&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;BBC Basic was written in assembly language. It's fast, but has legacy power-of-two limits like 65535 character strings and program lines that can't exceed 251 characters.&lt;/li&gt;&lt;li&gt;Liberty Basic has integrated user interface statements. BBC Basic, however, keeps the core language small and moves user interface functions to external libraries. Liberty Basic doesn't support code libraries.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;My evaluation of BBC Basic continues, and I'll have more to say about it in future posts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-7458840194127469201?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/7458840194127469201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=7458840194127469201' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/7458840194127469201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/7458840194127469201'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2008/03/bbc-basic.html' title='BBC Basic'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-4414240662695375698</id><published>2008-02-22T08:02:00.002-05:00</published><updated>2008-02-22T08:10:12.680-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Run Basic'/><title type='text'>Two new Carl Gundel Interviews</title><content type='html'>There are two new podcast interviews of Carl Gundel by the guys at Cincom Smalltalk. Just in case you've missed some previous posts, Carl is the author of Liberty Basic (for Windows) and the new Run Basic (for the web).&lt;br /&gt;&lt;br /&gt;In both interviews, Carl discusses Run Basic:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cincomsmalltalk.com/blog/blogView?entry=3377692218"&gt;Industry Misinterpretations Episode 70: Run Basic, Run!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cincomsmalltalk.com/blog/blogView?entry=3378296271"&gt;Industry Misinterpretations Episode 71: Run Basic, Run! (Part 2)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-4414240662695375698?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/4414240662695375698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=4414240662695375698' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/4414240662695375698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/4414240662695375698'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2008/02/two-new-carl-gundel-interviews.html' title='Two new Carl Gundel Interviews'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-8561685231945475059</id><published>2008-01-09T08:30:00.000-05:00</published><updated>2008-01-09T18:55:42.615-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Run Basic'/><title type='text'>Run Basic 1.0 Released!</title><content type='html'>Run Basic Personal Server 1.0 is available for purchase at &lt;a href="http://runbasic.com/"&gt;http://runbasic.com/&lt;/a&gt;. The license price is $59.95. Here are some links organized by Alyce Watson, a long-time Liberty Basic community leader:&lt;br /&gt;&lt;br /&gt;If you haven't tried Run BASIC, you'll want to visit the free online trial version here:&lt;br /&gt;&lt;a href="http://runbasic.com/"&gt;http://runbasic.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The forum is here:&lt;br /&gt;&lt;a href="http://runbasic.proboards82.com/"&gt;http://runbasic.proboards82.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The community wiki is here:&lt;br /&gt;&lt;a href="http://runbasic.wikispaces.com/"&gt;http://runbasic.wikispaces.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;What is Run BASIC? It's a web programming language that includes a server. Read more here:&lt;br /&gt;&lt;a href="http://runbasic.wikispaces.com/FAQs"&gt;http://runbasic.wikispaces.com/FAQs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and here:&lt;br /&gt;&lt;a href="http://runbasic.wikispaces.com/WebServer"&gt;http://runbasic.wikispaces.com/WebServer&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Online documentation and tutorials:&lt;br /&gt;&lt;a href="http://www.runbasic.com/docs/rbhelp.html"&gt;http://www.runbasic.com/docs/rbhelp.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-8561685231945475059?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/8561685231945475059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=8561685231945475059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/8561685231945475059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/8561685231945475059'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2008/01/run-basic-released.html' title='Run Basic 1.0 Released!'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-6218093558625922523</id><published>2008-01-03T08:18:00.000-05:00</published><updated>2008-01-03T08:24:33.821-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Run Basic'/><title type='text'>Run Basic Official Release This Weekend</title><content type='html'>We're up to Release Candidate 3.&lt;br /&gt;&lt;br /&gt;Carl announced that he's preparing for the official release of Run Basic Personal Server 1.0 this weekend!&lt;br /&gt;&lt;br /&gt;The Run Basic &lt;a href="http://runbasic.proboards82.com/"&gt;forum&lt;/a&gt; is also open to the public. Only the "Run Basic Beta Testing" area requires a login.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-6218093558625922523?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/6218093558625922523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=6218093558625922523' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/6218093558625922523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/6218093558625922523'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2008/01/run-basic-official-release-this-weekend.html' title='Run Basic Official Release This Weekend'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-6313705935187692776</id><published>2007-12-21T15:28:00.000-05:00</published><updated>2007-12-21T15:52:13.166-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Run Basic'/><title type='text'>Run Basic RC1 Released</title><content type='html'>&lt;span style="font-family:arial;"&gt;Carl invited me to be a beta tester for his upcoming &lt;a href="http://runbasic.com/"&gt;Run Basic&lt;/a&gt; product about 4 months ago.&lt;br /&gt;&lt;br /&gt;This week he released Release Candidate 1 to the beta testing group. It's been exciting to see the evolution of RB from Beta 2 through Beta 5 to RC1.&lt;br /&gt;&lt;br /&gt;New features that aren't publicly available at &lt;a href="http://runbasic.com/"&gt;www.runbasic.com&lt;/a&gt; include:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;A new syntax to use objects. (e.g. #object method). You can see the Smalltalk influence and the syntax leverages a Liberty Basic programmer's conceptual model of handles.&lt;/li&gt;&lt;li&gt;An XMLparser object.&lt;/li&gt;&lt;li&gt;A SQLITE object.&lt;/li&gt;&lt;li&gt;A FILE object.&lt;/li&gt;&lt;li&gt;A TABLE object.&lt;/li&gt;&lt;li&gt;HTTPGet$ function that performs an HTTP GET.&lt;/li&gt;&lt;/ol&gt;Carl stated that there will be a few more release candidates before the official release of the Run Basic Personal Server. There will be an "Enterprise" version available at a later date which should include version control and enterprise database access.&lt;br /&gt;&lt;br /&gt;This release will be the most significant event in the Basic programming world since the introduction of Visual Basic for Windows.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-6313705935187692776?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/6313705935187692776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=6313705935187692776' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/6313705935187692776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/6313705935187692776'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2007/12/run-basic-rc1-released.html' title='Run Basic RC1 Released'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-6171611370549478651</id><published>2007-11-12T21:31:00.000-05:00</published><updated>2007-11-12T21:44:56.952-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Run Basic'/><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Basic'/><title type='text'>Tiny Basic 1.2 Progress</title><content type='html'>I'm working on the next release of Tiny Basic. Here's the latest list of enhancements:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Added GOSUB/RETURN statements.&lt;/li&gt;&lt;li&gt;Added TITLEBAR statement for the interpreter console.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Increased program lines from 100 to 1024.&lt;/li&gt;&lt;li&gt;Rewrote the MEM code.&lt;/li&gt;&lt;li&gt;Added runtime error handling in the interpreter. It trys to recover to the READY prompt.&lt;/li&gt;&lt;li&gt;Created test program for the interpreter (i.e. primitive unit testing).&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Granted that some of these changes are behind the scenes, but I'm trying to increase the robustness of the interpreter without refactoring it into something completely different.&lt;br /&gt;&lt;br /&gt;Before I release Tiny Basic 1.2, I still want to add these features:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;String variables (i.e. a$ -- z$).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;FOR/NEXT loops&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Fix known bugs in current version.&lt;/li&gt;&lt;/ol&gt;The work continues...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-6171611370549478651?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/6171611370549478651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=6171611370549478651' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/6171611370549478651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/6171611370549478651'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2007/11/tiny-basic-12-progress.html' title='Tiny Basic 1.2 Progress'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-332524583813598202</id><published>2007-10-18T23:00:00.000-04:00</published><updated>2007-10-18T23:27:23.850-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='History'/><title type='text'>The first BASIC</title><content type='html'>This blog is about simple computing. I view this from a programmer's rather than a user's perspective. With the BASIC language, though, this line has always been blurred.&lt;br /&gt;&lt;br /&gt;Simple computing started in 1963 when Kemeny and Kurtz first designed the BASIC language.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.bitsavers.org/pdf/dartmouth/BASIC_Oct64.pdf"&gt;Here&lt;/a&gt; is a scanned PDF of the original Dartmouth BASIC manual.&lt;br /&gt;&lt;br /&gt;Tools like &lt;a href="http://www.libertybasic.com"&gt;Liberty Basic&lt;/a&gt; and the upcoming &lt;a href="http://runbasic.com/"&gt;Run Basic&lt;/a&gt; are the true succesors to Dartmouth BASIC.&lt;br /&gt;&lt;br /&gt;There is nothing simple about Java, .NET and the tools festering around these platforms. Powerful, yes. Simple, no. Unlike Visual Basic 6 (and its predecessors), there is no attempt to strike a balance between simplicity and power.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-332524583813598202?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/332524583813598202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=332524583813598202' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/332524583813598202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/332524583813598202'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2007/10/first-basic.html' title='The first BASIC'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-8382119509944669369</id><published>2007-09-17T08:59:00.000-04:00</published><updated>2007-09-17T09:30:00.585-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Run Basic'/><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Basic'/><title type='text'>Carl Gundel Interviews</title><content type='html'>Over the past month, I've found several audio interviews with Carl Gundel. If you are interested in a behind-the-scenes look at Liberty Basic and Run Basic, then these are recommended listening:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Industry Misinterpretations 22: &lt;a href="http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;amp;printTitle=Industry_Misinterpretations_22:_Liberty_Basic_with_Carl_Gundel&amp;amp;entry=3348655747"&gt;Liberty Basic with Carl Gundel&lt;/a&gt; ( &lt;a href="http://www.cincomsmalltalk.com/audio/2007/industry_misinterpretations-02-11-07.mp3"&gt;mp3&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Shareware Radio Podcast: &lt;a href="http://sharewareradio.libsyn.com/index.php?post_id=202863"&gt;Interview with Carl Gundel&lt;/a&gt; (&lt;a href="http://media.libsyn.com/media/sharewareradio/sharewareradio53.mp3"&gt;mp3&lt;/a&gt;).&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Enjoy!&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-8382119509944669369?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/8382119509944669369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=8382119509944669369' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/8382119509944669369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/8382119509944669369'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2007/09/carl-gundel-interviews.html' title='Carl Gundel Interviews'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-6133598603623486795</id><published>2007-08-30T21:48:00.000-04:00</published><updated>2007-08-30T22:40:57.554-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Run Basic'/><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Basic'/><title type='text'>Tiny Basic Sieve Benchmark</title><content type='html'>Compared to the Sieve benchmarks in previous posts, Tiny Basic is very slow. In fact, it's much slower than I anticipated.&lt;br /&gt;&lt;br /&gt;I ran Tiny Basic on both the &lt;a href="http://runbasic.com/"&gt;Run Basic&lt;/a&gt; public server and Liberty Basic 4.03 on my laptop. Here are the numbers:&lt;br /&gt;&lt;br /&gt;&lt;iframe width='500' height='300' frameborder='0' src='http://spreadsheets.google.com/pub?key=puKN1jcf8dP41NDn6IZPyNQ&amp;output=html&amp;gid=0&amp;single=true&amp;widget=true'&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;After 5000, the Run Basic program exceeded the allowable time on the public server.&lt;br /&gt;&lt;br /&gt;The following is the Sieve program. I had to use IF statements because Tiny Basic doesn't have a FOR/NEXT loop yet.&lt;br /&gt;&lt;br /&gt;&lt;p style="margin: 0in 0in 0in 0.5in; font-family: Verdana; font-size: 10pt;"&gt; &lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;10 REM sieve2&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;20 REM ported to Tiny Basic from Liberty Basic by David den Haring&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;30 REM last updated: 8-14-07&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;40 REM s -- size, a() -- flags array, a -- start time, z -- end time&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;50 REM i -- loop counter, p -- prime, c -- prime count, k -- temp&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;60 s = 7000 : i = 1&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;70 a = ms&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;80 IF a(i) &gt; 0 THEN GOTO 300&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;90 p = (i + i + 3)&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;100 k = i + p&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;110 IF k &gt; s THEN GOTO 290&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;120 a(k) = 1&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;130 k = k + p&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;140 GOTO 110&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;290 c = c + 1&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;300 i = i + 1&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;310 IF i &gt; s THEN GOTO 400&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;320 GOTO 80&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;400 z = ms&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;410 PRINT c;&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;420 PRINT " primes found."&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;430 PRINT "End of iteration. Elapsed time in milliseconds: ";&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;440 PRINT z - a&lt;/p&gt;  &lt;p style="margin: 0in; font-family: courier new; font-size: 10pt;"&gt;450 END&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-6133598603623486795?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/6133598603623486795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=6133598603623486795' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/6133598603623486795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/6133598603623486795'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2007/08/tiny-basic-sieve-benchmark.html' title='Tiny Basic Sieve Benchmark'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-7642497346425777404</id><published>2007-08-23T09:58:00.000-04:00</published><updated>2007-08-23T10:57:59.173-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Run Basic'/><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Basic'/><title type='text'>Tiny Basic v1.1 Released</title><content type='html'>I posted a new version of Tiny Basic in both the &lt;a href="http://runbasic.wikispaces.com/Tiny+Basic+v1.1"&gt;Run Basic&lt;/a&gt; and &lt;a href="http://basic.wikispaces.com/Tiny+Basic+v1.1"&gt;Liberty Basic&lt;/a&gt; wikispaces.&lt;br /&gt;&lt;br /&gt;Here's a list of new features:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Added a fixed array accessible from the interpreter -- a(1) to a(7001). The size of the array can be adjusted by changing the &lt;span style="font-style: italic;"&gt;ArraySize&lt;/span&gt; variable in the code.&lt;/li&gt;&lt;li&gt;Added the functions &lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;seconds&lt;/span&gt; &lt;/span&gt;and&lt;span style="font-style: italic;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;ms&lt;/span&gt;&lt;/span&gt; (or &lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;milliseconds&lt;/span&gt;&lt;/span&gt;) for benchmarking purposes.&lt;/li&gt;&lt;li&gt;(LB4 only). Fixed LOAD and SAVE commands. The argument that these commands take is a number. For example, "&lt;span style="font-family: courier new;font-family:arial;" &gt;LOAD 1&lt;/span&gt;". The file saved in the working directory will be "TinyBas1".&lt;/li&gt;&lt;li&gt;(LB4 only). Fixed AutoRun feature. If a file exists in the working directory called "TinyBas0", it will load and run automatically when the interpreter starts up.&lt;/li&gt;&lt;li&gt;(LB4 only). Added KILL and DIR commands to round out file management. KILL takes the same numeric argument as LOAD and SAVE. The DIR command has no arguments. It will display a list of Tiny Basic files and the time stamp.&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;Known Issues:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;There is no file management for Run Basic yet. The file management code is commented out in the Run Basic version. The FILES command is still missing in Run Basic.&lt;/li&gt;&lt;li&gt;The &lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;seconds&lt;/span&gt;&lt;/span&gt; function does not work correctly. It will display milliseconds instead. This is a bug in version 2.27 of Run Basic that I haven't compensated for in the Tiny Basic code. This issue will be fixed in the near future.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;There is a range checking bug when printing a value in an array. For example, if you type "&lt;span style="font-family: courier new;font-family:arial;" &gt;PRINT a(7005)&lt;/span&gt;" and the array only goes up to 7001, then Liberty Basic will display a run-time error message. Range checking works properly, however, for assignment. This issue will be fixed in the near future.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The goal of this release was to add enough features to run the Sieve benchmark. I will post the Tiny Basic Sieve program and the results of the benchmark in another post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-7642497346425777404?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/7642497346425777404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=7642497346425777404' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/7642497346425777404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/7642497346425777404'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2007/08/tiny-basic-v11-released.html' title='Tiny Basic v1.1 Released'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-6191800668119032846</id><published>2007-08-08T16:12:00.001-04:00</published><updated>2007-08-23T10:02:40.855-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Run Basic'/><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Basic'/><title type='text'>Tiny Basic tinkering</title><content type='html'>One of the examples on the &lt;a href="http://runbasic.com/"&gt;Run Basic&lt;/a&gt; website is a port of &lt;a href="http://en.wikipedia.org/wiki/Tiny_Basic"&gt;Tiny Basic&lt;/a&gt;. It's fun to play with and is very much like the interactive, command line Basics found on early personal computers. In fact, I think Tiny Basic was the dialect used on the TRS-80 Model 1.&lt;br /&gt;&lt;br /&gt;I'm currently working on modifying Tiny Basic to run the Sieve benchmark. Tiny Basic needs two things: &lt;span style="font-weight: bold;"&gt;profiling&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;array support&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;I've already added profiling support for the &lt;span style="font-weight: bold;"&gt;RUN&lt;/span&gt; command. Tiny Basic now displays the running time of a program in milliseconds.&lt;br /&gt;&lt;br /&gt;The last step is to add array support. Tiny Basic only supports the numeric variables 'a' to 'z'. I'm adding a single array to the environment in order to port the Sieve program. The array will be called &lt;span style="font-weight: bold;"&gt;a().&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I will post the modified Tiny Basic code to the &lt;a href="http://runbasic.wikispaces.com/Sample+Code"&gt;Run Basic Programming Wiki&lt;/a&gt; when finished. The whole point of this exercise, however, is to see how fast the Tiny Basic interpreter runs the Sieve benchmark and compare it to the others in the last post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-6191800668119032846?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/6191800668119032846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=6191800668119032846' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/6191800668119032846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/6191800668119032846'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2007/08/tiny-basic-tinkering.html' title='Tiny Basic tinkering'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-994473360986628029</id><published>2007-07-30T13:32:00.000-04:00</published><updated>2007-07-30T14:26:22.295-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Run Basic'/><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Basic'/><title type='text'>Sieve benchmarks</title><content type='html'>After &lt;a href="http://denharing.blogspot.com/2007/07/run-basic-much-faster-than-liberty.html"&gt;comparing&lt;/a&gt; the performance of Run Basic (Beta) and Liberty Basic 4.03 using the Sieve sample program, I wanted to expand the comparison to include a few other languages. I ported the Sieve program as directly as possible. Here are the test results sorted from low to high:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Find primes from 0 to 7000 (10-run average in milliseconds)&lt;/span&gt;&lt;br /&gt;&lt;ul style="font-family: courier new;"&gt;&lt;li&gt;Visual Basic 6.0 (&lt;span style="font-weight: bold;"&gt;0.0&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;Run Basic (&lt;span style="font-weight: bold;"&gt;28.8&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;REBOL (&lt;span style="font-weight: bold;"&gt;35.9&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;Runtime Revolution (&lt;span style="font-weight: bold;"&gt;63.7&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;Liberty Basic 3.03 (&lt;span style="font-weight: bold;"&gt;146.8&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;Liberty Basic 4.04 (&lt;span style="font-weight: bold;"&gt;170.3&lt;/span&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Find primes from 0 to 1000000 (10-run average in milliseconds)&lt;br /&gt;&lt;/span&gt;&lt;ul style="font-family: courier new;"&gt;&lt;li&gt;Visual Basic 6.0 (&lt;span style="font-weight: bold;"&gt;273.5&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;Run Basic (&lt;span style="font-weight: bold;"&gt;4164.4&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;REBOL (&lt;span style="font-weight: bold;"&gt;4767.2&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;Runtime Revolution (&lt;span style="font-weight: bold;"&gt;12421.5&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;Liberty Basic 3.03 (&lt;span style="font-weight: bold;"&gt;20381.1&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;Liberty Basic 4.04 (&lt;span style="font-weight: bold;"&gt;27732.9&lt;/span&gt;)&lt;/li&gt;&lt;/ul&gt;I ran the 0-1000000 benchmark to get VB off of zero milliseconds for a better comparison.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-994473360986628029?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/994473360986628029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=994473360986628029' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/994473360986628029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/994473360986628029'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2007/07/sieve-benchmarks.html' title='Sieve benchmarks'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-6473544197480143125</id><published>2007-07-27T10:51:00.000-04:00</published><updated>2007-07-27T11:03:22.158-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Run Basic'/><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Basic'/><title type='text'>Run Basic much faster than Liberty Basic 4.03</title><content type='html'>&lt;span id="postarea" name="postarea"  style="font-size:100%;"&gt;Just for fun, I ran the &lt;b&gt;sieve2.bas&lt;/b&gt; example that ships with LB4. I was a little shocked to find that Run Basic finished about 5-7 times faster than LB4 running on my 1-year-old Dell laptop.&lt;br /&gt;&lt;br /&gt;The Run Basic time varied between &lt;b&gt;23-35ms&lt;/b&gt; -- and that's on a public server.&lt;br /&gt;&lt;br /&gt;LB4 on my Dell Inspiron 9600 laptop varied between &lt;b&gt;156-172ms&lt;/b&gt;. The Dell is running XP and has an Intel Core Duo (T2300 @1.66GHz) with 1 gig of RAM.&lt;br /&gt;&lt;br /&gt;I &lt;a href="http://libertybasic.conforums.com/index.cgi?board=runbasic&amp;action=display&amp;amp;num=1185237011"&gt;mentioned&lt;/a&gt; this on the Liberty Basic Community Forum and Carl had this to say:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier new; font-style: italic;"&gt;&lt;span id="postarea" name="postarea"  style="font-size:85%;"&gt;"Run BASIC and LB5 are not only using a new development tool, but their design is fundamentally different than older versions."&lt;/span&gt;&lt;/span&gt;&lt;span id="postarea" name="postarea"  style="font-size:100%;"&gt;&lt;a href="http://libertybasic.conforums.com/index.cgi?board=runbasic&amp;action=display&amp;amp;num=1185237011"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Run Basic and LB5 will be worthwhile upgrades if only for the speed improvements.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-6473544197480143125?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/6473544197480143125/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=6473544197480143125' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/6473544197480143125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/6473544197480143125'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2007/07/run-basic-much-faster-than-liberty.html' title='Run Basic much faster than Liberty Basic 4.03'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-2533205522349319473</id><published>2007-07-20T14:53:00.000-04:00</published><updated>2007-07-26T10:10:08.394-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Troubleshooting'/><title type='text'>Missing buttons in Add/Remove Programs applet</title><content type='html'>One day not too long ago, I started my Add/Remove Programs applet to uninstall an application. To my initial surprise and later horror, all of the buttons were gone. I could view the list of installed applications, but couldn't do anything with them -- no Remove button!&lt;br /&gt;&lt;br /&gt;After spending most of the day searching on the web for a fix, I came to realize that many others had the same problem but there wasn't a definitive answer to fix the problem. The point of this post is to give the reader several options to fix the problem.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Q:&lt;/span&gt; Where did the buttons go?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;A:&lt;/span&gt; It was a corruption of the registry. Keys were deleted. Windows could no longer find the uninstaller associated with the application. Programs like Registry Mechanic cannot fix this problem. I know because I tried.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;There are four ways to fix the problem. They are ordered by increasing impact on your computer and possibly your life:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;If you have Windows XP, run &lt;span style="font-weight: bold;"&gt;System Restore&lt;/span&gt;. Slowly step backwards in time until the problem is fixed. System Restore keeps backups of your registry. This is what I did to fix the problem and it worked great. I did have to reinstall a few programs that were installed after the problem started.&lt;/li&gt;&lt;li&gt;If you use some other utility to keep backups of your registry, restore it to a point before the problem started.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;If you use programs like &lt;a href="http://www.symantec.com/themes/ghost/index.jsp"&gt;Norton Ghost&lt;/a&gt; or &lt;a href="http://www.acronis.com/"&gt;Acronis True Image&lt;/a&gt;, restore a backup saved before the problem started. By restoring your disk image, you restore your registry.&lt;/li&gt;&lt;li&gt;Reinstall Windows XP.&lt;/li&gt;&lt;/ol&gt;That last one could be really painful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-2533205522349319473?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/2533205522349319473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=2533205522349319473' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/2533205522349319473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/2533205522349319473'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2007/07/missing-buttons-in-addremove-programs.html' title='Missing buttons in Add/Remove Programs applet'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-7739675339115046620</id><published>2007-07-18T10:41:00.000-04:00</published><updated>2007-07-18T11:25:21.052-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Run Basic'/><title type='text'>Resizable Run Basic code editor in Safari</title><content type='html'>Have you ever wanted to resize the &lt;a href="http://runbasic.com/"&gt;Run Basic&lt;/a&gt; code editor in a way not allowed by the "small/medium/large" settings? For the "large" setting, I typically want it to be longer. The width is OK.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;If you run Apple's &lt;a href="http://www.apple.com/safari/download/"&gt;Safari&lt;/a&gt; web browser on Windows or Macintosh, you can resize the code editor (or any text area) by just dragging the lower right hand corner. Very cool.&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;On Windows, however, Safari is still in Beta and needs a lot of work. Here's a screen shot of an oddly resized editor for demonstration purposes. Click on the image to zoom.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_D4PcRmWialQ/Rp4wuLY-JdI/AAAAAAAAAAU/hDBZny0JMIE/s1600-h/Run+Basic+Editor+Resized+by+Safari.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_D4PcRmWialQ/Rp4wuLY-JdI/AAAAAAAAAAU/hDBZny0JMIE/s400/Run+Basic+Editor+Resized+by+Safari.JPG" alt="" id="BLOGGER_PHOTO_ID_5088558198864881106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-7739675339115046620?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/7739675339115046620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=7739675339115046620' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/7739675339115046620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/7739675339115046620'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2007/07/resizable-run-basic-code-editor-in.html' title='Resizable Run Basic code editor in Safari'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_D4PcRmWialQ/Rp4wuLY-JdI/AAAAAAAAAAU/hDBZny0JMIE/s72-c/Run+Basic+Editor+Resized+by+Safari.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-7562082680821777601</id><published>2007-07-13T16:20:00.000-04:00</published><updated>2007-07-18T11:29:58.123-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Basic'/><title type='text'>Moving forward</title><content type='html'>Compared to the rest of the computer world, Liberty Basic moves forward at a slow pace. Glacially slow. But it moves.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Since my last post almost two years ago, here are the most interesting developments:&lt;/div&gt;&lt;div&gt;&lt;ol id=""&gt;&lt;li&gt;Liberty Basic 4.03 was released. Version 4.04 is in the works and will run better on Vista.&lt;/li&gt;&lt;li&gt;Assist for Liberty Basic was released. This is an add-on to the IDE that adds profiling, version control, automatic formatting and a few other goodies for professional developers.&lt;/li&gt;&lt;li&gt;Carl now has a partner who is also an active developer.&lt;/li&gt;&lt;li&gt;The newsletter is finished. New content is now on a wiki (&lt;a href="http://lbpe.wikispaces.com"&gt;http://lbpe.wikispaces.com&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Run Basic is online (&lt;a href="http://runbasic.com"&gt;http://runbasic.com&lt;/a&gt;). It is a Liberty Basic dialect that runs in your web browser. In fact, it sports the new LB5 syntax. Speaking of that...&lt;/li&gt;&lt;li&gt;Liberty Basic 5 is in development and is late due to problems with Carl's tool vendor.&lt;/li&gt;&lt;li&gt;Finally, Alyce Watson has a new book: &lt;span class="Apple-style-span" style="font-style: italic;"&gt;API's for Liberty Basic&lt;/span&gt; (&lt;a href="http://www.alycesrestaurant.com/apilb/index.htm"&gt;http://www.alycerestaurant.com/apilb/index.htm&lt;/a&gt;).&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;After looking over this list, maybe things are moving along faster than I thought.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm currently using Liberty Basic to experiment with the Windows Service Control Manager. More on that later.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-7562082680821777601?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/7562082680821777601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=7562082680821777601' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/7562082680821777601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/7562082680821777601'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2007/07/moving-forward.html' title='Moving forward'/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-112666879971603661</id><published>2005-09-13T23:07:00.000-04:00</published><updated>2007-07-18T11:29:58.123-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Basic'/><title type='text'></title><content type='html'>&lt;span style="font-family: georgia;"&gt;&lt;/span&gt;Carl released a minor update to Liberty Basic: &lt;span style="font-weight: bold;"&gt;4.02&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;New features (pulled right from the release notes):&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;Added a new Create Application feature to the Run menu.  This is only enabled for GOLD license users.&lt;/li&gt;   &lt;li&gt;Added support for the MOD operator. For example:  &lt;span style="font-family: arial;"&gt;print 15 mod 4&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;Added support for scientific notation in code. For example:  &lt;span style="font-family: arial;"&gt;print 1.2345e-4&lt;/span&gt;&lt;/li&gt;   &lt;li&gt;Updated the toolbar icons in the editor and debugger for a fresh looking UI.&lt;/li&gt;   &lt;li&gt;Improved the parser making it tolerant of spaces between identifiers and a ( characters.  For example, some other BASIC's allow the following:  &lt;span style="font-family: arial;"&gt;print mid$ ("hey!", 4).&lt;/span&gt; Now Liberty BASIC also allows this kind of formatting.  We did this to make it easier for people coming from other dialects of BASIC.&lt;/li&gt;   &lt;li&gt;Reworked the External Programs dialog to make it easier to use.&lt;/li&gt;   &lt;li&gt;When run or debug is invoked and there is a selection in the editor a popup notice now asks if you really want to run only the selected code.  Answering no runs the entire program.&lt;/li&gt;   &lt;li&gt;Added a popup menu to the debugger's variable view so that you can turn on the display of unrounded floats.  This annotation only appears when the unrounded value and the rounded value differ.&lt;/li&gt; &lt;/ol&gt; There are also 23 bugs fixes. Check the Revision Notes of 4.02 for the details.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-112666879971603661?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/112666879971603661/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=112666879971603661' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/112666879971603661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/112666879971603661'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2005/09/carl-released-minor-update-to-liberty.html' title=''/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-111321987699492536</id><published>2005-04-11T07:33:00.000-04:00</published><updated>2007-07-18T11:33:27.961-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'></title><content type='html'>REAL Software, the maker of REALbasic, is offering Visual Basic developers a free license for their Standard Edition. If you are interested, you had better hurry because the offer expires on April 15, 2005. Click &lt;a href="http://www.realsoftware.com/realbasic/vb6/index.php"&gt;here &lt;/a&gt;to sign up.&lt;br /&gt;&lt;br /&gt;The latest release is version 5.5.5.&lt;br /&gt;&lt;br /&gt;Microsoft ended support for Visual Basic 6 on March 31st.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-111321987699492536?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/111321987699492536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=111321987699492536' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/111321987699492536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/111321987699492536'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2005/04/real-software-maker-of-realbasic-is.html' title=''/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-111086075445594076</id><published>2005-03-14T23:18:00.001-05:00</published><updated>2008-09-24T13:36:27.524-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Other BASICs'/><category scheme='http://www.blogger.com/atom/ns#' term='History'/><title type='text'></title><content type='html'>My wanderings today took me back to the beginning of the personal computer revolution: the MITS Altair kit computer.&lt;br /&gt;&lt;br /&gt;Click &lt;a href="http://www.swtpc.com/mholley/Altair/Altair_Basic.htm"&gt;here&lt;/a&gt; for a look at Altair Basic. This was Bill and Paul's first BASIC language product at a time when Microsoft Corporation was called Micro-Soft.&lt;br /&gt;&lt;br /&gt;Check out the scans of the original manual as well as Bill Gate's complaint about hobbyist piracy in a 1976 issue of Radio Electronics. Some things change and some things remain the same.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-111086075445594076?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/111086075445594076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=111086075445594076' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/111086075445594076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/111086075445594076'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2005/03/my-wanderings-today-took-me-back-to.html' title=''/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-111077135136713082</id><published>2005-03-13T22:10:00.000-05:00</published><updated>2007-07-18T11:30:32.696-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Basic'/><title type='text'></title><content type='html'>I know, I know. This blog has been dormant a long time. Life happens -- new wife, baby on the way. Life is good.&lt;br /&gt;&lt;br /&gt;Liberty Basic continues to evolve slowly -- version 4.01 is the current release. Carl is busy at work on a new more interactive Basic. I don't think it will be backwards compatible with Liberty Basic, but my &lt;a href="http://libertybasic.conforums.com/"&gt;forum&lt;/a&gt; research is incomplete and Carl does not seem to be telling. This new Basic may also be cross-platform.&lt;br /&gt;&lt;br /&gt;He believes strongly in a small core language that remains close to the roots of the language. In a .NET world, this is a refreshing direction but it is not without its consequences. Namely, lack of readily available power.&lt;br /&gt;&lt;br /&gt;I continue to use Liberty Basic for small projects, but the language presents roadblocks to COM, database and Internet technologies. Thanks to LB's DLL access, intrepid programmers have been working around these limitations and publishing their work in the monthly online &lt;a href="http://babek.info/libertybasicfiles/lbnews/"&gt;newsletter&lt;/a&gt;. The problem is that it's much easier to use another language than to work with LB at such a low level. More on this in future posts.&lt;br /&gt;&lt;br /&gt;Oh, I almost forgot. Carl has his own &lt;a href="http://basicprogramming.blogspot.com/"&gt;blog&lt;/a&gt; now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-111077135136713082?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/111077135136713082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=111077135136713082' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/111077135136713082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/111077135136713082'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2005/03/i-know-i-know.html' title=''/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-93774652</id><published>2003-05-04T22:10:00.000-04:00</published><updated>2007-07-18T11:29:58.124-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Basic'/><title type='text'></title><content type='html'>All of the Liberty Basic newsletters are now in one convenient &lt;a href="http://www.libertybasicuniversity.com/lbnews/"&gt;location&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The May edition (&lt;a href="http://www.libertybasicuniversity.com/lbnews/"&gt;NL108&lt;/a&gt;) of the newsletter has been published. This edition and many of the old ones can be viewed online. This is a first for the Liberty Basic newsletter. They used to be published as a text file.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-93774652?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/93774652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=93774652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/93774652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/93774652'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2003/05/all-of-liberty-basic-newsletters-are.html' title=''/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-92546920</id><published>2003-04-13T18:57:00.000-04:00</published><updated>2007-07-18T11:29:58.124-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Basic'/><title type='text'></title><content type='html'>The latest edition (&lt;a href="http://groups.yahoo.com/group/lbnews/"&gt;NL107&lt;/a&gt;) of the Liberty Basic Newsletter is on the virtual newsstand.&lt;br /&gt;&lt;br /&gt;It's free and a great resource for all levels of programmers. The previous 106 newsletters are also available at no cost.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-92546920?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/92546920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=92546920' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/92546920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/92546920'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2003/04/latest-edition-nl107-of-liberty-basic.html' title=''/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-91203666</id><published>2003-03-22T20:43:00.000-05:00</published><updated>2007-07-18T11:29:58.124-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Basic'/><title type='text'></title><content type='html'>Liberty Basic 4 is now in Alpha testing. It looks like it's going to be a big step forward for the language. Here's a brief list of the new features:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;True global variables. (declared using the new &lt;b&gt;global&lt;/b&gt; keyword)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Passing arguments to a sub or function by reference. (I complained about the lack of this feature in LB3 about 4 posts ago.)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Handle variables and the new &lt;b&gt;maphandle&lt;/b&gt; command. (liberation from static handles to windows, controls and files)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Dynamic evaluation of Liberty Basic code inside of a running program. (&lt;b&gt;eval&lt;/b&gt; returns a numeric value and &lt;b&gt;eval$&lt;/b&gt; returns a string value)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Subroutines can now be used for event handlers. (a better choice over branch labels for large programs)&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;There are many other enhancements, but these are the big ones. The IDE also has a new feature that lets you create tutorials or lessons using a three-pane window. On the left pane is the outline of the lesson. On the upper right pane is the lesson text. On the lower right pane is LB code that can be run by the user. The lessons can be created in the IDE and stored as lesson files with an lsn extension (i.e. tutorial1.lsn).&lt;br /&gt;&lt;br /&gt;Some people have called Liberty Basic the language for the masses. Carl strives to keep the language easy to learn and fun to use. He markets to beginning programmers and hobbyists, but as the years roll by LB is moving slowly into the realm of the professional. I welcome this direction, but I hope that the personality of the product is not lost in new complexity. A lesson from current events is Microsoft's VB.NET. The Visual Basic I know and love is nowhere to be found in this new product. VB.NET is just C# with VB-like syntax.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-91203666?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/91203666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=91203666' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/91203666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/91203666'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2003/03/liberty-basic-4-is-now-in-alpha.html' title=''/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-90427850</id><published>2003-03-09T20:32:00.000-05:00</published><updated>2007-07-18T11:34:14.769-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Troubleshooting'/><title type='text'></title><content type='html'>I upgraded my old Dell Dimension from Windows 98 to Windows 2000 this morning. It was an "upgrade", not a "clean install".&lt;br /&gt;&lt;br /&gt;When I first ran Liberty Basic 3.02 under the new OS, the title bar showed that it was not registered. Entering my license number again fixed the problem, but it was an unusual side effect of the upgrade.&lt;br /&gt;&lt;br /&gt;It makes me wonder how Carl is storing that license number.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-90427850?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/90427850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=90427850' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/90427850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/90427850'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2003/03/i-upgraded-my-old-dell-dimension-from.html' title=''/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-90276074</id><published>2003-03-06T21:41:00.000-05:00</published><updated>2007-07-18T11:29:58.124-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Basic'/><title type='text'></title><content type='html'>Yesterday, Carl released the first alpha of Liberty Basic 4!&lt;br /&gt;&lt;br /&gt;Those interested in helping Carl test LB4 should go to the &lt;a href="http://libertybasic.conforums.com "&gt;Liberty Basic Forum&lt;/a&gt;. Join the &lt;b&gt;Liberty Basic 4 Alpha Testing&lt;/b&gt; forum. There is a link to download LB4 in Carl's first message.&lt;br /&gt;&lt;br /&gt;More to come on LB4's new features!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-90276074?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/90276074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=90276074' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/90276074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/90276074'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2003/03/yesterday-carl-released-first-alpha-of.html' title=''/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-90023624</id><published>2003-03-02T20:35:00.000-05:00</published><updated>2007-07-18T11:29:58.124-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Basic'/><title type='text'></title><content type='html'>The latest edition (&lt;a href="http://groups.yahoo.com/group/lbnews/"&gt;NL106&lt;/a&gt;) of the Liberty Basic Newsletter has just been published. Two articles really peaked my interest:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Using SQLite Database Manager in LB&lt;/b&gt; by Colin McMurchie. Unbelievably simple API access to the &lt;a href="http://www.sqlite.org/"&gt;SQLite &lt;/a&gt;database. This embeddable database is in the public domain, and after a first look it seems to be a good fit for the Liberty Basic programming world.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;What I Did With The !Locate Command On My Summer Vacation &lt;/b&gt; by Tom Nally. Tom creates a &lt;a href="http://www.apple.com"&gt;Hypercard&lt;/a&gt;-like stack using Liberty Basic's !Locate command. Basically, controls are located off-window and moved into place when needed. Doing this type of GUI work by hand is tedious, but a "stack creation" tool could automate most of the drudgery. I wonder if this idea could be used for FreeForm. Building a GUI with real controls is better than FreeForm's graphically drawn controls.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-90023624?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/90023624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=90023624' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/90023624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/90023624'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2003/03/latest-edition-nl106-of-liberty-basic.html' title=''/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-88514074</id><published>2003-02-03T23:50:00.000-05:00</published><updated>2007-07-18T11:29:58.125-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Basic'/><title type='text'></title><content type='html'>Despite the fairly recent addition of real &lt;b&gt;functions&lt;/b&gt; and &lt;b&gt;subs&lt;/b&gt; to the language, Liberty Basic still pushes you to use the old &lt;b&gt;gosub/return&lt;/b&gt; construct. This pressure is not obvious until you're actually writing programs.&lt;br /&gt;&lt;br /&gt;Let's see how the pressure builds:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Parameters passed to a function or sub are "by value". This means that a copy is made and no changes can be made to original variable in the function call.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Global variables are not visible in a function or sub with the exception of arrays, structs, handles and system variables.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Sometimes you need to return more than one value.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Using single-dimensioned, 1-element arrays as global variables is ugly.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The cleanest solution is to make the code global as a chunk of gosub/return code.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;This might be a partial answer to the question I had about why so many Liberty Basic programmers keep on using this construct instead of switching entirely to functions and subs.&lt;br /&gt;&lt;br /&gt;There are a few things that require functions -- recursion and useful code libraries.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-88514074?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/88514074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=88514074' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/88514074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/88514074'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2003/02/despite-fairly-recent-addition-of-real.html' title=''/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5006297.post-88302813</id><published>2003-01-30T21:36:00.000-05:00</published><updated>2007-07-18T11:28:11.710-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Basic'/><title type='text'></title><content type='html'>The purpose of this blog is to talk about Liberty Basic in particular and computer science in general. Liberty Basic is an easy to use Windows dialect of the BASIC programming language. It's written in Smalltalk by Carl Gundel.&lt;br /&gt;&lt;br /&gt;Liberty Basic 3.02 can be downloaded as shareware at the official &lt;a href="http://www.libertybasic.com/"&gt;website&lt;/a&gt;. There is no expiration, but programs can't be larger than 250 lines of code and they can't run outside of the LB editor. It's a reasonable limitation. The &lt;b&gt;Silver&lt;/b&gt; registration ($29.95) removes the code size limit and popup reminders. The &lt;b&gt;Gold&lt;/b&gt; registration ($49.95) adds the ability to create standalone applications that run outside of the editor.&lt;br /&gt;&lt;br /&gt;Future posts will both praise and bash this venerable tool. It has been around for 10 years, first as a 16-bit language and now as a 32-bit language.&lt;br /&gt;&lt;br /&gt;As a computer professional, its limits can sometimes be frustrating, but even so it remains the most "fun" language in my tool chest.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5006297-88302813?l=denharing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://denharing.blogspot.com/feeds/88302813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5006297&amp;postID=88302813' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/88302813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5006297/posts/default/88302813'/><link rel='alternate' type='text/html' href='http://denharing.blogspot.com/2003/01/purpose-of-this-blog-is-to-talk-about.html' title=''/><author><name>David den Haring</name><uri>http://www.blogger.com/profile/11803229455216488304</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
