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:
- 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.
- Upon reboot start CCleaner and click the Clean Button.
- Click on the Registry button, and click Scan for Issues and Fix Selected Issues.
- Launch JkDefrag.exe.
- 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.
- 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...
|
By Chris Bennett on
10/5/2008 10:00 PM
Yesterday, the Indy Tech Fest group put on yet another excellent event. These events certainly do not disappoint. My hat is off to everyone involved in arranging these events. Similar to last year we had a keynote by Buck Foley and Brad Jones. For those of you who have never seen Buck Foley, it truly is a great impression of Chris Farley with a tech spin. For the moment, I'm not able to remember Buck Foley's real name; nonetheless, he is a developer. And after a change of clothes he attends the event with the rest of the crowd. He is an excellent motivational speaker and top notch for developer jokes. Last year I remember his discussion of using LINQ to find a date. If you have the change to see him live, be sure to take advantage of it.
This year we had a range of topics from everyday Tip's n Tricks to, Database Optimization, Cloud and Green Computing, Robotics Studio, XNA Studio, SQL 2008, etc. Certainly a lot to pack into a single day. My only disappointment is that I was unable to attend a couple of sessions as I either had a conflict with my own presentation or another session I wanted to attend.
About 2 weeks ago I received an email asking if I would present at Indy Tech Fest on VB.NET Tip's and Tricks. In my usual manor I procrastinated and waited until the last minute. And like many of the presentations, I completed mine the morning of the event. I'll send my slide deck to the Indy Tech Fest guys so it can be posted to their site as well, but I wanted to post them here so it could be available sooner. I've posted the slide deck in both PowerPoint 2007 and 2003 versions
VB.NET Tips-n-Tricks PowerPoint 2007 Presentation
VB.NET Tips-n-Tricks PowerPoint 2003 Presentation
Thanks to those of you who attended my presentation.
|
By Chris Bennett on
9/21/2008 6:21 PM
One of the areas of programming I'm drawn to is in parallel processing. And for the past several years, I've looked for different techniques used for parallel processing. The primary method of parallel processing in .Net are simple threads. Although there is a Thread Pool available for each process it is not all that flexible, nor is it useful for small tasks such as loops. These problem are compounded when you start to look at the computers we use these days. We've begun the transition from a large single core process to smaller dual and quad core processors. This is only the beginning when you consider Intel has prototyped processors with 80 cores.
In order to accommodate this change in processing power as programmers we will need to adapt our programs. A interesting technology that is on the horizon from Microsoft .Net is the Parallel FX Library. It is currently available as a Customer Technology Preview (CTP). It implements a couple of variations on some techniques we use today, including For Each, Do and While loops.
So with the ability to perform parallel loops it allows the most basic of programs to take advantage of these additional processing cores. Of course we as programmers will still need to perform locking on the variables to prevent corruption. I'm definitely looking forward to see this library available for programming our every day apps. Below is a diagram of the Parallel FX Library on top of the .NET Framework 3.5.

|
By Chris Bennett on
9/20/2008 2:29 PM
Last week I was asked to participate in a charity event locally in Indianapolis, IN. I've donated my time before for events, but not like this. Recently I was on Church Counsel for a local United Methodist Church for the mainly because of my web skills. I about fell out of my chair when I realized this event was primarily for developers. The purpose for the event is to allow developers to build websites and other software apps for charities and non-profit organizations that could not other wise afford it. The name of the event is Indy Give Camp.
This event is being put on by the IndyNDA, otherwise known as the Indy .Net Association for developers. I'm a member of the IndyNDA group and I have to say that the organization is really well run and overall the monthly meetings are top notch.
If you are a fellow developer and you have the chance, be sure to stop by one of the IndyNDA events. Another event that is put on by IndyNDA is IndyCodeCamp. This is a free day-long conference for developers on all sorts of topics in the developer space. Last year I presented at IndyCodeCamp on the AJAX Control Toolkit. As it turns out, I'm going to present again this year on Tip's and Trick's for VB.NET 9. Should be an interesting event and I'm certainly looking forward to attending a couple of the sessions myself.
|
By Chris Bennett on
9/17/2008 9:44 PM
I never really thought about what was the fastest ride on earth until I saw a recent Modern Marvels episode on the History Channel. I knew the Mclaren F1 would do 240mph and vague knew of another that could come come close to 250mph. Then the land speed record which is currently held by the Thrust SSC Team who broke the sound barrier in 1997.
I never really gave much thought to the military .... But as I was watching the show I expected to hear a speed of 3, 4 or maybe Mach 5. In fact they have a sled at the Holloman Air Force base capable of Mach 8.5 or just over 6400mph. It was an unmanned vehicle and it ran on rails. To achieve this speed the team used 4 stage rocket and carried a payload of 25-pound. Not only did it achieve Mach 8.5 it only had 3 miles of track to do it in. Your average car cannot achieve 60mph in 6 seconds. This thing went from 0 to 6400mph in 6.04 seconds using up 3 miles of track. When I saw the brief video of the test I instantly had several questions like how did they keep it on the track. Unlike other railed vehicles the rocked sled does not use wheels it uses a shoe type device that wraps around the rail to hold the sled down. And how do they keep those from melting at 6400mph? Unfortunately, they did not talk about stopping the sled and how could you. If it took 3 miles to reach Mach 8.5 how much room would you need. At the end of the the track there must have been a huge creator.
Given the way our military works, the Mach 8.5 record has probably been superseded by another speed record. Have they reached Mach 10 yet? I guess we will find out in a few years after it becomes declassified.
|
By Chris Bennett on
9/17/2008 9:03 PM
Although, I'm not an expert at all in particle physics, its good to see that after years of work, the Large Hadron Collider (LHC) is now online. Well, not exactly ... The LHC is functional from the stance that it is able to send particles in both directions around the ring; however, no collisions have taken place. It is amazing to think that the 17 mile ring will collide particles at 99.999999% percent the speed of light. Yep, you read that right. Granted we are talking about micrograms of matter traveling at that speed. From what's been in the press the first collisions are to start taking place sometime in late October. The high energy collisions are scheduled to take place in about a year.
So what are we actually going to learn from this? I think there is a lot of speculation around what we will learn, but no one actually knows. Many think they will locate the Higgs boson particle which is believed to give matter its weight. I'm intrigued by the fact that Steven Hawking has bet $100 that we will not find the particle. His view is one where we will probaly find something even more interesting.
No matter what we find it should be interesting. Something I didn't know until all of the press regarding the LHC came about is that the USA actually start building a similar test facility in the early 90's called the Superconducting Super Collider (SSC). Unfortunately the project was cut in '93. The US version of the LHC was actually planned to be much larger and far more powerful (54 miles instead of 17 and nearly three times as powerful).
Last weekend I was listening to a live recording of a podcast called Leo Laporte "The Tech Guy". During the show he did an interview with a physicist friend involved with the show. Some of the information she (I'm sorry I do not know her name) discussed related to the amount of data that will from the detectors when the LHC is running. I was completely shocked to find out that the LHC detectors produce nearly a petabyte of data per second. Today it is not common place yet to refer to data in petabytes as is gigabytes or terabytes. To deal with such a volume of data they LHC employs several hardware solutions to perform a great deal of filtering to skip any "uninteresting" data. Still the amount of data that must be stored must be huge. I would guess they are planning to use a grid of some time maybe event use the SETI@home concept.
In the end, I'm sure we will learn quite a bit from this big science project.
|