Blog Home  Home RSS 2.0 Atom 1.0 CDF  
The Efficient Coder - Hardware
There has got to be a better way of communicating with our computers!
 
 Friday, June 13, 2008

Got a great tip from listening to the pod cast at http://www.stackoverflow.com/ (if you don't subscribe you should!).  Jeff Atwood in passing mentioned a program I've been looking for, for a long time.  It's called WinSplit Revolution.  I'm big time into multiple monitors, here's a picture of my previous setup, my current one is similar, but have a 24" as my main monitor, then two 21" on each side and finally a 900x1440 off to the left.

  • My center monitor is used for editing source code editing, my primary source of revenue. 
  • Left 21" monitor has all the extra VS.NET windows such as solution explorer, output, error windows etc...
  • Right 21" monitor has the output of the project I'm working, usually have IE and Firefox open.
  • I recently added back in the far left monitor, a 900x1440 in portrait mode.  On this monitor, I've got my email and Debug View.

Anyway back to the WinSplit Revolution, this program uses a CTRL-ALT-NUMPAD KEY to position the current quadrants on the screen.

Check this one out, you won't be sorry!

-ec

6/13/2008 12:11:50 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]   Hardware | Software Engineering  |  Trackback
 Sunday, November 11, 2007

Annual Computer Upgrade

Well it’s time for my annual computer upgrade.  After reading Scott Hanselmans post on the ultimate developer rig, Scott Guthries post on Drive Speed and their impact on compiling and the much anticipated release of VS.NET 2008, I decided it’s time for a new computer.  After looking at all the high end machines out there, they seemed to be focused mainly on gaming so I decided to roll my own.  The guy I talked to said I could over clock the CPU to around 3.2GHz so picked up a huge CPU cooling fan.  I stopped off at CompUSA this afternoon and went on a shopping spree and picked up the following components:

  1. I also purchased a two year walk-in warranty on the processor and mother board since it's my intention to overclock these.
     

All in all it set me back about $2000.  It’s 4:15PM on Saturday and I’m going to start assembling, as I go I’ll be putting some of my findings and as well as how much work and time is involved with assembling this type of machine:

<notes>
     <note> I’ll be doing a little write-up as I go</note>
     <note> I think the last machine I built from scratch as an 80286, does anyone remember that processor? </note>
     <note> Since this was on a Saturday and after listening to Cigar Dave, this was after a couple beers and a cigar</note>
</notes>

Your mileage will probably vary ...

Here goes!

Step 1 – 4:20 -- Mount the Power Supply and Motherboard to the Chassis
Step 0.5 4:35      Ok, I’ve never been too good about reading the manuals…after all it’s only hardware right?  Need to install the processor on the board BEFORE installing the Motherboard on the chassis.  This is necessary because there is a brace for the cooling fan on the back side of the motherboard.

The brace is installed on the back and the fan on the front, when installing the fan the “S” clip doesn’t look like it will bend into place but if you put one side in then carefully hold the other end down you can tighten it up.  I probably should have gotten some lock-tight to hold these screws in place, but it should be alright

Mounting Bracket on back of mother board

Mounting Bracket on front of mother board

Quad Core Processor

Processor Installed with cooling fan

 

Step 2.0 5:00      Install Ram, this was fairly straight forward, I purchased 2 2GB sticks so I can later put in an extra 4GB.  The person that helped me pick out the parts also suggested a RAM cooler, for $15 I thought it probably wasn’t a bad idea.  Besides it has a cool blue LED that J

 

Step 3.0 5:10      Install Mother Board – OK let’s try this again, fairly straight forward, was a little tighter trying to get some of the screw in place but not bad.

Step 4.0 5:15      Connect the power, this one could be interesting…connecting the power wasn’t too bad, only three connectors there are two eight pin blocks, and of course I tried the wrong one first for the auxiliary power, but as I remembered from the last time I built a system, for the most part, you can’t put the wrong connector in place.

Step 5.0 5:25      Install the hard drives, this case has an awesome drive bay, I probably won’t ever fill it up but it’s a nice way to organize the hardware.  To start with I’m going to go with two Raptor 10K 150GB hard drives.  To start with I’m not going to use RAID, but have the programs on one and my source code on another as per Scott G.'s post.  I’m pretty good about committing my changes throughout the day so I’m not too worried about losing any data.  Also with this machine, I’m going to try to be very good about only installing the bare minimum on the actual host machine, then use either VM Ware or a different computer for installing all the other “crap”.  I just need this machine to fly and if I need to repave it at some point this type of configuration (only a few core apps and snapshots of my VMs) should make it relatively painless.

This was incredibly simple, access to the back with the removable back panel made this even simpler than I had hoped.

Step 6.0 5:45      Connect Power Switch, Power LED, Reset Switch and HDD LED.  This was fairly straight forward since, however since the LED’s have a +/- polarity, I needed to get this right.  I couldn’t find anything in the documentation on this however I saw a little “G” by one of the pins, I’m going to assume that this is ground or “-“, this was also on the white wire.  I have a 50/50 shot and I think I increased my odds a bit with the “G”.  I should know soon enough wrong assumption…exactly opposite is the case the white wire is the “+”.

