Thursday, September 4, 2008

Speeding Windows Vista with USB drives

readyboost One of the notable improvement of Windows Vista is the feature called "ReadyBoost". This is part of Windows Vista's improved I/O (input/output) subsystem features.

ReadyBoost is a feature which allows you to improve Windows Vista system performance by using USB flash-based storage memory disk, SD cards and compact-flash storage cards.

Overview

Whenever you a load a windows application (for example Microsoft Word or Photoshop), it is read from the hard disk and loaded into your computers temporary memory (RAM/System Memory) hence the bigger RAM the faster you applications will load.

To make programs loads faster, Windows Vista will try to cache (prepare it and read it for loading store into a file) frequently loaded applications, it will try to learn from your habits on what applications are being loaded when you're working on Windows. This is feature is know as "Superfetch", This feature was introduced earlier with Windows XP known as "PreFetcher" which stored cache on the hard disk. One drawback of this, was that the hard disk is far slower to access than RAM, while the cache stored in the hard disk would help, the performance is as only good as the speed of your computer's hard disk.

With Windows Vista, the SuperFetch feature is augmented by "ReadyBoost", instead of storing the cache on the hard disk drive, it now store this into USB Flash-memory based drives, this heavily improves system performance since these drives as a lot faster to access compared to the slower hard disk drives.

Using ReadyBoost

Make sure you have met the following before proceeding with rest of the steps:

  • A spare or free USB 2.0 compliant USB port
  • A USB 2.0 based flash-memory storage device such as SD Card, Compact-Flash memory card, USB disk drive.
  • The USB drive must have at least 256 MB worth of free space.

Step 1:

Insert you USB flash-memory based drive into your USB port. Once plug Windows Vista will prompt with the dialog box similar to the one below, click on "Speed up my system". Window Vista will now do some testing if your drives met the speed requirements for ready-boost.

screenshot.21

Once the test have been, the dialog box with the ReadyBoost tab will be shown.

 screenshot.23

Step 2:

Click on the "Use this device", you will also be prompted for the disk space to allocate along with the recommended size for ReadyBoost, the click on apply.

Windows Vista Ready Boost

Step 3:

Verify that ReadyBoost is working, you can do this by opening the USB drive with Windows Explorer and will find the "Ready Boost Cache.sfcache" file, this file will now be populated with the "SuperFetch" cache. For added Security the file is encrypted with AES 256 Bit encryption, Also when the drive is remove this is automatically deleted by Windows.

screenshot.25 

The cache file size is compressed on a 2:1 ratio, So if you have 256MB of cache file, this is equivalent to 1024 MB worth of cache data. Windows will also compute based on the amount of free-space you have on your USB disk drive and the amount of Physical Memory your computer have to give out the optimal size of your cache file to be user for ReadyBoost.

ReadyBoost tools:

If you want to see ReadyBoost in action, you can download the tool RBMon - ReadyBoost Monitor.

screenshot.28

Saturday, May 10, 2008

Microbric Viper + Parallax PING Sensor

IMG_2166 I have managed to augment my Microbric Viper with the Parallax PING ultrasonic sensor. It was an exciting addition, considering that it will allow my robot to locate objects in the environment without bumping them (sensing the object without physical contact) and on top of, it adds range finding abilities (determining the distance of the obstacle).

Parallax PING))) Sensor

In a nutshell, the Parallax PING))) Sensor is similar to how Bats navigate and locate objects in the thick of darkness, they make use of the concept called "Echo Location" or "Active SONAR", This is achieved by sending very high frequency sound pulses directed at a an object or obstacle, the location and distance of the object is then calculated based on the time it took for the sound pulse's echo (reflecting off an object) to return back to the sender, the sooner that the sound returns the closer the object, the later the sound returns the farther the object.

What I like about this sensor is it simplicity of design, unlike other ultrasonic range finder sensors out there, which makes use of analog signal, which in return needs an analog pin to interpret the output. The PING))) Sensor output signal is purely digital, which is very important since the Microbric Viper does not have an analog input/output pin, it's not that Atom Basic 28 Pin 16F876A PICMicro Microcontroller can't support it, but the Microbric Viper's mainboard did not enable those pins, this was to minimize the size the complexity of the mainboard. Ultimately, this sensor only requires one(1) pin both for input (triggering the sensor to send high frequency sounds) and output (reading the value of the distance). The sensor can accurately detect and determine the distance of objects within 3 centimeter to 3 meter range.

Start PING)))ing.

