Mojave update without issues

My macbook downloaded the Mojave update and presented the question:

to update or not to update?

TLDR: no issues on my MacBook Pro (Retina, 15-inch, Mid 2015) except for Little Snitch 3 which is incompatible and I had to upgrade to version 4 for €25

Hardware

MacBook Pro (Retina, 15-inch, Mid 2015)
Processor 2,2 GHz Intel Core i7
Memory 16 GB 1600 MHz DDR3
SSD 256 Gb
Graphics Intel Iris Pro 1536 MB

Installation

The update took about 30 minutes and that’s all I have to say about that.

Apps

After the update Mojave I first updated the Logitech control center since it was the only app reported to be incompatible.

Then I looked at Little Snitch, because of the error message “Not supported OS X version”. The download button took me to the version 4 update which is compatible with Mojave. The upgrade license was €25.

All other apps just worked or had an update pending. I was most happy about Camtasia 2, Parallels Desktop 11 and Alfred 2 still working since those apps would make the update to Mojave to expensive in licenses. I would have restored my Time Machine backup. Check https://roaringapps.com for compatibility of your favourite apps.

Hick-up

During boot I notice a hick-up. After the progress bar under the apple logo gets to about 75% the screen flashes. A lot of people have noticed it.
One time when I booted in clamshell-modus with an external monitor on mini display port, the progress bar took about 2 minutes to completion. But I never noticed it again after that one time.
Normal boot time is 30 seconds.

Why upgrade?

1. I want to have my macbook running the latest and greatest macOS.
2. New features like continuity camera and quick look edit can be handy (Whats-new)

Update

Little snitch rolled out an update in december 2018 that fixes the hick-up

Posted in Tooling | Tagged , | Leave a comment

TFS tips #4 – Visual Studio Pricing

💡 This post is part of my TFS tips where I write about how we make the most of TFS (on premise)

Image courtesy of ratch0013 / FreeDigitalPhotos.net
We have a Visual Studio Enterprise subscription for all our developers. Microsoft has created an overview of everything that is included in the subscription like Azure credits, Office 365 and Pluralsight.

You’ll find the list here: https://visualstudio.microsoft.com/vs/pricing
Download a pdf version here: pdf

Posted in Development | Tagged , , , , | Leave a comment

TFS tips #3 – Multiple release pipelines queue

💡 This post is part of my TFS tips where I write about how we make the most of TFS (on premise)

We have multiple applications being released to the same server. For every application we have a CI/CD release pipeline. The problem we faced occurs when two developers checkin on different applications. We want only one active release of all pipelines.

Demand

First we tried to create a deployment queue with only one agent in it. Unfortunately we had insufficient rights. But this set us in the right direction.

We then added a demand for one of the agents in the queue and added that same demand to all release pipelines. This queues the releases as the same agent must do them.

Hopefully not everybody adds a demand for “our” agent. 🙄

Posted in Development, Tooling | Tagged , , , | Leave a comment

Log levels explained

I’m always struggling with the method/level to use when logging from my application. In his Modern Structured Logging With Serilog and Seq pluralsight course Jason Roberts explains it this way:

Level Explain Example
Verbose how technical “calculated hash {hash} for order {id}”
Debug how functional “applied vip discount to user {user}”
Information what “created order {id}”
Warning problems “save of order {id} failed, will retry in 5 sec”
Error unexpected failure “saved of order {id} failed”
Fatal critical/stop “unhandled exception”

We have adopted this and have improved our logging quality.

If everything seems to be going well, you have obviously overlooked something
Murphy’s law

Posted in Development | Tagged , | Leave a comment

I’m Eric Tummers, Software Architect at Statistics Netherlands, and this is how I work


My jobs description says Software Architect. I’m guiding my team through the technical hurdles and do some programming/testing/analysing myself. We follow the scrum guide and are working towards continuous integration and deployment. We do this in small steps. Every sprint we complete means the retrospective is done in the pub.

I expect the best and I give the best. Here’s the beer. Here’s the entertainment. Now have fun. That’s an order!
RasczakLocation: Sittard, NL
Current Gig: Devops Teamlead, CBS
Word that best describes how you work: Teamwork
Current mobile device: iPhone se
Current computer: MacBook 15 inch

What apps/software/tools can’t you live without? Why?

Wunderlist: work tasks, chores, groceries, planning, every task is there. I’m aware of the acquisition by Microsoft and the planned end-of-life.
Evernote: I’m a fan for years now.
Parallels 11: Running Windows on my MacBook is a must. And of course visual studio, team foundation server, build, release manager, sql server management studio, remote desktop, powershell, and some other tools I need for work.
Alfred: keyboard shortcuts for everything. I bought the powerpack and advise you to do the same. Still on v2 though.

What’s your workspace setup like?

Work at the office is on a thin client with 24 inch screen and (wired) mouse and keyboard. The desk and chair comply with all regulations. We have a great coffee machine.

dekstop_2017

My home workspace is still my Macbook 15 inch. I’ve a new setup with logitech keyboard and mouse (MX800) and Benq 24 inch monitor (BL2420PT). Nothing fancy but the extra screen space is very welcome.

What’s your best time-saving shortcut/life hack?

Timebox. Start on a task and spent the time you’ve got to get the best result. Get someone to look at it, get feedback. Then decide if the result is final or to spent some more time.