Step 7.0 5:50      Install the rest of the front panel connectors.  External SATA (wow this could be really interesting) a few USB 2.0 connectors as well as some audio and an IE1394…I expect this to go smoothly…yup no problems.  The only gotcha here is that on the audio connector there is one for HD audio and one for AC97.  The mother board said HD so we’ll go with that one.

Step 8.0 6:00      Install the fan connectors…again I hope this to be straight forward…yup, no problem.  The only little gotcha here was the inside the coil on the cooler for the CPU the fan cable was sort of bunched up. So I had to fish this out…not really a problem.  Four external fans on this thing…it better run cool!!!  I just hope it doesn’t sound like a jet engine when I fire it up.

Step 8.5 6:05      The better half said the chili was ready, so since she let me get the new machine, I guess I better eat with her J.  I think after dinner I just need to install a graphics card and DVD drive and I should be ready to try a POST.

Step 9.0 6:45      After a quick dinner, I’m back at it now just install a VGA card and the DVD drive and I’ll be ready to test.  No problem.  I’m going to order a couple Dual DVI NVidia Cards, but for now I stuffed an older ATI PCI Express card to get ‘er fired up.

Step 10.0 6:50    Hook up keyboard, mouse, monitor and power cables

Step 11.0 6:55    Power up????????...no go L The diagnostics LEDs say Code 7F, check the POST error, but the monitor isn’t coming on.  I’m using an ATI PCIx card in an NVidia Mother board, I think I’ll try an old NVidia PCI card.  Yup, that was it…video card wasn’t pumping out anything.  Alright from unpacking to a successful POST, was a little under 3 hours with about a 45 minute dinner break.  In summary I really love the case, it was worth the extra $75.  Now for the fun!

Step 12.0 7:10    Install Windows Vista Business 64 bit edition

Complete 7:45 – probably took about ½ hour to do the complete Vista install.

Step 13.0 8:00    Overclocking - I found this thread on http://www.hardocp.com  this was a pretty good overview of everything I needed to know and was especially good since I've never done this before.  After playing with it a bit, it looks like my processor isn’t very happy at around 3.0 GHz, so I throttled it back to around 2.81Ghz and I’m running Prime 95 on it overnight to do a little stress testing.  If that looks good, I’ll probably settle in on that.  I a little worried in that a few times when I booted it didn’t find the main hard drive, but this was when I had it set to 3.0 GHz so we’ll have to keep an eye on that.

Step 14.0 9:40 Finish for today…let Prime 95 run overnight and see if I have a stable machine.

Done – 6:30 AM   Prime 95 ran all night without any problems.  The CPU’s actually remained fairly cool.  I may try to bump up the clock speed, but let’s see how a quad core 2.8GHz machine does on some basic bench marks

Benchmarks

These are from my 2.2 GHz Core 2 Duo box running Windows Ultimate with approximately 3.8 GB of useable RAM.  It should be noted that this machine is about 1 year since the last fresh OS install and is in desperate need of repaving.

1)      Power on until login screen is ready 1 minute 27 seconds

2)      Login until all the “junk” is loaded 1 minute 40 seconds

3)      Load my main VS.NET project 37 sub projects and probably about 200K LOC 22 seconds

4)      Full rebuild of my main project 56 seconds

 

Once I get VS 2008 RTM, I'll post my bench marks of the new machine

 

-ec

11/11/2007 9:38:56 AM (Eastern Standard Time, UTC-05:00)  #    Comments [1]   Hardware  |  Trackback
 Sunday, March 18, 2007

NiVek J.D.'s Maiden Voyage

Everything came together today for NiVek's J.D.'s official first journey.  NiVek J.D. is a remote control tractor purchased from Target that was converted over to be controlled via a small on-board computer programmed in Java.  The same basic board I used for NiVek I was used for this "robot".

This robot has two cool features not on NiVek I.  The first is it has a GPS module purchased from Parallax.  The second and which I think is really exciting is it using a Windows Mobile device as a "Repeater" that allows for communications from the NiVek embedded computer to a a PC.  This design is based upon software components that are part of WiMo or Windows Mobile Robot, you really need to check out that site!  This consists of some kewl software components that are made up of a Compact Framework 2.0 application that runs on Windows Mobile and a collection of services that run under Microsoft's Robotics Studio.

NiVek J.D.'s Hardware

Basically the radio was just ripped out of the existing remote control tractor and and the motors were connected to the NiVek embedded computer.  As with the "original" WiMo, the Windows Mobile device was mounted on a servo with a CD-ROM.  The original WiMo used a SmartPhone not a Pocket PC so that probably worked out a little better, it's nice to be able to pan the camera however with my driving skills (smacking into walls) one of these days, I'm pretty sure the CD-ROM is going to end up in pieces ;-).  I need to re-think that part of the design.

NiVeK J.D.'s Maiden Voyage (well at least one of the first few)

