Author: way0utwest

  • Ten Million Lines of Code

    QuickBooks 2012
    Ten million lines of code in the codebase for this product.

    How many lines of code are in the applications you code on? I think that the largest applications I’ve been heavily involved in contained tens of thousands of lines of code. This was code that I actually had to search through to find a particular module to improve or refactor. I know lines of code aren’t a great measurement of the value or complexity of an application, but they do represent an amount of overhead that you need to deal with. The more lines of code, the harder it can be to change, test, and deploy the application.

    Quickbooks, from Intuit, is a very popular program that exists on multiple platforms, localized in different regions, with a variety of editions and features, including a subscription version that gets new features as they are released. On the Windows platform, that system consists of 10mm lines of code in a single codebase, with different features turned on and off through a license key.

    Ten million lines of code.

    Wow, that’s quite a branch of code. They manage that with a variety of techniques, one of which is fast becoming a requirement in technology. They use a continuous integration process that builds a new copy of the application every 15 minutes if any changes have been checked into their version control system. If there are any warnings or errors, all developers who checked in code are notified and they must track down the changes. The closer to development time a bug is found, the easier and cheaper it is to fix, so this is a great way to speed development.

    They have a few other cool ideas, like building in parallel, and using separate builds for specific tools that handle different types of code analysis. However you look at it, this is quite a system for smoothing the software development lifecycle and managing a large, complex codebase. If you do corporate development, you might not have quite the same challenges, but I’m sure applying continuous integration, automated builds, and good source control habits can help you produce cleaner code, much faster than ever before.

    Steve Jones


    Advertisement: If you are looking to speed up your development process and reduce mistakes with Contiuous Integration, you might be interested in these white papers on automated deployment and CI for databases from Red Gate Software. It talks about how you can set up a process using various tools.

    The Voice of the DBA Podcasts

    We publish three versions of the podcast each day for you to enjoy.

  • Fix v. Create

    fix typewriter
    Do you perform more fixing or creating?

    Whether you write code, or administer server instances, chances are that you have a decent amount of maintenance to do. This might be fixing a bug in code, whether yours or someone else’s. It might be reindexing tables or even running periodic maintenance routines that can’t easily be automated. There are any number of tasks that might require an administrator’s attention, but are essentially the equivalent of the tedious activities that are involved with existing items as opposed to new creations.

    I ran across this piece on Ars Technica, and I’ll admit it sounded silly at first, but the more I thought about it, the more I thought that 90% of time spent on maintenance of some sort, and 10% spent on new items might be accurate. After all, it seems there’s not shortage of work being done to tackle bugs, tune code, or enhance a feature that wasn’t quite right the first time. The more I think about my career, the more I think that I’ve spent more time fixing things than actually working on new code.

    If you think about your workload, do you fix things or create new ones most of the time?

    Give us a rough idea of how your coding time is spent. Are you more of a craftsman that develops new widgets for your clients to use, or are you the handyman, repairing and improving things that weren’t built well enough the first time.

    Steve Jones


    The Voice of the DBA Podcasts

    We publish three versions of the podcast each day for you to enjoy.

  • Amazing Margaritas in Austin – SQL in the City US Tour

    Photo Sep 17, 9 44 23 PMThe last time I was in Austin was last year, for a weekend trip with my wife to see Stevie Wonder and Kanye West (on separate days) at the Austin Music Festival. My wife and I have been trying to see Stevie Wonder for over ten years, and we finally got the chance and thoroughly enjoyed the experience. It’s something I’ll never forget, and I’d be tempted to go down there again for the ACL Festival weekend.

    On that weekend we stopped by Guero’s Taco Bar near the Festival and had some amazing margaritas. The food was great, and we enjoyed our time there. As I arrive in Austin on Sept 30 to get ready for SQL in the City 2012 – Austin, I’m hoping to get two things done.

    • Run along the Red River
    • Get some great Texas margaritas.

    I arrive in Austin around 1:00pm in the afternoon and I should be able to get both done before some prep for my sessions on Oct 1.

    If you’re in Austin on Oct 1, come join me, Grant Fritchey (b | t), Aaron Nelson (b | t), Tim Radney (b | t) and a number of developers from Red Gate software for a free day of training – The Red Gate Way.

    We had fantastic events last year in LA and London, and this year we’re touring the US. Austin is stop #2 after New York and I’m looking forward to it. Red Gate throws a first class one day event, with plenty of knowledge, discussion, debate, SQL Server tips, tricks, great food and drinks. It’s a great one day event, and it’s free, just register to come.

    We’ll be at the AT&T Executive Education Conference Center and we’d love to have you come and meet us. We’ll talk about things you do every day, or should be doing, in your environment. We’ll give you ideas about how you can improve the way you work.

    If you want to run with me, watch Twitter around the event. Once I get to the hotel on Sunday, probably around 1:30-2:00, I’ll post some details on where I’ll be running. Perhaps near Zilker Park around 2:30-3:00. Join me for a short 2 mi run if you’re so inclined.

    Register today and come shake my hand in Austin.

    This is part of my SQL in the City series, covering a few thoughts on the US tour.

  • Learning about Driving with Big Data

    This is nice, a year long safety pilot from the University of Michigan. Quite extensive, using 3,000 cars to gather data. I don’t know what they’ll get out of this, and if you read the comments, there’s all kinds of speculation, but it’s a good idea, in my opinion.

    Many of the commenters are trying to come up with results before the data in this case. Do we need better driver training? Better design? Driverless cars? Who knows? We should get the data and then decide how to proceed.

    This study is a good idea, because I think we realize there are some things about driving we don’t know enough about, but there are also a lot of things we don’t know we don’t know. The unknown unknowns are likely going to impact how we interpret this data later.

    I like to see more studies along these lines, but with really anonymous data. Do some work to try and disconnect people from the data, which will be hard and likely not work well. Perhaps we just need to map the coordinates of the cars and their interactions to a neutral space, maybe some coordinate system that doesn’t necessarily correspond to lat/longitudes.

    However there will be good data out of this that can help us understand how we might better change driving. I just wish this were with more than 3,000 cars. That seems like too few to me. I’d like to see more like 300,000 cars in a study.