Posts

TALMUG: Agile testing

Been a while since I posted anything - so busy with life and work. Last night I had the chance to attend the Toronto Application Lifecycle Management User Group (TALMUG) as they were discussing something I've been grappling with:  Testing (specifically, Agile testing) Some key points I pulled out of the discussion: The key to doing Agile correctly is 'definition of done' and retrospectives (continuous improvement) The key to ensuring testing is a part of the process is 'definition of done', and thus, you must have some sort of Agile-y development process The key to getting the time to continuously improve is to PARTNER with your business colleagues - IT must be viewed as a partner, not a cost centre or necessary evil or code factory The key to transforming to a 'team is responsible for all vs. I'm only responsible for my part' is holding the entire team accountable - no deadline extensions, public shaming Sub-key is 'attitude is king'...

Creating scripted browser synthetic monitors in New Relic the easy way

https://github.com/sschwartzman/newrelic-synthetics-sebuilder Amazing.  You use the selenium-builder Firefox extension and add this little gem to the extension's plugin dir...bam.  Instant New Relic Synthetic-friendly scripts. What this means is you can now out-source the creation of Synthetic scripts to (mostly) non-technical people - the more people involved from different areas, the better your coverage of business-critical processes will be. Even if they can provide you (the technical person) with a click path/data, this still makes your life a lot easier by removing the need to fiddle with syntax, and ensures that maintenance is not a big deal down the road.  Yes, UI-based tests are still fragile, but in this case it's a necessary evil to ensure that the customer experience remains satisfactory/functional. Anyways, some pretty powerful tools!  Fun and useful.

Git & UAC

As a PSA to those using Git in a split-account UAC system (normal non-admin user account & separate admin account). We were having huge issues with Git processes taking forever - on a machine without this UAC setup a 'git status' would take 0 seconds.  On the impacted machines we were seeing averages of 30s. We figured it was the encryption software, or maybe the antivirus software - nobody could figure it out, and we had the additional red herring of a few machines with corruption issues.  Anyways, finally we really started digging into it and discovered that there was one user without any issues on a system that SHOULD have issues.  He had this problem at a previous employer - and provided this link:      http://stackoverflow.com/questions/4485059/git-bash-is-extremely-slow-in-windows-7-x64 Amazing.  I applied those changes to two affected machines, closed / reopens the active shells, and BAM.  Git was back to normal! Hopefully thi...

VirtualBox guest running IIS and supplying code via vBox sharedFolder

Update:   I would note that we ultimately abandoned this process in favour of running a copy task inside the VM.  To start we're using "robocopy dir1 dir2 /MIR /MT:8 /XD .vs" running every minute, but eventually we'll do something w. NTFS filesystem triggers. ------------------------------------ You might have ended up with an error like this: Filename: \\?\C:\path\web.config Error: Cannot read configuration file This is because IIS doesn't like the fact that it's attempting to access something that's been symlinked (IIRC, check google for specifics).  So, we need to trick it!! I do not take credit for this, just posting up a script that should help.  This guy pointed me/others in the right direction: http://stackoverflow.com/questions/22636106/iis-application-using-shared-folder-in-virtualbox-vm I would note that we use an array for the IIS stuff because re-using code from other scripts is fun (bad practice, too!).  It was the fastest way for me...

Development workstation build: Packer/Vagrant/Virtualbox for an IIS/MSSQL environment

There are lot of other blog posts out there detailing this (see end of post for links), but I wanted to share my experience. I started this project with the mandate as follows: Find a way to make onboarding new developers simple and easy, plus we'd like a way to ensure that development environments are kept up to date. Seems like a good first task to get familiar with the systems!  The old process involved a lot of guesswork & fiddling, and generally took a few days at minimum.  There's an obvious business case to be made - especially when they plan on hiring ~15 developers this year ( minimum 30 man-days of productivity lost, not counting the waste associated w. inconsistent environments ). I started with a few misconceptions, but eventually we had conversations around what should  we be doing, rather than what do you want me to do .  One of the senior developers mentioned how a VM would go a long way to bringing stability, and after a chat everyone agree...

PowerShell GET/POST to Bitbucket API

I guarantee there is a better way to do this, but it took me a while to find the powershell syntax to do GET/POSTing, so hopefully this helps save someone some time.  And yeah, I'm aware that it's saving the password variable in plaintext.  Something to consider for v2. The idea behind this (partial) script is that you can get most of the pre-setup done automatically.  One of the issues I haven't resolved yet is automatically accepting the ssh prompts (tried pre-injecting stuff, bunch of other things, no luck).  Not a huge deal since the biggest issue is the POSTing of the ssh key to Bitbucket. This is a small piece of a project to automagically set up a dev workstation from a bare machine.  I think I'll try to post all of the code up when it's done - seems to be a common issue. Also, I am really starting to get annoyed w. Blogger's inability to do code snippets.  One of these days I'll fix it...or move to Github gists for everything... <#...

New job, new tools

I have been shown a few new tools that are pretty neat... cmder - great replacement for the command prompt, integrations w. other tools MFA: DUO (pushes an accept/deny for JIRA/Confluence stuff) MFA: Authy (+ Chrome extension) for AWS MFA Boxstarter & Chocolatey & AWS S3 & Bitbucket AWS in general Greenshot (replacement for snip tool/snagIt - free) And because we like automating this sorta thing: @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin cinst -y appName ... cinst -y lastappName And you have boxstarter do a lot of that for you, handle restarts, Win updates, etc.  This is all googleable and somewhat old hat now, but still really amazing to see for the first time.  Complete game-changer. One of my initial tasks is automating/streamlining the dev workstation config/setup.  At first...