Day at the Office: Just another Day, Nothing Special

I have several 3d printing posts queued up on a every-other-day schedule.  I feel I really should write some code, or something, to re-present the part of the that does code for a living.

But today was .. just an uneventful day.

  • I did the weekly Status Report.    I’m doing some fun stuff in there, trying to represent the flow of work in and out of the process.. when things go to test, when they go to deployment, when bugs are introduced vs discovered, etc.   In color.  In Excel.  image
      • I wonder how much I would get out of marking “when bugs are introduced”.   Kinda see the full cost of deploying a feature – also seeing all the bugs that might have been introduced at the same time.
  • I worked on two bugs.  
    • The first one was a GUI thing – some stuff on the screen was flickering.  Turns out, some XAML had gotten changed to {Binding … UpdateOnPropertyChange}, and the underlying property was being += ‘ed in a loop.  So every time the loop ran through, it updated the UI.   
      • Fix #1: accumulate in a temporary variable and then assign at the end.   
      • Fix #2: in this minor control, turn off the automatic NotifyOfPropertyChange on every set, and provide a NotifyOfPropertyChange() method that a parent could control.. and then modify all parents to call NotifyOfPropertyChange outside of the loops that updated stuff.
      • Of course I profiled it before and after.   Went from long drawn out CPU hog-ness to itty bitty spikey. 
    • The second was a business rule implementation bug.   The client has several settings for something – lets call it a light saber setting – and the settings were something like “only cut through meat”, “cut everything”, “don’t cut through living tissue”, and “don’t cut green things”.  Turns out, green things needed to be excluded from one of the meat settings as well (or something like that).
      • Most of the time of the fix was me asking the client, “so what you mean is this”. 
      • I got it wrong at first.   I thought they meant the light saber dispenser setting, “only dispense to Jedi’s but also to green things”.   When I fully explained what I was going to do (with screenshots!), the client realized the miscommunication and corrected me.
      • Actual size of fix:   less than 20 characters.
  • Then I left early, and logged on at night, and did a production release in 1.5 hours.
    • Backing up the Prod database, of course.
    • Running database deployment scripts (I use a can-rerun-indefinitely approach with some batch scripts)
    • Using Teamcity to deploy to production.  Over VPN, it takes about 20 minutes.   But I had to do it twice, due to a failed VPN.
    • Testing the app after deployment – that the 6-7 fixes we deployed were working.  I didn’t check all of them, just the ones involving database changes and settings migrations, etc.
    • And the communication that the deployment happened, what to expect, for the brave soul who herds the client’s users.

Just another day.    Nothing exciting, just work.    A Good day.

Posted in Code

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories
Tags
.net 3d 3d-printing 4k abc15 algorithms ames android anonymous types asp.net audio editing aws backup basecamp beatunes biorhythm bitcoin bittorrent blender blog boston marathon bpm c# caffeine campfire candycrush car carmax charity chiropractor cities-skylines clog clone codelouisville codepalousa coding coffee collaboration color run ComputerElbow ComputerVision configuration consulting cooking crash course crashplan crestwood cycling dabda dan dapper DataSet ddl diabetes dictation dotnetcore dotnetmud downtown e-cycling elite excel exercise expiration facebook feature-branching firefall flipflops Flow FL Studio focus food forecastle fortresscraft franklinplanner gadgets game-design games git github google docs google maps gopro gps grandpa greenshot hack half marathon headless health heart rate hiren ignew integration testing interop inventory ios ipad itunes javascript jobs karma kdf keyboards keys kittens lamont laptop lavalamp lego life lifehack linq linqtotwitter linux los angeles louisville mandelbulber massage therapy mastery-teaching maths merge metformin Minecraft miniature modeling monitor mud muhammad ali institute music mvc mycartracks netfabb nexus10 node nostalgia nutrition nwipe oldham county grand slam opal openjscad openscad owin pacedj paper mockup pepakura performance photoscan politics pomodoro postgresql powershell premiere prius process product-management project-management qa ReFS resharper review rmi roman road 5k RSI rubiks running samsung 700t sandals schedule scooter scribblelive selenium service shapeways sleep slic3r sneakersync snot software software-engineering solidoodle soylent spacegame speaking sql sqlite SSDT SSIS standing state-machine stayfocusd stonehearth sunset tablet teaching team teamcity teamtreehouse terraform tesla testing tfs time timelapse torque touch tracks trs80 Tuple tutor twitter ubuntu unit testing utilities video video editing visual studio vscode vsvim warp stabilizer windows 8 windows home server wordpress wpf xml
Archives
%d bloggers like this: