interesting new service
Just ran across an interesting new service called email2face that allows you to just register an email address and upload a photo, so that folks you work with over email might see what you look like. Maybe get past that old "on the internet, no one knows you're an alien" phase.
Capistrano: Automating Application Deployment
Capistrano: Automating Application Deployment
Application deployment is one of those things that becomes more and more complicated as the scale of your application increases. With just a single box running your database and your application, it’s quite simple. But when you start putting your database on a different server, and then separating your web servers from your app servers, and eventually splitting your database into master and slave servers… It can get to where you almost don’t want to deploy your application any more. SwitchTower is a standalone utility that can also integrate nicely with Rails. You simply provide SwitchTower with a deployment “recipe” that describes your various servers and their roles, and voila! You magically have single-command deployment. It even allows you to roll a bad version out of production and revert back to the previous release. It should be stated that the concepts that SwitchTower uses and encourages are not specific to Rails, or even Ruby. They are common-sense practices that are applicable to a variety of environments. In fact, you’ll find that there is very little that is Rails-specific about SwitchTower, aside from the fact that it is in Rails that it found its genesis. No matter where you are or what environment you are using, SwitchTower can probably help ease your deployment pains.We have done some interesting things around automating our deployment, but this project looks interesting. Here is what we currently do though. Currently we have our CruiseControl build creating 2 zip files at build time (one for the App server and one for the web server) that have the correct directory structure. We also include a nAnt build file. The zip file is then checked into subversion. To get those installed, We have CruiseControl.net installed on the servers, and have a project set up so that by triggering a build (it has to be done manually), CC downloads the latest zip files from subversion, unzips them, and then runs the nant build to install them. It has taken us from what was sometimes a 2 hour ordeal to being able to deploy the latest version in less than a minute.
Personalized 3 x 5 Cards
Recently, I have started carrying around blank 3x5 cards in my back pocket for writing down to-do lists, meausurements, whatever I happen to need. My sometimes co-worker Bret Pettichord does so as well. Today I saw that he had some personalized cards with grid lines on them, and they had "Levenger" on the back really small, so I looked them up. You can get your own - 1000 for $80, or 500 for $48.Personalized 3 x 5 Cards
More fitnesse and CruiseControl.net integration
In a previous post I mentioned how my co-worker Jeffrey Palermo and I have created a stylesheet to integrate Fitnesse summary results into the CruiseControl.NET web dashboard. I have just added a new stylesheet that shows the details. It isn't super-pretty, but we wanted it because we have started doing some tests that take quite a while to run - sometimes 3 minutes to finish a page. So when we get a failure, I wanted to be able to see what the exact failures were without having to re-run the test. That data is in the XML, but the problem I ran into is that it is stored as HTML inside a CDATA section. Doing an XSL transform on that with the xsl:output mode set to html results in seeing the actual html on the page. So I set the output mode to text, and pared the xsl down to something pretty lightweight. I've attached it here for your enjoyment.To use it, change the dashboard.config file on your fitnesse server to have a section/line like this:
Things to note: the results as shown in CC.Net are not pretty - I only embedded enough style to show the 'correct' cells in green and the 'wrong' cells in red, etc. There is an image link in there that doesn't show up correctly, and you may also see javascript links if you have a setup page or anything like that. Those links won't work. It could certainly be made prettier by embedding more styles into the xsl - I'll leave that as an exercise for the reader. If you do anything like that, feel free to submit it here as a comment (or send me email - there is a link on my home page) and I'll update the file for others.
<plugins> … lots snipped … <buildPlugins> <xslReportBuildPlugin description="NUnit Details" actionName="NUnitDetailsBuildReport" xslFileName="xsl\\tests.xsl" /> <xslReportBuildPlugin description="NUnit Timings" actionName="NUnitTimingsBuildReport" xslFileName="xsl\\timing.xsl" />… more snippage ... <xslReportBuildPlugin description="FitNesse Summary" actionName="FitNesseSummary" xslFileName="xsl\\fitnesse.xsl" /> <xslReportBuildPlugin description="FitNesse Details" actionName="FitNesseDetails" xslFileName="xsl\\fitnesse-details.xsl" /> </buildPlugins> </plugins>
Engines of Democracy
This is a really interesting article about what can happen when a team is self-organizing and really hums. Software is complex and creative - sounds like these engines are complex, but I'm not sure about how creative. Good read though. Engines of Democracy
Brian Greene on the nature of space and time
For Christmas I gave Julie (and me) tickets to go see Brian Greene speak. He is the author of "The Elegant Universe" , which was the basis for an series on Nova. The local public radio affiliate KUT does a series called the "Spark Engaging speaker series" in which they bring in authors, artists, scientists, etc. It was a great evening. We went to the historic Paramount Theatre, which is right in the middle of downtown Austin at 7th and Congress. A beautiful old building. And it was cool to see it packed completely full of people from all walks of life come see a physicist talk about space, time, and current ideas on string theory.It was an intesreting and entertaining talk. He is a great speaker. He started with Newton and classical physics, described how the math all works, but he kinda left out the whole "how" question. And then talked about Einstein, and how his ideas showed that gravity warps spacetime. But then he went into quantum meachanics, and showed how the Hesienberg Uncertainty principle leads to a 'noisy' spacetime at the sub-atomic level, and explained that this noise was the basis for the conflict between the macro-scale physics of Einstein and the micro-scale physics of quantum mechanics.Finally, he described his ideas of string theory, and how if a few things were true, it could tie them both together. They are some pretty big "ifs" though. Like that there have to be 10 dimensions, and the strings vibrate in 10 dimensions. I can't remember the other 2 ifs.The best part of the evening was the questions and answers at the end. There was a 10 year old boy who asked what the relationship between the weak force and radioactivity was. There were people who asked about dark matter, and people who asked about alternate universes and tears in spacetime and wormholes. All pretty heady stuff. If he comes to your town, I'd reccomend going to see him.
