You are here > Blog
Author: Chris L Bennett Created: 9/12/2008 9:20 PM RssIcon
This blog is Chris L Bennett's thoughts on Software Development.
By Chris Bennett on 11/18/2009 1:31 PM

For the past year or so I've been using GoDaddy hosting, specially the Windows Unlimited.  While there service is pretty good, the overall performance of the sites are not the greatest.  They have a few qwerks in how you run multiple sites within one account which anoying and their admin site is very slow.  But the biggest problem I have with them is the Database size limitation of 200MB per DB.  While you can have as many as you want, this inconveniece means you have to split up sites and applications in such a way you stay below that limit.

 

For a while, I've been thinking about switching provides and  never really planned when.  Then, I came across a link to a provider I have never heard of before Arvixe.  They have a similar unlimited hosting plan for Windows.  It was a couple $ cheaper per month, so I thought I would go ahead and give it a try for a month on one site.  After seeing just how easy the first one moved over I made the jump to move them all.  My sites now run much faster and they resolve all of the issues I had with GoDaddy.  Took me about 3-4 hours to move over 8 domains, web content, databases and email addresses.  So far, I'm very impressed.  And best of all, they don't nickle and dime like GoDaddy!

 

Update: 1/15/2009 - Its been almost 4 months since I completed th switch to Arvixe and I'm still very impressed.  I have quite a few domains setup now and the sites are still very fast and reliable.  Over the time since I switched my downtime has dropped drastically.  I can say that I will be recommending Arvixe in the future to others.

By Chris Bennett on 11/16/2009 3:59 PM

Its been a long time since I last published a blog entry and so I thought I should get to it or shut it down.  Over the last several months, I have not had a lot of free time as I've been publishing a lot of articles lately.  I'll get the Article Page updated later to reflect my most recent ones on Developer.com later today. 

 

Since I've been putting time into writing articles, I have had the need to keep a lot of separation as to not remove value from the articles or accidentally break my agreement with the publisher.  I'll have to think over the next couple days and decide what I want to do to refocus this blog into something more useful.  In addition, I have a book idea in mind that I've been developing.  I'm not sure if it will go anywhere, but that this point, I just want to proove I can do it.

 

 Update 11/18/2009: Just updated my article list as of today.

Until next time ...

By Chris Bennett on 3/18/2009 8:11 PM

Over the past couple of months, I've made several different packages with Open Web Studio. And after creating a simple content version package, article manager and a link exchange system I think it is a great tool for creating simple packages.

Unfortunately, the script language it inherited from listX is not exactly easy to master. Not only is the script language a bit difficult, but there is very little documentation available. I was able to learn it by starting with the listX documentation and downloading as many examples as I could find. Nonetheless this is time consuming.

I do believe they have started to address the short comings. Lately, the OpenWebStudio site has drastically improved the content available on the wiki. The lack of information is mainly why I published the packages I've created for this site. There is also a page on the wiki describing changes to the script language to make it more usable.

Even though OpenWebStudio is still fairly new, I would have to conclude that is a very good tool for creating fairly simple packages to augment DotNetNuke. However, if you intend to create complex modules, I would recommend creating native .Net code.

By Chris Bennett on 3/9/2009 10:35 PM

Extrenal drives are so cheap these days that anymore you can pick up a 500GB at Frys for <$70. Like many out there, I have several of them. Rather than have all of these drives connected to one PC. I would rather have a small home server. However, I'm not about to pay what HP wants for a Windows Home Server. Essentially the Home Server is a light weight version of Windows Server. So, I've looked for a long time for a small and inexpensive server that provides more functionality than just your basic NAS (Network Attached Storage).
Last week I came across an article on Slashdot regarding a new $100 embedded device designed to run Linux. The device is called a SheevaPlug. The specs for the device are quite impressive as listed below:

  • 1.2Ghz ARM5 processor
  • 512Mb Ram
  • 512Mb Flash
  • 10/100/1000 Ethernet
  • USB 2.0
  • SDIO Slot
  • USB Development Port


Amazingly all this fits into the size of a "wall-wart" as shown in the images below:

 

Here is a block diagram of the internals

 


Out of the box you will need to go through a fairly technical process to install the boot loader and the file system image over the development board.  Once Linux is installed and running you can run the normal software you would expect in a small server Samba, Apache, PHP, MySQL, NFS, etc. Quite a few Linux distributions support ARM processors including Ubuntu and thus can be used on the device. The development kit is available in small quantities through the Marvell site.  I'm pretty sure I'm going to purchase one for myself to use has a light home server and as a remote backup for my virtual server.

By Chris Bennett on 3/4/2009 9:48 PM