50,000ft System Overview

  • The actual robot itself is controlled by an embedded computer based upon a small PIC processor with some additional components that allow it to be programmed in Java with 32K RAM & ROM this was purchased from Parallax and is called a Javelin Stamp.  (See this post for more information)
  • The embedded computer has a BlueTooth transceiver module that allows it to communicate with a Windows Mobile Device.
  • The Windows Mobile Device has a Compact Frameworks 2.0 application running code available from the WiMo Bot web site.
  • The Windows Mobile WiMo application communicates with the robot via BlueTooth.  It also has the ability to listen on a socket for connections from a remote application.  Since this is a Windows Mobile device (in my case a phone), it will not only work while it's connected via a local LAN via WiFi, but it can also communicate via the GPRS radio and be a sort of "repeater" that will allow it to communicate to a host controller program anywhere it has cellular reception, just think about this...this is very kewl!  A nice feature is on the opening screen shot of WiMo it tells you the IP address of the device.
  • On the PC side you have a set of Microsoft Robotics Studio services.  When these services first start you will be greeted by a dialog that will allow you to enter the IP address of the remote Windows Mobile device.
  • Once you press "Connect" (and the software gods are shining on you) you should establish a connection from your PC to the WiMo application.
  • At this point a couple of additional forms will show up from the MSRS services.  The one in the upper left is displaying console messages from MSRS (Microsoft Robotics Studio).  This is a great way to see what's actually going on with your services. 
  • The one in the upper right is from a service that came with WiMo (with the addition of buttons to control the motors).  Another really cool built in feature with WiMo is the ability to use the camera on your Windows Mobile device to send pictures back from your robot.  This from also sends messages to the core WiMo communications MSRS service to pass those to the WiMo device application.  These messages allow for control of the robot from the PC.
  • The dialog in the bottom is an additional MSRS service that was built that subscribes the the TextMessageReceived event from the core WiMo service. 
    • The NiVek embedded computer spits out GPS readings every second (probably need to change this so it only sends when the location changes). 
    • This gets sent from NiVek to the the WiMo software on the device with a simple <stx><etx> binary protocol.  The WiMo software turns it into a simple text message. 
    • For our GPS WiMo constructs a simple text message "GPS: #Sats=4 Lat=28.4.042 Long=82.42.5522". 
    • This text message is sent over the wire from the Windows Mobile application to the WimoComm MSRS service. 
    • The WiMo MSRS service picks up the text message and finds any services that subscribe to this type of incoming event.
    • The GPS Point plotter MSRS service subscribes to these messages so it takes those readings and plots the on the crude dialog you see below.  The challenge here is that for a robot this size of NiVek J.D. if it moves 50ft that's a long distance, and the resolution on the GPS module I purchased just doesn't seem to be all that accurate.

Finally one last picture of you host at the controls!

Looks like my day job is going to be busy over the next few weeks with DevConnections and MEDC but I hope to sneak in a few hours every once in a while to push this effort forward!

Can anyone figure out what NiVek stands for?

- ec

3/18/2007 5:29:28 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]   Hardware | Mobile | Robotics  |  Trackback
 Sunday, December 31, 2006

New class of computing devices UMPC

 

While I was at DevConnections last November, I was introduced to a new class of computing devices, these are called “Ultra Mobile Personal Computers” or UMPC for short.  In my ever humble opinion, these are going to play a huge role in the evolution of the mobile workforce.  Over the New Years weekend, I added to my inventory of computers and purchased a Samsung Q1, although the device came with Windows XP tablet edition on it I was assured by the Employee at an electronics store; whose initials are the same as a type of not very deadly toy gun I had growing up; that all the drivers are available for Vista, I give him about a 50/50 change of being accurate ;)

 

Currently I’m using an HP TC1100 tablet PC and I just love it, some people like the convertible type of tablets that are both a tablet and a notebook computer, however in most cases when I’m using my notebook, I want a fairly high-end machine and when I want a table I want something really portable to do things like capture notes or manage my emails.  A notebook is just really overkill and too clunky.  My first tablet was a Toshiba convertible, I picked it up the first day a Tablet PC was every made available in a retail store.  I liked it because it had a 14” screen and a keyboard, I guess my experience may have been tainted in that after about the first six months a one inch portion of the screen went dead, but I just never really liked this as a table, the screen was just too big and had to always position it to use it in the best way for taking notes.  In addition even though Beth is still using this today, it just really seemed fragile.

 

So why am I excited about the UMPC?  Well I guess mainly its size.  I have considerable experience in the mobile space with PDA’s, but depending on the application/usage, a PDA isn't always the best solution for any sophisticated conversation with your computer.  The tablet or I guess the word for what I like is “slate” without a keyboard is a good solution; however in most cases, you don't need all the real-estate and for mobile the smaller the better.  In addition UMPC’s are to have a price point between $400-$700 which really makes them attractive to users that may not want to drop the $1200-$1500 on a slate or convertible.

 

-ec

12/31/2006 7:34:24 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]   Hardware  |  Trackback
Copyright © 2009 Kevin D. Wolf. All rights reserved.
DasBlog 'Portal' theme by Johnny Hughes.
Pick a theme: