| |
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
I was recording some audio earlier today and the quality from my cheap, generic headset/microphone was woeful. , so I searched around for a service that I could make a telephone call into and it would record the spoken audio and give me a WAV or MP3file.
I came across http://drop.io - this is a neat little Web 2.0 service that allows sharing of files, media etc, sending stuff via email, receiving stuff via email, fax, voice etc.
One of the features was a US telephone voicemail service that recorded my spoken content and stored it in my private 'drop' as an MP3 - exactly what I was looking for.
Whilst I could have, undoubtedly, found the specific service I was looking for from a UK provider the cool features that these guys provide made me want to use them :-
- Conference Calling number (not recorded).
- Voicemail Number (audio is recorded and left in your 'drop' as a MP3).
- Add content via a custom @drop.io email address.
- Add content via fax.
- Email alerts to any updates to your drop.
- RSS feed for action on your drop.
- Security model where I can invite people to view my drop, or add content etc.
- Add notes / links to your drop.
- Zip up the whole drop and provide a link.
- Really nice, clean look and feel.
- FREE !!
You can also upgrade to pro version (paid for) that provide more than the 1GB of storage or keep drops open for longer than the defaults or even shorten the url of your drop (in the free version this is http://drop.io/user_chosen_drop_name min of 7 characters) - to two letters http://drop.io.kj for example...
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
One of my colleagues switched me on to PowerShell Plus and I'm loving it.
Code editor, snippets, values of variables, logging tools and much more, including a really neat feature called 'MiniMode' (see the toolbar icon at the extreme right in the image.
This 'MiniMode' closes all toolbars/toolwindows except the main console but also makes the console window transparent (user configurable level of transparency). This mode is real easy to work with...
There is a free single user license for non commercial use.
I encourage you to try it out.
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...
I'm in Western Mass (Westboro, MA) again this week and while that normally means 16 hour days (there is nothing much else to do but sit around a hotel room so why not...), this week I decided to work on a personal project for a bit.
Part of it was some code to check a machines public IP address and update it to DynDNS. Luckily they have an excellent developers / API section that explains everything you need to do this. There are two sections to it, detecting the machines public IP address and updating the hostnames associated with your account, both of which they provide a service for.
It's pretty easy to follow and within an hour or so I had come up with a class to do both tasks. Here is a snippet for the 'CheckIP' function:
public static string CheckIP()
{
// check the current public IP address
string ipString = string.Empty;
WebClient wc = new WebClient();
try
{
string result = wc.DownloadString("http://checkip.dyndns.com");
return ParseCheckResult(result);
}
catch (WebException)
{
ipString = string.Empty;
}
return ipString;
}
Just call a URL (http://checkip.dyndns.com) and it returns your public IP address, there was some parsing of the return text but it is pretty simple. Click the link and see for yourself.
Next was the 'UpdateIP' function, here's the snippet:
public static string UpdateIP(string username, string password, string ipaddr, string hosts)
{
// check the current public IP address against what we want to update to
string updateurl = "http://members.dyndns.org/nic/update?hostname";
string result = string.Empty;
WebClient wc = new WebClient();
string url = string.Format(@"{0}={1}&myip={2}&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG", updateurl, hosts, ipaddr);
try
{
wc.Credentials = new NetworkCredential(username, password);
wc.Headers.Add("User-Agent", "KSL - WHS Updater - 1.0");
It is basically just a case of passing a querystring with all the details to http://members.dyndns.org/nic/update , ensuring you set the credentials to your DynDNS account username and password and specifying a unique User-Agent.
The complete project files (including a small 'user' application to test it) can be found here (61K).
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)
I've been on Vista (on my work laptop) for a couple of months now and finding it really difficult to get some stuff done. I'm (directly) working on some training modules for our Archive One products and managing / assisting a couple of people who are working on Sales Video Demos of these products. The Sales Video Demo are making extensive use of Camtasia and my training modules are making some use of it. Their version 4.0.0 of Camtasia Studio is not supported on Vista and I can verify that it DOES NOT work on it (although you CAN install it, expect to get lots of application errors / crashes). TechSmith (the makers Camtasia) say that there is limited functionality available under Vista (you can record your screen to AVI format, but that's it). There is a beta version of Camtasia available from here that works with Vista (pretty well actually) and the TechSmith guys plan to release full support for Vista by the end of this month. As we're heavily into Exchange Server and the 2007 version is now released (and makes extensive use of Powershell of management), I've been meaning to get to grips with Powershell. Powershell is NOT supported under Vista yet either. They do have a Powershell RC2 available that works under Vista RC1 (build 5600). The details are available from their download page. Vista support is also planned for the end of this month. I guess I should have probably waited a bit longer before migrating to Vista. Anyway in the meantime I have a test Win2003 Server set up that I'm using for Powershell.
I was really excited by the Blogging feature Word 2007 - It looked really good, easy to use and some of the formats you can do to a picture are pretty cool. As soon as I found it I tried to set it up with this dasBlog account - Word 2007 is supposed to support the metaWebLog API (which dasBlog supports from v1.9), so in theory it should have worked - however it didn't work fully. I could upload new blog posts but it didn't like the posting of images - in returned a message saying it was not supported and I should use FTP upload instead. I wasn't happy with this as the metaWebLog API has a newMediaObject method which allows for uploading of images etc and I know it is implemented in dasBlog (I think Omar Shahine added it).  Anyway, I emailed Joe Friend (the MS guy who originally posted about this feature of Word) - he has since moved on so couldn't help (in fact I think my email to him was the catalyst for his Email is now off post - oops)... The annoying thing is that Windows Live Writer supports the metaWebLog API implemented by dasBlog and can upload images fine.... Mmmmm, something not right here - taking things into my own hands, I cracked open Fiddler and compared the HTTP request / responses between a Writer posting and a Word posting. The Word postings always fail on the newMediaObject calls - here is a screenshot of the request / response from Word. Looks like Word is trying to pass the blogid parameter as an int and not as a string as the spec dictates... As far as I know, Word works correctly with MySpaces, Blogger and a few other blogging engines - maybe they are not as strict as dasBlog when checking the parameter types passed ?? I suppose I could write an HTTPHandler or something to convert that type description from an 'int' to a 'string'.
At work I have been the champion of an Integration Framework for our Archive One product. This is a set of API's, events and open file formats embedded into the Archive One products that allow customization 'around the edge'. The kind of thing that can be done with the Integration Framework is running searches, interworking with the AD schema, running archive policies, integration into Network Management Systems or Document Management Systems and the like - it really opens the product to other business systems as either the slave (other systems controlling Archive One) or the master (other systems being controlled by Archive One). We have been writing up the API documentation recently and had initially started this as a (Word) document we would publish to customers and developers. I looked into NDoc which now seems dead (at least for VS2005 and .NET2.0) and then came across Sandcastle. Sandcastle is Microsoft's answer to NDoc, it allows the collation and generation of documentation from the XML comments embedded in your code Right now it is at CTP stage and is command line driven - a few projects have sprung up which provide a UI for it (backing on to the CLI). One is a VS2005 add in (which I installed but it wasn't immediately obvious how to use it, so I didn't really pursue) and other is SandcastleGUI - this provides a single form where you choose the options, point it to the folders containing the Sandcastle app, the code DLLs and where you want the docs to end up and then simply kick it off. When you hit 'Start Documenting' it closes the form and fires off a command prompt window (batch files) which in turn fires off other command prompt windows until it's collated everything and built the documentation. It allows you to generate html documents - a whole website, multiple pages, images etc or a compiled help file (.chm) or even both if you wish. Another of the options is 'Online MSDN Links' this provides a MSDN link for every object type it can find in the base class library. Be warned enabling this option means it has to reflect through about 14500 classes / objects in the framework so that they can be indexed and used if found in your app / library. Enabling this option increases the time to generate from about 1 minute (on my Dual Core laptop) to about 15 minutes - I'd recommend disabling this option whilst developing the app / library and only enable it when you are doing the final or release build. The resulting documentation is really good quality - pretty much the same format as MSDN documentation. For the effort of a few extra XML comment lines in your code this provides great value and a very comprehensive resulting document. The easiest way I have found to integrate this into VS2005 is to set it up as an External Tool. I create a folder under the solution folder named 'Documentation', I run SandcastleGUI manually the first time around, do all the required configuration and then save the settings to a file in the solution directory (don't save it in the 'Documentation' folder as that is cleared out with each Sandcastle run. I have an 'External Tool' configured which points to SandcastleGUI with parameters of : /document $(ProjectDir)\settings.SandcastleGUI (I called the settings file 'settings.SandcastleGUI') and called the tool : Sandcastle This Project This allows me to simply click this tool and it will go away and create all the documentation (with my chosen parameters) for the project. As I mentioned this is CTP at the moment - I look forward to the release version, hopefully fully integrated into Visual Studio and stylesheets that exactly mimic MSDN.
So this is blatant plagiarism of The Joel Test... This is specifically targeted at Technical Support organizations, or anyone providing support for a technical product or service. - Do you have a fault / issue tracking application (extra point for providing customers access to it).
- Do you have a knowledgebase (extra point for providing customers access to it).
- Do your technical folks have a working, test/demo version of the product.
- Do you send out support alerts (do you announce bug fixes / patches).
- Do you have remote access to customer machines.
- Do you have a published, well known case escalation process.
- Do you have a published, well known priority / severity level list with an example of each level.
- Do you get candidates to troubleshoot during the interview.
- Do you have handsfree headsets, conference phones.
- Do you have a published SLA (or similar set of customer expectations)
- Do you have a published, well known and measured SLA with the team(s) you escalate to.
- Can a support engineer easily determine if a customer has a maintenance agreement or not (if appropriate)
I had also considered adding 'Do you require that every case closed is linked to a KB article' but some people find this a bit extreme. I find it is a great driver for keeping your KB up to date and living, otherwise it ages and becomes obsolete very quickly - there's no point having it if it contains outdate / useless information and your customers are not using 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
Blank entry, simply to list out the categories.
|
|
|
|
|
|