Besides your phone and computer, what gadget can’t you live without and why?

I replaced my Magellan Echo with the Garmin FR235. It has smart watch features and a optical heart rate monitor. My phone is on mute since the Garmin notifies me of everything.
My Apple Airpods. Easy to use, small and good sound. Never leave the house without them.

What everyday thing are you better at than everyone else? What’s your secret?

Learning new things. My current project lets me implement new things (joy) Also I try to learn the things I know to my team or anyone who listens.
I have a basic understanding of how things work and try to map new things on there. For the details I have a Pluralsight subscription and black belt google skills.

What do you listen to while you work?

My alarm clock plays classical music to wake me up in the morning. The car stereo plays about everything (grunge, rock, kids stories) driving to work. When I need some focus I play drum and bass on my headphones. My ringtone is still Run riot by Camo & Krooked, although it is muted since I got the Garmin.

What are you currently reading?

The Hard Thing About Hard Things. It gives an insight into the problems a CEO has and how to overcome these. I enjoyed reading it on my last vacation and plan to read it again after I finish it.

How do you recharge? What do you do when you want to forget about work?

Spending quality time with my wife and daughters. Phone on silent, no screens, no work. Mostly piggyback riding and tea parties
Also sports like running, fitness, climbing and snowboarding to keep me fit and healthy.

Fill in the blank: I’d love to see _________ answer these same questions.

DC Rainmaker (Ray) has been on my reading list for years. His reviews about sport gadgets is amazing. If you don’t know who this is I urge you to click the link. For the rest; you know why.

What’s the best advice you’ve ever received?

someecards.com - Make a shit first draft you cannot edit a blank page
I believe this is a variant on a Hemingway quote.

Is there anything else you’d like to add that might be interesting to readers?

Learn Powershell. There is so much possible with Powershell. If you can learn one thing this year pick Powershell.

Original idea from Lifehacker.com.

Posted in Uncategorized | Tagged , , , , , , , | Leave a comment

TFS tips #2 – CodedUI with testagent

💡 This post is part of my TFS tips where I write about how we make the most of TFS (on premise)

During release in our CI/CD we want some codedUI tests to run. In TFS we have the “Visual Studio Test Agent Deployment” and “Run Functional Tests” steps but some extra work is needed to get the tests running every time.

Manual

Since we use the same dedicated machine for every codedUI test the setup is done manual. There are two things that need to be configured:

  1. screensaver timeout, make sure it is long enough (10 min+) or disabled
  2. autologon (sysinternals), provide the credentials and after every reboot this user is automatically logged in.

Release

The first step in the release definition will reboot the codedUI machine. Then the artifacts are deployed to the first environment (during which the codedUI machine is rebooting) When it is time to start testing the codedUI machine is done booting and the autologon makes sure it is able to interact.

Posted in Development, Tooling | Tagged , , , | Leave a comment

TFS tips #1 – Install Java runtime on local server

💡 This post is part of my TFS tips where I write about how we make the most of TFS (on premise)

We are currently working on a project that needs the Java runtime to be installed on our local servers. As lazy developers we want to script this once and let TFS Release handle it from then. This way we can expand our OTAP or scale out in productie with ease.

Artifact

The default proces of Release is get agent from pool, collect artifacts, install artifacts on target. So the first thing we did was add the Java runtime installation to an artifact on the build.
The build makes one archive (zip) from the installation files and scripts. That zip file is published as an artifact on the server. This way everything is available to TFS, no hassle with access rights to fileshares.

DSC

Our standard for script installation (and checking) of software is Desired State Configuration.
The complexity with this DSC is the required reboot after the Java runtime installation. There is a way to do this with DSC by allowing the DscLocalConfigurationManager to reboot if needed and to signal that a reboot is needed.
For this we create one Dsc script and one powershell script that applies this Dsc. The important part of powershell script is below:

# create mof
DscJavaServer -ConfigurationData $ConfigData -Verbose
# allow the server to be rebooted
Set-DscLocalConfigurationManager .\DscJavaServer -Verbose -Force
# apply DSC (install java if needed)
Start-DscConfiguration DscJavaServer -Wait -Verbose -Force

The contents of the Dsc file:

configuration DscJavaServer
{       
  Import-DscResource -ModuleName 'PSDesiredStateConfiguration'
      
  Node $AllNodes.NodeName
  {
    Write-Verbose "Configuration for $NodeName"
    Write-Verbose "Installation files should be in $DeployLocation"
 
    # This allows the reboot
    LocalConfigurationManager
    {
      RebootNodeIfNeeded = $true
    }
 
    Script Java
    {
      GetScript  = { return @{} }
      TestScript = { return Test-Path 'HKLM:\SOFTWARE\JavaSoft\Java Runtime Environment' }
      SetScript  = {   
        $installer = "$($using:Node.DeployLocation)\jre-8u144-windows-x64.exe"
        Start-Process $installer -ArgumentList '/s' -Wait
        # signal reboot
        $global:DSCMachineStatus = 1
      }
    }   
  }   
}

Release

The release definition will push the artifact to the target server, unpack the archive (zip) and execute the powershell script.
Now we have a release pipeline that can make sure the Java runtime is on a target machine. If it is not the installation will be done including the required reboot.

Posted in Development, Tooling | Tagged , , , | Leave a comment