<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-7051891</id><updated>2009-07-01T12:09:22.586-04:00</updated><title type='text'>Silent Software</title><subtitle type='html'>software development, .Net, speech recognition, and stuff</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default?start-index=26&amp;max-results=25'/><author><name>IanRae</name><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>43</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7051891.post-2996115014729316558</id><published>2008-06-12T13:38:00.003-04:00</published><updated>2008-06-12T13:49:47.556-04:00</updated><title type='text'>Converting a Class Library Project to a Test Project</title><summary type='text'>Here's a VisualStudio 2008 tip.  Have you ever created a C# project of type "Class Library", and then later you want to change it to a Test Project?  Here's how:1. Edit the .csproj file in Notepad and insert the following line:{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}Just before the first  tag in the file2. Right-click the solution in Solution Explorer and Add </summary><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/2996115014729316558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=2996115014729316558' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/2996115014729316558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/2996115014729316558'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2008/06/converting-class-library-project-to.html' title='Converting a Class Library Project to a Test Project'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-1130500861922906392</id><published>2007-12-03T17:39:00.000-05:00</published><updated>2007-12-03T17:40:37.846-05:00</updated><title type='text'>Learning Java</title><summary type='text'>Most developers live in one camp or the other. Few people who work inside the Microsoft ecosystem (Win32, .Net, ASP.Net) spend much time in Java, and vice versa. That's what makes religious wars about languages IDEs so lame; most programmers have never seriously worked with both.That's why it's refreshing to see Erik Sink trying out Java. I spent last winter going from C# to Eclipse and can echo </summary><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/1130500861922906392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=1130500861922906392' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/1130500861922906392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/1130500861922906392'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/12/learning-java.html' title='Learning Java'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-4210636642415704618</id><published>2007-08-09T20:50:00.000-04:00</published><updated>2007-08-09T21:04:48.152-04:00</updated><title type='text'>Chief Programmer Teams</title><summary type='text'>I found an ancient programming book:   Top-Down Structured Programming Techniques by Clement L. McGowan and John R. Kelly  (1975).  It describe Harlan Mill's project at IBM where he pioneered CPT.  Guess what.  It worked.   These reasons for success are easier to see from  an agile perspective.  Early 70s software development was primitive.  The existing paradigm structured programming seemed </summary><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/4210636642415704618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=4210636642415704618' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/4210636642415704618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/4210636642415704618'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/08/chief-programmer-teams.html' title='Chief Programmer Teams'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-1346386945964002912</id><published>2007-06-18T08:37:00.000-04:00</published><updated>2007-06-18T08:47:48.809-04:00</updated><title type='text'>On Code-Generation Tools</title><summary type='text'>The 90th Percentile had an article bashing code generation as a programming technique.  He is suspicous that visual programming is no better (and in many ways worse) than textual programming.  The generated code is often unreadable, and in the case of proprietary tools, you'll be forever dependent on the tool vendor for bug fixes and updates.The IVR industry is especially wed to visual tools, </summary><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/1346386945964002912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=1346386945964002912' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/1346386945964002912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/1346386945964002912'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/06/on-code-generation-tools.html' title='On Code-Generation Tools'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-2081333007426762296</id><published>2007-06-12T12:20:00.000-04:00</published><updated>2007-06-12T12:31:23.653-04:00</updated><title type='text'>Mondrian at Google</title><summary type='text'>Python's inventor Guido van Rossum is at Google.  His first project was a tool for code reviews called Mondrian.  Described here and in a video.This is a revealing glimpse of a 21st-century software development organization.Heavy use of tools to automate the organization's own development process.Social not silos.  Developers can view other developer's Mondrian dashboard.  The tool is an enabler,</summary><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/2081333007426762296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=2081333007426762296' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/2081333007426762296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/2081333007426762296'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/06/mondrian-at-google.html' title='Mondrian at Google'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-5247950591424557911</id><published>2007-06-06T07:48:00.000-04:00</published><updated>2007-06-06T08:15:37.307-04:00</updated><title type='text'>Replacing the OS</title><summary type='text'>Marc Andreesen once said that "the combination of Java and a Netscape browser would relegate the operating system to its original role as an unimportant collection of slightly buggy device drivers."  Pretty funny, considering Microsoft has fifty billion in cash and Java is nowhere to be seen on the desktop.Yet the idea remains tantalizing.  Change the phrase to "JavaScript and a web browser" and </summary><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/5247950591424557911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=5247950591424557911' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/5247950591424557911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/5247950591424557911'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/06/marc-andreesen-once-said-that.html' title='Replacing the OS'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-752837823619043382</id><published>2007-06-05T11:27:00.000-04:00</published><updated>2007-06-05T11:41:24.852-04:00</updated><title type='text'>Speech to Text coming to cell phones</title><summary type='text'>This video introduces Morpheus's upcoming speech to text technology.  The reason this is important is audio bandwidth.  The phone network is based on 64 kbps audio of 4 KHz bandwidth, which is fine for humans to understand but is missing a lot of the higher frequencies that speech recognition engines need to improve their accuracy.  That's why phone-based speech rec uses discrete grammars, which </summary><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/752837823619043382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=752837823619043382' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/752837823619043382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/752837823619043382'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/06/speech-to-text-coming-to-cell-phones.html' title='Speech to Text coming to cell phones'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-202086882380892694</id><published>2007-05-22T11:02:00.000-04:00</published><updated>2007-12-05T19:14:24.339-05:00</updated><title type='text'>Pat Helland is back</title><summary type='text'>Pat Helland, the guy who really understands the concept of time in computing, is back.  I saw him talk at a Microsoft event in Ottawa.  Distributed transactions are bad. He believes that a reserve &amp; cancel approach to business transactions was preferable.He's also the guy who calls XML the "cardboard" of computing, as in you wrap up something in cardboard, stick a label on it, and send it </summary><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/202086882380892694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=202086882380892694' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/202086882380892694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/202086882380892694'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/05/pat-helland-is-back.html' title='Pat Helland is back'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-7578824142388370824</id><published>2007-05-10T13:44:00.000-04:00</published><updated>2007-05-10T13:45:10.898-04:00</updated><title type='text'>New Release of SpeakRight framework</title><summary type='text'>Here.</summary><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/7578824142388370824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=7578824142388370824' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/7578824142388370824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/7578824142388370824'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/05/new-release-of-speakright-framework.html' title='New Release of SpeakRight framework'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-4634449722239842381</id><published>2007-04-20T17:33:00.000-04:00</published><updated>2007-04-20T17:49:48.753-04:00</updated><title type='text'>YouTube video</title><summary type='text'>I was in Southern Ontario last week, and saw some amazing wind energy windmills near Lake Erie near Long Point.  These things are massive and dominate the skyline in a war-of-the-worlds sort of way. Thanks to Ian Bigham for the tour -- I took a short movie:videoPS.  Farmers are limited to one windmill per 50 acres so although $5000 per year is nice, it's hard to host lots of windmills.</summary><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/4634449722239842381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=4634449722239842381' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/4634449722239842381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/4634449722239842381'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/04/youtube-video.html' title='YouTube video'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_-ghvQ2vraN4/Rik1d_nyFSI/AAAAAAAAABY/ij8xfna8mP4/s72-c/windmill_video_2.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-618711207468727890</id><published>2007-04-13T15:30:00.000-04:00</published><updated>2007-04-23T16:52:49.652-04:00</updated><title type='text'>Is Microsoft Dead, or just Sleeping?</title><summary type='text'>Paul Graham's article is intriguing.  Of course Microsoft isn't dead; as Joel Spolsky likes to remind us, they have enough money (40 billion or so) in the bank to continue for years, decades even.  They can buy any talent or startup they want.  They can throw a hundred programmers at a problem faster than you can say absorb-and-extend.  But are they dead as a threat?  He makes a good </summary><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/618711207468727890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=618711207468727890' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/618711207468727890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/618711207468727890'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/04/is-microsoft-dead-or-just-sleeping.html' title='Is Microsoft Dead, or just Sleeping?'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-8580981032514157752</id><published>2007-04-12T15:08:00.000-04:00</published><updated>2007-04-12T15:17:15.554-04:00</updated><title type='text'>DRM and the Viacom - Google Suit</title><summary type='text'>Scott Rosenberg blogged on the Viacom - Google lawsuit.  He pulls apart some fallacies in a NYT article, and calls Viacom's suit more of the same strategy -- sue the customer.A commenter made the standard comment that people don't mind paying for legal stuff if it's convenient.  &gt;Cheap is always good, but most people actually prefer legal and reasonable over illegal and free.I just had to reply (</summary><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/8580981032514157752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=8580981032514157752' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/8580981032514157752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/8580981032514157752'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/04/drm-and-viacom-google-suit.html' title='DRM and the Viacom - Google Suit'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-5347068394745885596</id><published>2007-04-11T12:22:00.000-04:00</published><updated>2007-04-11T12:24:46.169-04:00</updated><title type='text'>Adding Simplicity - A Great Architecture Blog</title><summary type='text'>Artima referred (via Martin Fowler) to Dan Pritchett's excellent blog Adding Simplicity.  Dan is an eBay architect and covers the scalability and reliability issues of distributed web-based systems.  The title of the blog comes from the notion that a great design is "not when there is nothing left to add, but when there is nothing left to take away".  Adding simplicity is counter-intuitive; the </summary><link rel='related' href='http://www.addsimplicity.com/adding_simplicity_an_engi/' title='Adding Simplicity - A Great Architecture Blog'/><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/5347068394745885596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=5347068394745885596' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/5347068394745885596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/5347068394745885596'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/04/adding-simplicity-great-architecture.html' title='Adding Simplicity - A Great Architecture Blog'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-7926939923179706751</id><published>2007-04-10T17:22:00.000-04:00</published><updated>2007-04-10T17:34:16.907-04:00</updated><title type='text'>Dreaming In Code -- The Myth of the Magic Closet</title><summary type='text'>Scott Rosenberg's new book Dreaming In Code is a great read for anyone involved in software design over the last decade or two.  I'm only on Chapter 4, but it's shaping up well.  The book is about a failed project, Chandler, to build a "cross-platform, open-source, PIM in the spirit of Lotus Agenda".  The words "in the spirit of" are the big red flag, because it revealed a massive hole in the </summary><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/7926939923179706751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=7926939923179706751' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/7926939923179706751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/7926939923179706751'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/04/myth-of-magic-closet.html' title='Dreaming In Code -- The Myth of the Magic Closet'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-2151658196607459570</id><published>2007-03-06T11:20:00.000-05:00</published><updated>2007-03-06T11:59:01.362-05:00</updated><title type='text'>Happy Trails -- The Joy Of Logging</title><summary type='text'>Logging is one of the most important infrastructure activates that a piece of software does.  Good logging saves hours of support and troubleshooting time.  For instance, every error that is log should indicate a single place in the source code where the error occured.  You can do this with unique error code numbers.  I often just vary the error text slightly, so errorFileNotFound says "can't </summary><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/2151658196607459570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=2151658196607459570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/2151658196607459570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/2151658196607459570'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/03/happy-trails-joy-of-logging.html' title='Happy Trails -- The Joy Of Logging'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-6777400142022028518</id><published>2007-03-06T11:16:00.000-05:00</published><updated>2007-03-06T11:17:29.417-05:00</updated><title type='text'>SpeakRight 0.0.2 is out</title><summary type='text'>Here It's definitely starting to take shape.  Simple directed dialog apps can now be done.Next up: mixed initiative and more SROs.</summary><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/6777400142022028518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=6777400142022028518' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/6777400142022028518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/6777400142022028518'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/03/speakright-002-is-out.html' title='SpeakRight 0.0.2 is out'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-6871198005637507800</id><published>2007-02-26T17:37:00.000-05:00</published><updated>2007-02-27T00:21:23.401-05:00</updated><title type='text'>Announcing the SpeakRight Framework</title><summary type='text'>There's been a big change in direction for me in the last month.  I'm going open-source.  Spent the last month learning Java and Eclipse...and creating an open-source VoiceXML framework called the SpeakRight Framework. It's a code-based approach to writing speech recognition apps that, I believe, results in much higher code re-use and therefore faster development time.  Also, modern Java IDEs are</summary><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/6871198005637507800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=6871198005637507800' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/6871198005637507800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/6871198005637507800'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/02/announcing-speakright-framework.html' title='Announcing the SpeakRight Framework'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-666350159261376537</id><published>2007-02-13T15:02:00.000-05:00</published><updated>2007-02-14T08:07:14.041-05:00</updated><title type='text'>Grokking StringTemplate</title><summary type='text'>The StringTemplate template engine is a powerful tool for generating markup text or code.  It does, though, take a little getting used to.  The templates may like a type of programming language, but there are some key differences.  And since it's not compiled, bad syntax may just fail silently.  Luckily it's quick to try things.Update: I have corrected errors in the original post.  Namely $if(</summary><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/666350159261376537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=666350159261376537' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/666350159261376537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/666350159261376537'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/02/grokking-stringtemplate.html' title='Grokking StringTemplate'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-2307160399844728001</id><published>2007-02-09T23:20:00.000-05:00</published><updated>2007-02-09T23:15:41.715-05:00</updated><title type='text'>Learning Java</title><summary type='text'>After years in the Microsoft I am finally learning Java and Eclipse.  For anyone familiar with C#, Java is extremely close but feels its age.  No properties, delegates, or events?  I can live without them.  Eclipse however is another story.  What AN AMAZING PIECE OF SOFTWARE! Miles ahead of Visual Studio in many areas.  Mainly it just works; which is a huge kudo to any piece of complicated </summary><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/2307160399844728001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=2307160399844728001' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/2307160399844728001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/2307160399844728001'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/02/learning-java.html' title='Learning Java'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-1138103062935899927</id><published>2007-02-03T11:05:00.000-05:00</published><updated>2007-02-03T11:15:49.274-05:00</updated><title type='text'>Daily backup of a laptop</title><summary type='text'>Thanks to Gerald Gibson Jr.'s great article I now have a free way to do daily backups of my laptop.  Windows natively supports the zip format (as "compressed folders").  The article is a C# program that generates ZIP files using the Shell API.(Be sure to get the latest version from Gerald's web site)My app zips several important directories into zip files in c:\zip.  Then, using a free account at</summary><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/1138103062935899927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=1138103062935899927' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/1138103062935899927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/1138103062935899927'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/02/daily-backup-of-laptop.html' title='Daily backup of a laptop'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-5982958815724903610</id><published>2007-01-18T09:55:00.000-05:00</published><updated>2007-01-18T10:48:51.550-05:00</updated><title type='text'>MySpace is Show Biz</title><summary type='text'>Great article by David F. Carr on the behind the scenes mayhem at MySpace, whose exponential growth from a few hundred thousand users to 30 million users overloaded the system. "MySpace started small, with two Web servers talking to a single database server. Originally, they were 2-processor Dell servers loaded with 4 gigabytes of memory"  Again and again MySpace was re-written to add: replicated</summary><link rel='related' href='http://www.baselinemag.com/print_article2/0,1217,a=198614,00.asp' title='MySpace is Show Biz'/><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/5982958815724903610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=5982958815724903610' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/5982958815724903610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/5982958815724903610'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/01/myspace-is-show-biz.html' title='MySpace is Show Biz'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-2717288597584173811</id><published>2007-01-12T14:56:00.000-05:00</published><updated>2007-01-12T15:14:55.935-05:00</updated><title type='text'>Why to use code generation techniques</title><summary type='text'>Mark Baker comments on the problems with (xml) document validation.  Any DTD that is too detailed is a time-limited contract.  ProductType may be "1", "2", or "3" today.  But a year from now types "4" and "5" may be allowed.True, but validating, or what used to be called "laundering your input", still has to be done.  Whether it's in the gatekeeper or the business object, the code has to be there</summary><link rel='related' href='http://www.coactus.com/blog/2007/01/two-more-reasons-why-validation-is-still-harmful/' title='Why to use code generation techniques'/><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/2717288597584173811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=2717288597584173811' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/2717288597584173811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/2717288597584173811'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/01/why-to-use-code-generation-techniques.html' title='Why to use code generation techniques'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-2180626447836626673</id><published>2007-01-12T11:58:00.000-05:00</published><updated>2007-01-12T12:04:38.891-05:00</updated><title type='text'>The Beauty of Unreal</title><summary type='text'>Further to my recent post on example-centric programming, Tony responded withI entirely agree with the audience targeting critique you make. I was thinking about the historical roots of programming, the social aspects, and how they must be considered, not just for fuzzy artsy reasons but for because they are part of the sociology of skills and attitudes that mold the field (we are the medium of </summary><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/2180626447836626673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=2180626447836626673' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/2180626447836626673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/2180626447836626673'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/01/beauty-of-unreal.html' title='The Beauty of Unreal'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-7207831896778532313</id><published>2007-01-10T14:49:00.000-05:00</published><updated>2007-01-10T15:01:34.057-05:00</updated><title type='text'>Example-centric programming</title><summary type='text'>This Jonathan Edwards guy is brillant.  His demo of Subtext is the most creative thing in programming in years.  But he's basically trying to replace 50 years of programming culture: programs as text.  Doomed to fail, like Charles Simonyi's Intentional programming, but may throw up interesting mashups.End-user progamming is a dubious thing.  It comes and goes as the Next Big Thing. The problem is</summary><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/7207831896778532313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=7207831896778532313' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/7207831896778532313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/7207831896778532313'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2007/01/example-centric-programming.html' title='Example-centric programming'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7051891.post-1238298726854712043</id><published>2006-10-31T14:34:00.000-05:00</published><updated>2006-10-31T14:48:22.528-05:00</updated><title type='text'>When more is less</title><summary type='text'>In retooling our QA lab we've dropped the number of machines by half...and become more productive!  Our work involves constantly re-installing windows service packes, hardware drivers, and assorted telephony software.  Turns out that looking after of lots of machines was wasting time.  We didn't used to have an organized way of managing the machines; we didn't know what was already on them, </summary><link rel='replies' type='application/atom+xml' href='http://silentsoftware.blogspot.com/feeds/1238298726854712043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7051891&amp;postID=1238298726854712043' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/1238298726854712043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7051891/posts/default/1238298726854712043'/><link rel='alternate' type='text/html' href='http://silentsoftware.blogspot.com/2006/10/when-more-is-less.html' title='When more is less'/><author><name>IanRae</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01310182664073487582'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>