| |
I just found this Microsoft KB article which is a very comprehensive list of what services use what ports. Anyone working with enterprise software solutions or Microsoft back end infrastructure should find it useful. GEO 51.4043197631836: -1.28760504722595
Too much effort reading my ramblings ? Want to listen instead ? Now you can !! Courtesy of the excellent odiogo, the excellent text to speech service. This is a free service that bloggers can use, it takes your RSS feed, splits it out to each separate post and then creates a MP3 for the post. The text-to-speech quality is really good, only about 1 in 50 words is corrupt/unintelligible - easily high enough quality to get a good rendition of the post. Obviously it depends on the content of the post, I have not yet listened to a post with lots of sample code or the like, but I expect it would be pretty hard going. Get the audio for this blog here. You can even subscribe in iTunes. I will also update the site to include the links in the sidebar. GEO 51.4043197631836:-1.28760504722595
One of the things I find really helpful in terms of motivation (for running) is having easy visibility of weekly, monthly and total mileages, times, paces etc.
So, a couple of weeks ago I bought myself a Nike+ Sportband. This promised it all - a senor that fits in your shoe and automatically records your distance, time and speed and wirelessly transmits it to a wristband. The wristband also has a detachable USB connector / screen that you simply plug into your PC and the data is auto uploaded to the Nike+ web site.
For too long I have been using an Excel spreadsheet and manually copying it between PCs, in the past couple of months I had started getting to grips with WCF by putting together a running log application that I had planned to host on my web site (just for me) - no need for that any longer, Nike+ was going to solve all my problems and more...
How wrong I was. I cannot tell you (although that is exactly what this post is trying to do) how technically inept this product is, not just the wristband but also the web site, the whole experience in fact.
If you are familiar with the class book 'Code Complete' you will know about a 'Coding Horror' (things you really should not do when writing software), Jeff Atwood even used the term for the name of his great blog - well this isn't all software, so lets call them 'Design Horrors'.
The first 'Design Horror' comes from trying to invent a new and snazzy way to secure a piece of technology to your wrist. Watch straps have been around for hundreds of years, everyone knows how to use it right ?, the only advancement in wrist fastening / securing technology ever was to use a Velcro patch to secure the two separate lengths of strap together (typically in sports pieces, for added speed). Did this stop the Nike engineers, no way - they came up with a new paradigm in wrist strap technology. One length of strap has 10 small holes, spaced by about 2 or 3 mm, the other length has two stud like protrusions that (using one hand) you must line up with the required two holes and push into place with a force just less than that required to push your thumb through the flesh of your wrist.
'Design Horror' 2 (DH2) is similar to that of DH1, remember the detachable USB connector / screen thing I mentioned, well to secure it the USB connector pushing into a slot in the wristband and then it is secured by one of these studs pressed into a hole, however the button on the face of the screen is exactly above that stud and pushing the USB thingy down to make sure it is secured typically results in the button being forcibly pressed for a few seconds (resulting in the device trying to locate the shoe sensor), also I'm not comfortable with the amount of pressure placed upon the button this regularly (thumb through the wrist pressure)....
'Design Horror' 3 (DH3) is the 'clock' facility of the wristband. I may be being unfair here, this could be a 'by design' issue that was never part of the requirements (which would make it a Product Requirements Horror instead). The wristband has the ability to display the current time, as well as the mileages, pace etc. Naturally you would think that Nike position it as a watch replacement for runners, however I cannot believe that is the case. how could they imagine it would replace my watch which not only has alarms, date functions, countdown timers etc with something that only shows the time, nothing else, and does so without any form of backlighting, so that trying to read it outside the core hours of 10am to 4pm result in a painful headache and a trip to the optician for thick lenses. Obviously the decision to save what couldn't be more than 10p, for a tiny surface mount device giving date/time features, in the cost of materials seemed important to them.
'Design Horror' 4 (DH4) is the orientation of the display. This is in the most difficult to read position available (regardless of how the thing is worn). The display does not read along the length/drop of your arm like most watches - no, it reads perpendicular to the length/drop of your arm. So, now, instead of just squinting at the display with no backlighting you are also skewing your arm / wrist into some crazy angle like a contortionist.
'Design Horror' 5 (DH5) brings us to the client side software that you need on your PC to interface with the USB thingy and auto upload your run data. When you plug the USB thingy in it auto starts the 'Nike+ Utility', however it is started behind all other application windows. Further, on first using it it displays a login facility pre-populated with the username of 'Guest'. Clicking in the username textbox to try and change it results in nothing ?? Nowhere does it mention it, but I have since determined that you log into the site via a browser and then the Username is picked up for the 'Nike+ Utility' from a cookie or something... What part of "we'll show a username that the user knows is not theirs and give them no visible means of changing it" seemed sensible at the design stage ??
'Design Horror' 6 (DH6) falls into the areas of calibration and uploading runs. You can see from the screen shot that there is a calibration tab (the sensor is basically a pedometer and it needs to be calibrated to your stride length for accuracy) - the problem is that as soon as the USB thingy is plugged in the Nike+ utility starts and uploads any outstanding runs, before you calibrate. So my very first experience with this, when I'm still in the 'happy' zone about my purchase is a run being uploaded that is the wrong distance. All the shiny graphics depict that I am considerably slower and run shorter distances than I actually do - what a deflation. of course, my first though is that I'll just edit the run and update it with the correct distance - leading me nicely to DH7.
'Design Horror' 7 (DH7) is the fact that I cannot edit any of the runs I upload, neither can I manually upload/input runs. With all the (fun) challenges available on the site, design to further motivate people, not providing this feature is a big letdown. Just in terms of personal motivation, Nike+ shows my Total for this year as 18 odd miles, but I didn't buy it till July, being able to correct that with accurate values should be possible, unfortunately it's not. Likewise some kind of import facility for all my old runs, should be - but isn't...
'Design Horror' 8 (DH8) is the communication between the wristband and the Nike+ web site - it seems to be one way, certainly none of the totals from the web site are reflected in the wristband figures - I 'reset' my wristband the other day to recalibrate (the distances suggested by the unit were 1.05 miles in 8 out, even after calibration) and now it tells me my total is 1.93 miles (even though I calibrated it to 2 miles exactly).
The final 'Design Horror' (DH9) is the accuracy of the data. The run depicted in the image was an 8 miler I did, steady pace, no walking, flat terrain and a fast finish. the data does not reflect that, it looks like I actually stopped around 2.5 miles and slowed at the end. Nice graphs are great, but if I don't trust your data then what's the point.
The whole web site is flash/shockwave based and pretty slow, it is also difficult to navigate and non intuitive.
On the flip side, it is a great idea, some of the web site features are really neat - the ability to challenge other runners, join 'virtual teams' and have team challenges - it's a pretty good social networking for runners site all in all. It only costs £40 for the kit (sensor and wristband), so it doesn't break the bank. BUT - It could be incredible if the hardware and software are sorted out !!
My message to Nike - Just Do It
GEO 51.4043197631836: -1.28760504722595
So a while back (31st Dec 2007), my beta license for Windows Home Server (WHS) expired and I hacked together an alternative solution.
I have been updating my (almost) free/opensource alternative (it still needs a Windows OS) over the past couple of days and now have a pretty viable solution.
I have a machine (the Home Server) running Windows (any version would do) with two large additional drives in it (Data1 and Data2). Data1 is the primary data drive and on there I created a number of folders / shares:
- Photos
- Documents
- Music
- Videos
- Software
- Backups
- Downloads
I re-homed each of my 'special' folders in Vista (Docs, Music, Video, Photos) to these shares, so all data is stored on the Home Server. You could create a separate shared folder for each user with the correct permissions, but I share all the docs/photos etc between all machines so no need for me.
Next I wanted the WHS feature of duplicating the stored data across more than drive, so I grabbed a copy of the Robocopy and created a batch file with the following commands :
- robocopy d:\documents e:\documents /MIR /SEC /LOG:c:\robocopy.txt /NDL /NFL
- robocopy d:\music e:\music /MIR /SEC /LOG+:c:\robocopy.txt /NDL /NFL
- robocopy d:\videos e:\videos /MIR /SEC /LOG+:c:\robocopy.txt /NDL /NFL
- robocopy d:\software e:\software /MIR /SEC /LOG+:c:\robocopy.txt /NDL /NFL
- robocopy d:\photos e:\photos /MIR /SEC /LOG+:c:\robocopy.txt /NDL /NFL
- robocopy d:\backups e:\backups /MIR /SEC /LOG+:c:\robocopy.txt /NDL /NFL
- robocopy d:\downloads e:\downloads /MIR /SEC /LOG+:c:\robocopy.txt /NDL /NFL
This replicates all the folders across to the other data drive (Data2) thereby mitigating against a single drive failure. All the replication results / logs are stored in a file (c:\robocopy.txt) and I wanted that emailed to me so I grabbed a copy of Blat and added the following command line to the batch file :
- c:\tools\blat262\full\blat.exe c:\robocopy.txt -to YOUREMAILADDRESS -subject "RoboCopy Results" -server mail.YOURMAILSERVER.com-f "RoboCopy on Home Server" -u YOURUSERNAME -pw YOURPASSWORD
I named the batch file 'replicate.bat', put it in the c:\tools folder and then scheduled the batch file to run every night at 2am with this command line :
- SCHTASKS /Create /SC DAILY /TN Replicate /TR c:\tools\replicate.bat /ST 02:00
Excellent - now the data is replicated across two drives, and I get an email every day with the results of the replication process (in case anything goes wrong).
Next I wanted to ensure I have remote access to my files from anywhere. I grabbed a copy of the excellent HTTP File System and put that on the Home Server.
I set the root to the Data1 drive, created a user account for myself and gave it 'upload' ability and that gives me fully web based access to upload and/or download any file.
The next piece in the puzzle is to get full backups of the machines. For this I had planned to use VMware Server and the excellent VMware Converter tool, however it seems the command line options for the tool they provide p2vtool only works with a licensed version.
It's a great tool and pulls a whole physical machine image into a VMware virtual machine - and is a great way to get the failed machine back to life - what it doesn't do is restore a machine, but I'm most likely to rebuild any failed machine anyway - I simply need access to any files / data on there that might not have made it to the shared server folders...
GEO 51.4043197631836: -1.28760504722595
The king is dead, long live the king.
Over the Christmas break the license for my beta of Windows Home Server ran out, so I needed an alternative backup / storage solution. I briefly considered Linux with some iSCSI software, Windows with DFS or FRS, or indeed forking out some of my scheckles for a folder sync application.
The requirements were as follows:-
- NTFS, for large file support (12 Gb in some cases).
- Easy duplication of the data (including hierarchy) across multiple drives.
- UNC pathname support, so I could 'rehome' my docs, music, photos etc to it.