Time to get busy, I started with unpacking the Parallax PING))) Sensor.

IMG_1520

IMG_1524

As mentioned, the Parallax PING))) sensor has simple design, it only requires 1 digital pin, +5 volts and ground pin as seen below.

I then proceeded on assembling the servo mounting bracket then mounting the whole assembly the Parallax Servo.

IMG_1526

IMG_1529

IMG_1530

Here is the completed sensor assembly with the Parallax servo, this will allow sensor to swivel l

eft to right and vice versa, this will be used for sensor scanning.

There you have it, the completed sensor assembly. On the next topic.. Interfacing.

Viper meet PING))), PING))) meet Viper

Now that the sensor is ready, it's time to interface with the Microbric Viper.

IMG_1514

Connecting the sensor is done, by a make-shift jumper wire connected to Viper's mainboard pins (in the future I will find a way of cleanly terminating the pins to a breadboard or male/female headers). For rapid prototyping purposes, this will do for now.IMG_1515

Interfacing my Viper with the PING sensor was not straight forward as I have expected, though there were a lot of sample code to make it work, it was for the Parallax Basic using the Parallax Basic Stamp II microcontroller.

A whole lot of reading the PING sensor manual, googling and analyzing of code solved the problem.

Portions of the code was derived from Kurte, a fellow roboteer member from the Lynxmotion forums. I have modified the code to allow it to output the sensor reading via the Viper mainboard UART port and also set two LEDs to blink once the object is less the 15cm from the sensor.

ViPING))) version 0.1 - ATOM BASIC source code

DistanceInCM         var        word
DistanceInINCH var word


PING_Trigger con 5
PING_Echo var word
PING_Scale var long

PING con p1
L_LED con P5
R_LED con P7


main:
Low PING
Low L_LED
Low R_LED

pulsout PING, PING_Trigger
pulsin PING, 1, PING_Echo

PING_Scale.highword = 0
PING_Scale.lowword = 2251

DistanceInCM = (PING_Echo */Ping_Scale) / 2

'send output to UART interface
serout s_out,i9600,["Distance 1 = ", dec DistanceInCM," cm" ,13]

pause 5

if DistanceInCM <= 15 then
'if Distance of the object is less than 15 cm, Blin R/F LEDs
High L_LED
High R_LED
pause 50

'Toggle L_LED
'Toggle R_LED

endif

Low L_LED
Low R_LED

goto main




What's the frequency err distance Kenneth?

After hours of debugging and coding, it's time to see the above source code in action. Here is the video, showing the Microbric Viper and the Parallax PING))) detecting objects and reading object distance in centimeters.Enjoy!





Well, that wraps it all up. Keep posted for more, next topic will be building the robot with incorporating the sensor and the code to make it roam autonomously. DMFP

Monday, February 11, 2008

Mr. Roboto - Microbric Viper

Back then when I was child, I have always been amazed with Robots, specially the ones like Johnny 5, from the hit movie Short Circuit and Short Circuit 2,it really spurred a lot of imagination on how nice it would be to have one as your assistant, able to do mundane and repeatable task with hight efficiency and accuracy, what's more fascinating is, it can even think and learn on its own.

Fast forward 20 years later, the time is now right to somehow make that imagination come true, well not exactly as good as the robots from that movie, but somehow take a chance of creating a robot having bits and pieces of it's capability.

So here it is...

My first venture to the world of Robotics, I'm using the Microbric Viper robotic kit, it's basically a very good starter platform, it's comes with the BasicMicro's Atom Basic 24 Pin 16F876 PICMicro Microcontroller, 2 gear motors + wheels, 3 LEDs, IR receiver module, piezo buzzer, 2 touch-sensors, a Line-following sensor module, slideswitch, touch button switch, and an IR Remote. This enough to get me started building my first autonomous, environment-sensing robot. The beauty of it all is it can be program using the MBASIC, powerfull version of BASIC for the microcontroller.


Here is the main circuit board



Here are some photos of it taken when I started working with it.

Setting-up the serial connections to the laptop so that the MicroBasic compiled program can be downloaded to the Viper robot main circuit board. The good thing about flash-based micro-controller is that you don't need a hardware to program the chip. The programming is flush out and flush in to the chip via serial port connection.


Loading up the test program, this is just very simple program, just make the red LEDs blink that was connected to main board. ('it's Alive! Masta!)





After the loading the test program, it's time to connect the modules to the mainboard, for this activity, i'm trying to build the Bumper bot.