Over the last couple of days I started using the iGoogle page. Well, it didn't take me too long to create my first Google Gadget. You can add my FightClub Quotes gadget to your iGoogle page below.


Creating the gadget was much easier than expected. Google has a very nice gadget editor that plugs into the iGoogle page. Basically a gadget is an XML doc with a configuration section and an HTML content section. The gadget also has a fairly simple set of javascript commands that provides access to remote content. One confusing thing I found when I started building the gadget is that there are 2 different APIs. The new and the legacy. My first reaction was to use the new format and go from there; however, currently the new format is not supported. For some reason this is not explained very well. I have a couple ideas for gadgets that I'm going to build. I'll publish them here as I complete them. To start creating your own gadgets click here.

By Chris Bennett on 2/9/2009 11:28 PM

Since my last post, I've been quite busy with family and work. I'm now traveling 4 nights/week until the end of April. On top of that, I've been publishing at least one article per month on developer.com. I also spent quite a bit of time working on another ecommerce site. None the less, I've have a laundry list of things to talk about, so I'll try to go through them.

I'm always looking for something that can improve the performance of Windows. I've always been irritated by the fact that over time windows just slows down through installing apps, registry errors disk defragmentation. Recently, I came by a couple of apps that seems to help the performance quite a bit.

First download/install the following 3 utilities:

 

  • CCleaner - Directory cleaner and registry repeair
  • JKDefrag - Lightweight disk defragmentation
  • PageDefrag - Page File and Registry File Defragmentation


Next perform the following steps:

 

  1. Execute the command "chkdsk /f". When prompted press Y to run chkdsk at reboot. This will run a check on the file system and ensure it does not have any errors.
  2. Upon reboot start CCleaner and click the Clean Button.
  3. Click on the Registry button, and click Scan for Issues and Fix Selected Issues.
  4. Launch JkDefrag.exe.
  5. Upon completion, start Page Defrag. Select the Defrag at next boot and click Ok. Reboot the computer to defragment the Page File, Event Logs and Registry.
  6. After rebooting, launch JkDefrag.exe again to clean up any fragments caused by Page Defrag.


After running these steps, you should notice an improvement in the performance. If you have other tips and tricks for improving performance, please send them over.

By Chris Bennett on 12/12/2008 9:49 PM

Recently, my job has had me traveling quite a bit. So I haven't had much time to actually sit down and write down my thoughts in blog entries. Regardless, for some time I've been searching for good DotNetNuke data modules. Specifically I generally focus on modules which provide the ability to work with data. A couple of weeks ago I stumbled upon the open source module Open Web Studio. Open Web Studio (OWS) is an upgraded version of the ListX module from R2Integrated.


While OWS is open source they do have several different subscription levels. The subscriptions are a bit pricey from my persective; however, I'll let you choose. Mainly the purpose for the subscriptions levels is to provide commercial support. I've been using OWS without a subscription and so far, the user interface is quite good; however, it is quite a powerful and unfortunately has a steep learning curve. Recently a couple of basic videos have been posted to a Wiki on the OWS site. The Wiki so far is an ok reference for the package but not great. I also did some googling which gave me a couple of samples to start looking at. Another good source of information I found was to download a copy of the latest documentation for the ListX package off the dnn.bi4ce.com site.


Unlike other data module for DNN, OWS is extremely flexible in how the data is stored and how the user is able to interact with it. Essentially, OWS is a basic scripting engine. It works off of basic actions such as Query, Template, Email, If, Else, If-Else, Redirect, Variable and Assign, etc. By string together these actions is is possible to make choice based upon query parameters to allow adding/editing/deleting of records as well as data tables. OWS itself does not have a native format for storing data in the DB, instead it uses tables that you create. This provides for much better control and performance over tools such as XMOD.


In playing with OWS, I've create a couple different modules. One of these modules is currently active on this site on the About page labeled articles. While most of the articles module is completely hidden it has a complete admin interface which allows for adding/editing and deleting of articles. I have a couple of other modules that I've started, but are yet to be completed. I almost forgot ... in case you plan to distribute modules you create, there are instructions availabile on the OWS Wiki to create a Private Assembly (PA) for distribution.

In the near future I plan to post these modules to a software page and make them freely available. I have a couple of other things I'll release on the software page including a TCP client. 

By Chris Bennett on 11/6/2008 8:33 PM