In the end I opted for a fairly simple solution :-
- A windows machine with a drive for the OS and two additional data drives.
- One of the additional drives would be the primary where folders are 'rehomed' to and all data is stored.
- A batch file would fire off 'Robocopy' (free in the Windows Resource Kit) to mirror this primary data drive to the secondary data drive.
- Another batch file would fire off 'Robocopy' for copying to external USB drives.
- Batch files would be scheduled using AT command line tool and would email results files using the free Blat! command line tool.
- The primary data drive would also be backed up to my 'iDrive Pro' account (online 150 Gb storage facility for $50 / year).
- Of course, photos are also backed up to my Flickr Pro account (unlimited online storage of images for $25 / year).
GEO 51.4043197631836: -1.28760504722595
Sarah wanted 'Ruby Ruby Ruby' by the Kaiser Chiefs as her ringtone. Her mobile doesn't have any easy way of connecting to a PC, so she joined one of the rip-off 'Ringtones R Us' services that force you into paying £4.50 / week for as many ringtone downloads as you want (aside: I must be getting old - why would anyone want to change their ringtone that often ??).
Anyway, after downloading the mp3 she found it start relatively quietly and she was missing some calls. What she had actually wanted was the chorus....
So cue Kens Do It Yourself Ringtone Creater and Transferer... 
Step by step instructions :-
- Rip the song to an MP3 (from the CD which we do own - no copyright issues)
- Download Audacity.
- Cut the chorus out of the original track (loaded MP3 file)
- Create a new stereo track and paste the chorus into the new track.
- Mute the original tracks
- Play / listen to the new track, make sure you are happy with it.
- Download lame_enc.dll to allow Audacity to export as MP3 (see this Audacity FAQ)
- Export the new track from Audacity as an MP3.
- FTP the MP3 file to your website
- Using 3G / GPRS etc on the mobile phone connect to the internet
- Browse to the MP3 file and download it to the mobile
- Set the MP3 as the ringtone.
- Cancel the expensive MP3 ringtone service (if applicable).
GEO 51.4043197631836: -1.28760504722595
I was spending far too much time installing OS's - virtual machines, lab machines etc.
In order to automate / streamline this I wanted to look at not just the Windows tools as well as other options. Remote Installation Service (RIS) and unattended.txt files go so far, but during my investigations I came across 'Unattended'. This open source tool takes unattended.txt, mixes in silent installs for hundreds of other common applications and supercharges the whole lot...
So the deal is, you extract some files from 4 zip archives, configure a DNS alias, share the folder, copy over the i386 folder from your OS CD/DVD, burn an ISO (or create a boot disk) image and your done - 25 minutes end to end.
The boot CD/Disk loads some network drivers, maps a Z drive to '\\ntinstall\install' (the machine and share with the files and OS on it) and passes control to a bunch of Perl scripts, these ask some questions from which it creates an unattended.txt file and executes the OS install (reboots and all). When the install completes it can also (optionally) run silent installers for other applications (Office, Open Office, Acrobat Reader, PDF Creator, Visual Studio, Perl etc..) as well as Windows Updates and critical fixes (they keep an up-to-date list on the homepage).
So, in summary, after booting from the install CD then 2 minutes of console based questions I can leave things for an hour or two and come back to a fully installed Windows OS, office applications, sales tools, developer tools - whatever. The scripts that install the additional apps are customizable (you can even enter your product keys) and you can build up suites from individual scripts (so I can have a script to install Visual Studio, another for the MSDN library, another for each of the various developer tools and then I can combine them all into a 'developer_machine' script...
Have a look - if you are doing more than one install (even just two) then this can save you time...
This is pretty cool. Microsoft (in the UK) are creating downloadable dictionaries for Office that contain words from local dialects. It is only a matter of time before I can type:
It wisnae me that smashed the windae wi the fitba! (TRANS: it was not I that smashed the window with the soccer ball)
Without the little red squiggles underneath.
The company I work for (C2C) are hiring. We are looking for Technical Support Engineers to work in our Reading, UK office. We'll consider any experience level as long as the individuals show commitment, determination to learn / succeed and have a passion for technology. You might be right out of school / college, looking for your first step into an IT career, you might be an Exchange expert with many years of experience. We can promise variety, leading edge technology, in depth technical problems to investigate and input into the product direction. Want to apply ?, email us at hr@c2c.com
This week (so far) has been good - in terms of completing things, productivity and new products. First off, Microsoft finally released PowerShell for Vista. No more having to 'play' on my old lab machine to get to grips with this stuff. There seem to be a number of people reporting failed installs(due to EFS encryption being disabled), just read the comments of the PowerShell blog announcement. Next, we're just coming to the final couple of days of a 'Supporting Exchange 2007, Office 2007 and Vista SPRINT' at work (we use a form of SCRUM as our development process) - all is looking good and we have beta sites lined up. Then, I noticed Eileen's (the most communicative Microsoft employee on the planet) post about Office 2003 to Office 2007 command references. An interactive demo from Microsoft when you can click the toolbars and menus of an Office 2003 application and it tells you how to find the equivalent command/function in Office 2007. I spent some time finding the 10 or so commands I'd been having difficulty with and increased my productivity. Here's her post : http://blogs.technet.com/eileen_brown/archive/2007/01/31/old-to-new-reference-guides.aspx Then late last night (again at work) we just completed our internal testing before sending our Archive One product for Microsoft Platform testing. We are testing against 5 of the 6 platform tests (we don't fit into the 'Managed Code' test category as we make extensive use of MAPI which basically requires C++ / Unmanaged code)
After a bit more investigation on the AV connection front for my Creative ZEN, I found the following :  A definition of the AV pinouts for various media equipment and particularly the Creative ZEN. I already have a Camcorder Cable, so one of the tricks I found in some AV forums is to fully insert the 3.5mm connector and then pull it out by one click. If you do the maths it means you get Video, Ground and Right Channel Audio. Trying this on my unit (with my Camcorder Cable) it works pretty well.
Isn't Santa a nice guy. For no other reason that I had been 'good' all year, he brought me a shiny new black Creative Zen Vision:M 30GB. Thank You !! So far I have loaded it up with : - 200 CD's of music
- Just shy of 3000 photos
- Star Wars 4, 5 and 6 (ripped from DVD)
- Two episodes of the DotNetRocks podcast
- One episode of DNR TV
- All my Outlook contacts (114)
and it still has over 14GB free. It comes in a box about the thickness of 3 DVD titles. The package includes : - The unit itself measuring 100mm x 60mm x 20mm (my rough measurements)
- The obligatory install CD with 1 gem (Creative's Zen Explorer) and a bunch of other freeloading applications (Audible Manager, Creative's own Media Player, blah..)
- A manual in about 18 languages
- A small dongle (Sync Adaptor)
- A crappy set of in-ear headphones
- A fabric pouch to fit the unit
- A USB cable (Sync Cable).
The dongle connects to the bottom of the unit and split out from the all-in-one connector to : - USB (small type B) for data transfer and charging
- A mini DC jack (5V) for charging
- AV out (for connecting to a TV)
Odd that there is no DC Power adaptor for it - the only supplied option is the USB charging (another purchase I suppose) The AV out connector is a 3.5mm headphone type plug, but you have to buy a cable to split this out to video and L/R audio (my Panasonic Camcorder uses a similar cable - I plan to try this out with the Zen) My initial reactive is that it's a great device, lots of storage, the audio is as you'd expect from a MP3 player, the screen / photo display / video playing is very sharp and large enough (2.5 inches) to make it watchable. The user interface is clear, logical and easy to use and buttons and scroll pad are all well laid out.  The Creative Zen Explorer software basically consists of a driver and Shell Extension to allow you to browse the device from Windows Explorer, add media and play lists etc and also to sync Outlook data (Tasks, Calendar and Contacts). Audio transfers seemlessly but video is a bit more involved - if the video is not supported by the device (codec or size - the unit uses 320 by 240) then the transfer fails and you need to hit the 'convert' button when then converts it to the correct format / size and transfers it (this should all be hidden within the 'transfer' option instead of a seperate, manual, task). There are no real instructions on any video transfer options other than "if it doesn't work then try converting it first". However, with a little googling I found a method of ripping and transferring DVDs etc (more on that in another post). All in all - Very Impressed.
I recently persuaded Sarah to let me buy a High Definition (HD) TV, a 32" LCD job. After much research, I decided on a Vistron model from eBuyer - there are over 50 customer reviews on their site and it seems most of them are pretty good. It was delivered in a couple of days (eBuyer's delivery has always been top notch) and then sat around the house for about 3 days waiting for me to return from the States. I have it all installed and working now and I can certainly see it is a great TV - I plugged in my Acer laptop and played some of the free HD WMV clips that Microsoft have available on their website. The screen runs at 1366 * 768 and is real sharp, the HD WMV's look great. There are also plenty of inputs on the unit including : - HDMI (720p with support for HDCP)
- 2 SCART connectors (1 is full IN/OUT, other is IN only)
- Component Video
- Composite Video & Audio (YRL)
- S-Video
- Antenna (for the Analogue and Digital, Freeview, DVB-T signal)
That said, in the UK there is no HD content over DVB-T (Freeview), except the trial stuff for 550 user going on around London. I don't have a Xbox 360 (yet) nor a Sky HD box nor a HD DVD player so basically I'm stuck with Standard Definition (SD) for the time being... I knew this would be the case, but I didn't expect the visual experience of SD on a HD TV to be quite so bad. The artifacting is really noticeable, it's a real pain trying to get a decent (stretched) picture from 4:3 to fill the whole screen. OK it's not too bad with widescreen stuff, DVD's etc, but it's just not the experience I was expecting. The next options are basically to spend another £300 on a Sky HD box (and £10/month subscription) or maybe a Xbox360 for he DVD aspect - there are other less expensive HD DVD options but I like the thought of using the Xbox360 as a media extender and going with Windows MCE 2005 on my PC. In summary, I'd recommend the HD LCD TV if you have Sky HD or do lots of XBox360 gaming, otherwise I'd skip it.
Released today, a new version - get it here. They have added the following (list extracted from the Windows Liver Writer blog post)
The following is a summary of the changes in the Writer 1.0 (Beta) Update:
- Tagging support
- Support for Blogger Beta
- Categories are sorted by name and support scrolling, plus improved support for reading categories from your blog
- Improved startup performance
- Paste is enabled for Title region and TAB/SHIFT+TAB navigation between title and body supported
- Insert hyperlink added to context menu when text is selected
- Title attribute in Insert Link dialog
- Custom date support for Community Server
- Improved keyboard shortcuts for switching views
- Change spell-check shortcut key to F7
- Add ‘png’ to insert image dialog file type filter
- More robust image posting to Live Spaces
- Improved style detection for blogs
- Fixed issues with pasting URLs and links
- Remember last window size and position when opening a new post
- Open post dialog retrieves more than 25 old posts
From what I have noticed :-
- It still takes an age to open.
- There is still no support for adding a file to a post (and having it uploaded / FTP'd), so my 'Insert File (via FTP) plugin' is still valid.
- There is still no support to add new categories (you can choose from existing categories)
- The insert 'task box' does not provide a scrollbar
(so some items get hidden as you create more drafts)
Other things I noticed about the SDK when writing my plugin :
- No way to get a ref to the current blog provider
- No way to get properties for the current blog (this would be great as my plugin would be able to automatically pick up the FTP settings)
- The icon size for displaying on the Insert tab is a crazy 20x18. Why didn't they simply go with a standard size (16x16 for example).
See 'Insert File (via FTP) icon on the embedded image for how it looks when trying to scale a standard image to this custom size - AWFUL.
However, I can't complain, overall I'm pretty happy - it's FREE, it makes my post creating MUCH FASTER and the way it shows me how the post will look on the website (automagically using my website CSS / formatting) is just AMAZING
Having raved about WindowsLive Writer recently, I've been using it extensively over the past few days.
I'm using Dasblog 1.8 for this site and apparently it doesn't support the API required to automatically upload images etc (Writer recognizes this and offers me FTP instead - which works well). That's all fine and good for images, but sometimes I want to give links to files...
Writer provides a pretty easy API and plug in architecture so I thought I'd write my own Plugin which allows the user to browse for a file, upload it and insert a link to the file into the post content.
This was a really exercise, taking only about 2 hours total for coding and testing. You can get the binary files here and the source code here. This was really for my own use (and doesn't do any error handling), but feel free to use it...
Basically, copy the binary files to the Plugins sub folder of your Writer folder and restart Writer, it should be automatically recognized and you'll get a new item in the 'Insert' tab of the sidebar
Click on the item and you get a dialog allowing you to specify the file to upload, which site to upload it to and the text to display as the link in the post.
The XML file allows you to specify what sites you want to upload to. Specify the correct settings for your FTP server / path. Only one item should have 'default' set to true (this makes it the default selected item in the ComboBox) and if you have 'debug' set to true then you will get a messagebox indicating the Uri it is trying to send the file to.
I've just read Joel's review of the free phone that Sprint gave him (hoping that he'd blog about how great it is and how great their Power Vision Network (their content) is. Virtually everything he says about the phone itself (UI, build quality, features) stands for the Samsung D600 - I've been meaning to do a similar in depth review of the Samsung for a couple of months now - no need now that Joel has done it. Samsung, in fact all phone manufacturers - yes we love features, but it is not enough to cram them in, in a haphazard, non integrated, non intuitive way that basically does not work correctly. Apple, get on and make a mobile phone in the genre of the iPod, people will buy them in their hordes.
I recently purchased a Linksys ADSL2MUE, I was a bit dubious of it at first as it seemed to take forever to connect and the connection was very flaky. Also the configuration options were pretty poor in the 4.12UK version of software.
I then found that in the 4.12UK version of software it provides NAT for outgoing connections but drops ALL anonymous Internet requests - meaning I cannot initiate a connection for a remote machine to my home network - NOT GOOD as I like to have access to my files (FTP), my source code (Subversion) and my desktop (VNC).
After much googling and a very close call with parting with more cash for another DSL modem, I came across an Australian version of the firmware for this box that apparently enabled many more features.
Why not give it a go, I was planning on getting something else anyway, so if I 'brick' the device I'm still no worse off.
I found the firmware and a post about it here. The guy posting about has the files hosted on esnips, which requires a login etc, so to make it easier I've posted them here also.
This new firmware is actually BETA (I think) and designed for the Australian market but hey - it works like a charm and gave me lots of new features AND A MUCH MORE STABLE CONNECTION.
I now have it configured to pass all ports through seamlessly and all the firewall rules and port forwarding is handled by my Linksys WRT54GG (running DD-WRT v23.SP2 firmware). So, full access to my home services, remote management capability and many more diagnostic facilities... Exactly what I need.
Some Screenshots



The Linksys WRT54G is a wireless 4 port router / firewall. It has 4 wired Ethernet ports, a Wireless Access Point and router/firewall functionality. It does NOT have a DSL modem built in (so it will NOT connect to your phone line to link it up to your BTBroadband, Talk Talk Broadband or any other Broadband account. It is a small box with a little computer inside running a customized version of Linux.
Until recently I was running this plugged into a DLink DSL-300T DSL Modem (this does the conversion from DSL to Ethernet and passes the data to/from the WRT54G box). The DLink modem failed so, when replacing it I immediately looked to Linksys (as I have been very happy with the WRT54G). I found they do a ADSL2MUE box which is a pure DSL Modem and it stacks really well on top of the WRT54G, also it's only about £22 so it was a done deal.
I'm fairly comfortable linking these together configuring it as necessary, so I was really surprised to see the amount of people having difficulty when I looking for reviews of the ADSL2MUE.
Most 'getting you started' guides seem to outline how to get the box working on it's own but never 'how it all works in a typical environment'. So here's my comments on how you go about it in a generic manner (any router and DSL modem)...
So, how do I configure them to work together.
Both units come with a default IP address of 192.168.1.1, also, both units have a web interface to allow configuration. So... you do NOT want to plug them both into a switch/hub at once as you'll get an IP address conflict.
So, take the modem and plug it into the switch/hub. Configure your PC to have a static IP address of 192.168.1.2 (Actually the router provides DHCP by default, so you could leave your PC configured to Dynamically Assigned, but just in case...) Open your web browser and enter the address 192.168.1.1 - enter your username and password (by default admin & admin) and your in.
Now change the network settings so that your modem has an IP address of 192.168.2.1 When you commit the changes you will no longer be able to access the web interface - so change your PC to a static IP address of 192.168.2.2 Configure your modem to connect to your ISP as usual. Also configure the modem to provide DHCP to the Ethernet clients Now we have the modem working we need to connect it up to the router and get that configured.
So, take the router and plug it into the switch/hub. Configure your PC to have a static IP address of 192.168.1.2 (Actually the router provides DHCP by default, so you could leave your PC configured to Dynamically Assigned, but just in case...) Open your web browser and enter the address 192.168.1.1 - enter your username and password (by default admin & admin) and your in.
Now configure the router to use Automatic IP Configuration on the WAN side. Configure your normal router settings and your all set.
I've done that, but what is actually happening.
OK, your PC has been automatically assigned an IP address in the range 192.168.1.X When you try to make a Internet connection (Web, Instant Messenger, Online games etc) then it is trying to connect to an IP address (lets say 80.12.23.45) your PC cannot connect to that IP address (it can only connect to other machines in the 192.168.1.X range) so instead it sends the request to the default gateway (which is your router). Your router does all it's filtering and firewall stuff and eventually (if allowed) the request goes to the WAN port of the router - this is connected to the modem and has been assigned an IP address automatically (lets say 192.168.2.2, because that's the range it's in) the router forwards it to the modem which passes it through to the DSL connection and on to your ISP etc etc until it gets to the right location.
Points To Note
The router and modem MUST be on separate subnets (i.e. 192.168.1.X and 192.168.2.X - it doesn't have to be these address but they MUST be different - at least one of the first 3 sets of digit must differ)
This post outlines how to configure the modem in MODEM mode, not BRIDGED mode - that is a different discussion (email me directly)
I've just downloaded and installed Windows Live Writer.
After playing with it for two minutes, I've decided it will replace w.Bloggar my current incumbent blogging tool.
Don't get me wrong, w.Bloggar is a very good tool. There site was down for a couple of weeks (which made me worry it was dead) but is now back up (to a degree) and they have a new partner for hosting their site. It supports all the functionality that I require
BUT...
Windows Live Writer just does it better !! It automagically detected my CSS and formatted itself with it (so my posts, as I am writing them, now look they way they will on the website). I can create the posts in HTML view, including insertion of images etc. The method of selecting/configuring FTP uploads was a breeze. Also (maybe this is just perception/rose tinted glasses), I seem to be creating posts A LOT quicker than I could with w.Bloggar
Screenshots
Writer has a much slicker interface and just seems so much more intuitive. In my simple terms w.Bloggar looks Win2000 and Writer looks Win2003
I just cannot rave about Writer enough. It's still a BETA, but it rocks..
So I've spent a lot of time (seems like a huge amount) trying to get to grips with the XMLSerializer in .NET. I think I have pretty much come to the conclusion that what I'm trying to achieve is not possible (even though it seems like a logical thing)...
I'm trying to serialize a bunch of class data into XML format. The actual objects seem to Serialize correctly (if I set the ArrayList, al, to public in the collection) and I can modify the element names in the XML that is produced by using the [XmlElement("new_name")] attribute.
However, trying to set the ArrayList to non public and have the XMLSerializer use the C# indexer to get the objects gives me no end of hassle.
- If I set the indexer to return objects of the interface type it will always fail
- If I change the indexer to return objects of the concrete class then I cannot seem to modify the element name of the concrete class in the XML - it always comes out as 'MyClass'
I've tried overrides, but these also fail telling me I cannot apply a RootAttribute or TypeAttribute to the class
Looks like it's going to have to be implementing IXMLSerializer instead...
Here's a snippet of the code that I can't get working...
public interface IMyInterface
{
double BigNum { get; set;}
}
public class MyClass : IMyInterface
{
private double mBigNum = 0;
public MyClass() { } // default contructor
[XmlElement("bignumber")]
public double BigNum // property
{
get { return mBigNum; }
set { mBigNum = value; }
}
}
[XmlRootAttribute("gpx")]
[XmlInclude(typeof(MyClass))]
[XmlInclude(typeof(IMyInterface))]
public class MyCollection : ICollection
{
private ArrayList al;
public MyCollection() { } // default constructor
public Add(IMyInterface obj) { al.Add(obj); }
public IMyInterface this[int index]
{
get { return (IMyInterface)col[index]; }
}
// ICollection members all implemented correctly
// IEnumerable members all implememnted correctly
}
// code you want to run to do the serialization
MyCollection mc = new MyCollection
XmlSerializer xSer = new XmlSerializer(typeof(WaypointCollection));
TextWriter writer = new StreamWriter(@"c:\myfile.gpx");
xSer.Serialize(writer, mc);
writer.Close();
I've recently implemented the SCRUM methodology at work (C2C Systems).
It has been a really interesting process, has taught us some very valuable lessons and provided a number of benefits :
- There are many things that go into the development process that people do not view as (or understand are) part of the software development lifecycle (SDLC). During the first couple of Sprints we didn't have all of these surrounding tasks in the backlog so our time estimates for getting features complete were a good deal off. However this was made visibile by the daily SCRUM meeting very quickly and sorted out on the subsequent Sprints.
- Developers really appreciate the kind of visibility it gives them of what is going on. What is left to do and in what sort of timescale, also what the objective for the Sprint is and the (non changing) list of tasks for the Sprint are.
- It doesn't work well when you have interdependant tasks in the same Sprint. OK, maybe one or two would be OK but lots of dependancies are a bad thing. All design and investigation work should be in the first (or early) Sprint and the coding in the subsequent (or later) Sprints.
- It 's incredible the visibility you get of Impediments. ...and the difference it makes when you 'fix' them. Fixing them also demonstrate to the development team you are serious about helping them be successful.
- It 's incredible the difference it makes when you focus everyone on SCRUM work. For example we got a little behind during one Sprint, we focused all developers on the Sprint work, barred interruptions (I triaged all Support Escalations for the day) and the productivity for the day went through the roof.
- Our estimating (of timescales) improved beyond recognition. Instead of 'Oh that'll take about 2 weeks', you get accurate estimates (because the developers know that you have all components of the SDLC in the 'plan' they feel more comfortable providing accurate timescales instead of trying to cover their arses). I measure the delta between time worked on a task and the time estimated, then add all those together for all tasks and generate a percentage figure - last Sprint was 98% accuracy in our estimating
Here are some links that I found useful when planning / implementing SCRUM.
and here is a sample Excel spreadsheet I use for planning and tracking our SCRUM projects.
OK, so we've moved house and I've found my study (computing area devoted to Ken) has been downsized to what I would call a 'cubby-hole' - Not Good !! Anyway, alongside trying to rationalize what I use on a day to day basis and moving the equipment around I've been thinking of what I really want.
To rationalize everything I currently have and get 'what I really want' I envisage : A small / low powered PC providing email, instant messaging, file sharing and running Subversion (source code control). This would enable me to run it 24/7 using a minimal amount of power, it would allow Sarah to do email and IM and allow me to get access to source code and files remotely. Then the second (large, more powerful) PC can simply be switched on when needed (DVD burning, importing from camcorder etc). I noticed a review recently of a ASUS device which is basically a wireless router with built in web server print server, ftp server, it can share USB printer, webcams and has a 160GB drive with RAID 1 option built in. I expect this is based around one of these small Linux based boards that are so prevalent these days - I have another one in the form of a Linksys WRT54G wireless router (running DD-WRT custom software)..... These devices can do much of what I need, the missing parts are email, internet browsing and IM - not present as the devices have no graphics capability (all the interaction with it is done via the clients web browser to a built in web server in the device)... The ASUS device goes a little further in that it can host other USB devices on it's ports and share those out also (webcams, printers etc), but still not quite far enough...
I guess I'm looking at putting a small form factor Mini ITX based system together that'll do the email, IM and Subversion and using an external USB drive as the mail store for file sharing.
Of course, this doesn't cover my HTPC utopia or my PDA utopia - more on those later.
| | |