Bumpber Bot

Here is the completed Viper Bumper Robot, this is programmed to roam autonomously and senses it's way by the two(2) touch sensors connected on the bumper, once it hits an obstacle depending on which bumper is activated, it will back-off and turn left or right to change direction, then moves forward.

I will be posting updates such as video and build notes as I continue to build my robot.

Friday, February 8, 2008

Windows Desktop Essentials

For the past years that I have been supporting users using computers, I deduced that are some essential software that you can't do without, of course there are lot of great commercial software out there to the job, but I'm always interested to the ones that are Freeware or Free-to-use - these babies have a very good bang-for -the-buck ratio! Let me now give you my top picks! Don't go using Windows without it!

AVG Free Edition
AVG-Free-Edition_1 Anti-Virus, descent but free anti-virus protection, free for Home/Non-commercial use. It's been a very good substitute to the otherwise bloated anti-viruses out there. It provides basic anti-virus protection, email anti-virus filtering, scheduled scans and most important of all, frequent virus database updates.



 

 

CCleaner ccleaner-screen_301
Registry and Temp Cleaner, this a very useful tool for clearing your registry of un-used entries and well as clean temporary files used by popular windows programs, this includes, temp files from browsers like Mozilla, Office, Internet Explorer and etc.



 

Primo PDF PrimoPDF-screenshot
A very useful app allowing you to generate pdf files, from any application all just by sending it a print job and selecting the primo pdf printer. No need for you to have a full-blown PDF maker.



 

 

VideoLan VLC Media Player
vlc-win32 The mother of all Media Players, able to play any formats where no other media player has played before, what's more is, its free, its multi-platform and it rocks!


 

 

 

IZArc
izarc-screenshot A superb compression/decompression software, Windows already can handle zip files, I use IZArc to extract the not-so-common compressed files such as, *.rar, *.tgz, *.lzh, *.iso - well, you get the picture

 


 

PhotoFiltre scr_photofiltreA great photo-editing and resizing software, something like Adobe PhotoShop, but it's free!






 

 

Notepad++
notepadppscrsh_dockingFeature A drop-in replacement for the trusty notepad, think of this as the Notepad in steriods! It has tons of features like multi-tab window for opened files, syntax-highlighting, macro-recording, session-save and a lot more!




 

Audacity
audacity-windows Ever need a way to edit mp3 or wav files?? say, increase the volume, add echo or simply need a way to record sounds effectively? If yes, then this is the tool you need, it is also a very good drop-in replacement to Windows Sound Recorder.




 

NVu - New View
NVU-siteManagerInSidebar A great Free, Functional and feature-rich web authoring tool loaded with lots of feature all to make the web author inside-of-us happy, best of all it's free!



 

 

Mozilla FireFox and Friends
mozilla firefox 3 Mozilla Firefox, A free and fast Internet browser, feature rich and extensible, Along with it's friends Thunderbird - POP/IMAP email client, SeaMonkey - Full blown, Browser, Web authoring and email all in one app.




 

Picasa
picasa A photo/picture Manager from Google, a great way to manage and simple re-touching software, it usually use this to download the pictures from my digital camera.




 

Adobe Reader
Adobe-Reader_1 This app needs no introduction, it's a very useful app for viewing pdf files, of course there are lot of them out there, but since Adobe Reader is giving this for free, it's probably worth to have it here!





 

Open Office
impress-big Of course, our desktop wouldn't be complete without a word processor, spreadsheet, presentation software right? so this is where Open Office comes in! I have saved the best for last, Open Office is free and multi-platform office suite, it's feature-rich and functional!

And that wraps it up, just finished giving you the run down of my personal Windows Desktop Essential Software! So the next time you're building your New PC or formatting and reinstalling Windows, you're pretty much aware of which software that goes to your system first.

Till next time! Happy Pragmatic Computing!

Friday, January 18, 2008

Bill Gates' last day at Microsoft

Just can get enough of Bill Gates' Consumer Electronics Show (CES) 2008 keynote which highlights his spoof view of his hypothetical last day at Microsoft, Why? Because it was hilarious! Ofcourse who could not notice the list of high profile cast.

And since I usually like to have my friend view this, instead of searching YouTube or Google and giving them the URL to the view it, might as well keep in one location on my blog.

Enjoy!

Wednesday, January 9, 2008

Hello World!

Like all programming introductory topics, so you scramble your way to teach your computer start greeting by saying "Hello World". With that said, i would like to welcome everybody to my Blog!