Recently it became apparent that I spent my Saturday morning, while I'm coding or surfing, I listen to the exact same podcasts every week. So I thought it would be appropriate for me to list a couple of the my favorite podcasts in a blog entry. In no particular order, here they are:

 

  • This Week in Tech (TWiT) - TWiT is a general technology show where they have multiple people on a panel discussing topics between themselves and with guests. TWiT is absolutely first rate. The show is hosted by Leo Laporte who is excellent technology guy. TWiT is actually a network with a long series of shows including Windows Weekly, The Tech Guy, Daily Giz Wiz, etc. Certainly one of the best I listen to. And to prove advertising works, I recently joined Audible.com using a like from a show a couple of weekends ago and received two free audio books. Check out the TWiT page for the link.
  • Diggnation - Diggnation is a weekly video show on some of the top stories from Digg.com. The show is hosted by Kevin Rose and Alex Albrecht, both of which are very good. During a usual show they talk about the top stories and rarely forget to bring the beer. It is a very good show. Oh and BTW ... Kevin Rose started Digg.com. And again advertizing works, this site is hosted on a virtual server at GoDaddy.com
  • I, Cringely - Bob Cringely certainly has an interesting view on many things. Bob is excellent at thinking out side of the box. I am amazed each week at what he comes up with to solve the latest problem or a new use for some technology. Certainly one to make you think very hard.
  • Cranky Geeks - Cranky Geeks is a video program hosted by John C. Dvorak. Generally they talk about current tech news in a unique fashion. John is a good host who isn't afraid to share some negative opinions.


One of the reasons I signed up for Audible.com is my sister. She is always recommending books to me that I'm very interested in; however, I rarely have time to sit down and read a book. However, I listen to audio books while coding quite often. The book series she turned me on to was "City of Ember". Its a book about a post disaster, 200 year old, underground city that is dying as they are running out of power and supplies. A very interesting book. I also completed the second audio book in the series called "People of Sparks".


Speaking of publications, I just completed an article on Creating your Own Thread Pool for .Net. I'll post a link after the article is live on Developer.com.

By Chris Bennett on 10/8/2008 11:39 PM
Last weekend at the Indy Tech Fest I was talking with Bill Steele regarding the Microsoft Robotics Studio. We started talking a product he came up with called a VirtualHUD he came up with. Basically the VirtualHUD is a handheld heads up display unit for single engine aircraft. Why single engine? This is the part that I didn't understand at first. The reason for the single engine is that the VirtualHUD projects a heads up display on the back of the propeller. Without a doubt this has to be one of the more interesting ideas I've seen in a while. Bill had a video handy from test run on his plane at night. Quite Impressive, it very clearly projected a horizon line and the other vitals. The item in the video I did not notice at first was the video projected behind the horizon. Yes behind. He has an infrared camera on the plane and it was projecting the live video with the horizon and other information overlay. I'm sure once he is in full production this one will be a big hit in the general aviation industry. Be sure to check out Bill's website to find out more details. To be able to perform all of the processing necessary Bill's product certainly needs a hefty processor or quite a few small ones. The solution he employed was to use a new processor ironically called The Propeller. The Propeller processor is made by Parallax. Parallax for years has been known for their role in education through their Basic Stamp processor and kits. The Basic Stamp is really an off the shelf processor from another manufacturer that is loaded with a Basic language interpreter. This processor is mounted on a carrier board with the support components (crystal, memory, voltage regulator, etc). The entire package is sold as the Basic Stamp.



The Basic Stamp is a bit expensive for the processing power it offers and its lack of C compiler does not make it an attractive for use in commercial applications. The Propeller processor is a complete new design as it represents Parallax's first custom silicon solution. The Propeller still has some of the hobbyist qualities in that it does have a built in interpreter. This time for a different language Spin. But it also has the ability to execute assembler code something the Basic Stamp lacks. This then opens the door for a 3rd party to create a C compiler. ImageCraft has created a C compiler and it is currently available for roughly $250. The Propeller's architecture is quite unique. Number one it is fast at 80Mhz (20Mips). It is a full 32-bit processor. Oh yeah, and I almost forgot it has 8 cores. Yes, the ability to simultaneously execute 8 threads in a part that is in the $11 range. Below is an image of the architecture of the part.

 

Each of the cores in the processor act independently and each contains 2k of RAM, timers and a Video Generator. Yet another unique feature a Video Generator. Many of the demo boards include connectors for VGA and for an NTSC signal. The cores also share resources including 32k of RAM and IO. The 32k of RAM is used for both data storage and for code space. A central component called the Hub takes care of sharing the resources. Since the RAM is shared by both data and code it must first be loaded with the application. This is done by pulling the code from an external 32k SPI EEPROM. This opens the door to pull code in from other sources. And I've been able to locate several drivers for accessing SD cards formatted in FAT 16. On that not, there is a significant number of objects available for use in SPIN to communicate with all kinds of components. Just a highlight of a few I've found are: TCP stack with SPI to Ethernet Driver, 4 Serial Ports with hardware...