30 Articles


2 years Ago

Source Link Flakiness in Visual Studio 2017 and 2019

Published by marco on

tl;dr: If MSBuild/Visual Studio tells you that

the value of SourceRoot.RepositoryUrl is invalid…

and you have no idea what it’s talking about, it might help to add the following to the offending project and the error becomes a warning.



What is Source Link?

Microsoft introduced this fancy new feature called Source Link that integrates with NuGet servers to deliver symbols and... [More]

3 years Ago

Docker for Windows and Hyper-V

Published by marco on

As it stands, Docker for Windows still requires Hyper-V to be enabled on the host machine. If you’ve been around long enough, you may still believe (falsely, it turns out) that Hyper-V doesn’t work with hyper-threading.

The problem with Hyper-V was apparently never that it disabled hyper-threading but that it led to sub-optimal cache-usage on older chips (single-core). Newer chips have many more cores and much larger caches, so the cache-poisoning issue from 2005 is no longer a problem.
... [More]

Repairing Windows Updates that refuse to install

Published by marco on

 Updates won't install Windows Defender not runningFor quite some time now (months?), my Windows 10 installation has had a problem/corruption in its Update Database that prevented it from applying some updates.

At first, it was just a definition update for Windows Defender, which is bad enough. However, a recent update to Windows Defender itself could not be applied and this conflict prevented Windows from even starting Windows Defender Antivirus.

That’s not great.

Finally: A Solution

Digging around online in this problem area is... [More]

Syncing Contacts with the Apple iCloud

Published by marco on

too long; didn’t read: Back up with Time Machine before syncing your contacts via iCloud. If iCloud wipes out your contacts, you can restore the ~/Library/Application Support/AddressBook/ folder to get them back.

I regularly use two MacOS devices and one iOS device. Considering who else already has my contacts, I figure it was time, for convenience’s sake, to use Apple’s iCloud to sync my contacts across the three devices.

I obviously not writing this article to inform the world that... [More]

5 years Ago

SQL Server Express Windows Authentication error

Published by marco on

Since the beginning of the year, I’ve been plagued by an intermittent error while connecting to SQL Server Express with default Windows authentication:

“Login failed. The login is from an untrusted domain and cannot be used with Windows authentication. (Microsoft SQL Server, Error: 18452)”

The first time I encountered it, I was only able to fix it by logging out of Windows and logging back on. The second time, it went away the next morning after I’d logged back in after hibernation. I recently... [More]

Set Up Spell-checking Languages in MacOS

Published by marco on

For the impatient (tl;dr):

  1. Open System Preferences
  2. Select the Keyboard panel
  3. Activate the Text page
  4. Show the drop-down under Spelling:
  5. Select the last item in the list, named Set Up…
  6. Check/uncheck to select and drag & drop to sort your preferred languages

Details and Screenshots

I recently set up a new Mac to work on develop iOS apps at Encodo. I relatively quickly noticed that the machine was set up for British English (en-GB) rather than my customary US English (en-US). There aren’t... [More]

6 years Ago

Avoiding Planned Obsolescence with a MacBook Pro

Published by marco on

Some friends of mine have an older MacBook Pro, from mid-2010. I recently helped them upgrade from OS X 10.6 to 10.11 (El Capitan). The following article grew out of instructions I sent them for taking the next step: upgrading some hardware to increase the longevity of their laptop even further. I added a lot more detail after I’d upgraded my own end-2009 iMac with a new SSD.

By jumping five OS versions, you’ve got lots of new toys—better mail and calendar integration, a new Photos... [More]

Showing Pictures on a Map in OS X Photos (2016)

Published by marco on

This feature is quite nice, but less intuitive than I’d expected. When I upgraded a friend’s computer, I was unable to figure out how to get to the map that I knew I’d seen before. With a bit more time and a web search, I was able to figure out how this thing works again.


In iPhoto, there was a “Locations” view to which you could switch to show the world map with pins in it. While convenient, Apple never figured out how to make this feature scale to tens of thousands of pictures so... [More]

Windows 10 Windows Update Malfunction

Published by marco on

tl;dr: If Windows 10 fails to install updates several times, you may have a corrupted update database. Follow the steps listed here to fix things. It will take quite a while, but it works out in the end.

Several months ago, I upgraded to Windows 10 on my laptop. Things went OK[1] and I was basically able to continue working uninterrupted.

Windows Insomnia

A couple of weeks ago, I noticed that my laptop was almost always “awake” in the morning and seemed to be quite busy doing stuff when I... [More]

Git: Managing local commits and branches

Published by marco on

At Encodo, we’ve got a relatively long history with Git. We’ve been using it exclusively for our internal source control since 2010.[1]

Git Workflows

 When we started with Git at Encodo, we were quite cautious. We didn’t change what had already worked for us with Perforce.[2] That is: all developers checked in to a central repository on a mainline or release branch. We usually worked with the mainline and never used personal or feature branches.

Realizing the limitation of this system, we next... [More]

Limited drive-space chronicles #2: Why...isual Studio installed on my machine?

Published by marco on

If you’re like us at Encodo, you moved to SSDs years ago…and never looked back. However, SSDs are generally smaller because the price (still) ramps up quickly as you increase size. We’ve almost standardized on 512GB, but some of us still have 256GB drives.

Unfortunately, knowing that we all have giant hard drives started a trend among manufacturers to just install everything, just in case you might need it. This practice didn’t really cause problems when we were still using by-then... [More]

7 years Ago

How Encodo sets up new workstations

Published by marco on

     At Encodo, we’ve recently set up a few new workstations with Windows 8.1 and wanted to share the process we use, in case it might come in handy for others.

Windows can take a long time to install, as can Microsoft Office and, most especially, Visual Studio with all of its service packs. If we installed everything manually every time we needed a new machine, we’d lose a day each time.

To solve this problem, we decided to define the Encodo Windows Base Image, which includes all of the standard... [More]

Who’s using up my entire SSD?

Published by marco on

Hard drives => SSDs

 In the old days, we cleaned up our hard drives because we didn’t have enough space for all of our stuff. Our operating systems, applications and caches took up a reasonable portion of that hard drive.

Then we had gigantic hard drives with more than enough space for everything. Operating systems, applications and caches grew. Parsimonious software was no longer in vogue because it was a waste of time and money.

SSDs replaced hard drives, improving speeds drastically and... [More]

8 years Ago

How to configure Visual Studio 2013 with licenses from a multi-pack

Published by marco on

The following article was originally published on the Encodo blogs and is cross-published here.

If you’re only interesting in what we promised to show you in the title of the article, then you can jump to the tl;dr at the end.

Silver Partnership

Encodo is a member of the Microsoft Partner Program with a Silver Competency. We maintain this competency through a combination of the following:

  • A yearly fee
  • Registration of .NET products developed by Encodo (Punchclock and Quino in our case)... [More]

11 years Ago

Troubleshooting a misbehaving designer in Visual Studio 2010

Published by marco on

Anyone who’s used Visual Studio 2010[1] for a non-trivial Windows Forms project has run into situations wherein the designer can no longer be opened. Usually, it’s because the class encounters null-reference exceptions when referencing data that is unavailable until runtime. Those are easy to fix: just avoid referencing that data in the constructor or load-routine while in design-mode.

However, sometimes Visual Studio has problems loading assemblies that it seems it should have available.... [More]

12 years Ago

How Do I View Available Characters in OS X?

Published by marco on

There’s a keyboard viewer stashed away in a very unintuitive place. These instructions assume you are using OS X English, but include steps for both Leopard and Snow Leopard (versions 10.5.x and 10.6.x respectively). Click the footnote links to jump to the screenshots below.

  1. Select “System Preferences…” from the Apple in the top-left corner.
  2. In Leopard, select the “International” icon in the top row (in Snow Leopard, it’s called “Language & Text”)
  3. In Leopard, select the “Input Menu” page.... [More]

Backup, Recovery & Optimization Scripts

Published by marco on

This article was originally published on the Encodo Blogs. Browse on over to see more!

Perforce servers have a checkpointing mechanism in order to back up the server metadata. That checkpoint, along with the depot data and a journal file (for changes made since the checkpoint was taken) are enough to restore a Perforce database.

Here at Encodo, we take a checkpoint every evening right before the depot files are backed up. We retain a few days worth of these checkpoints, just in case. Since... [More]

13 years Ago

Perforce Branching Specification Typo

Published by marco on

This article was originally published on the Encodo Blogs. Browse on over to see more!

At Encodo, we use the Perforce source control system. Recently, I created a branch specification in order to maintain bug fixes in a released product. See below:

//depot/branches/customername/versionnumber/projects/encodo/quino... //depot/projects/encodo/quino/...

Naturally, the next thing I did was to branch the files under //depot/projects/encodo/quino/ to the branch, using the P4V client. It... [More]

How To Report a Software Bug (or any other Problem)

Published by marco on

Reporting a bug in software is no different than reporting any other problem you want addressed: the more specific you are, the better and quicker service you’re likely to get.

  1. Always assume that the person responsible for the problem you want fixed is just as interested as you are in fixing it. If you’re working with good people, that’s usually the case.
  2. Always assume that good people have 1000 things to do, but will still prioritize your issue higher if they think they can take care of it... [More]

OS X Leopard: Restoring from Backup (Ad hoc)

Published by marco on

Say you’re excited about having finally upgraded from OS X Tiger to Leopard more than two years after everyone else has already made the switch. Let’s say you’re not so excited that you completely lose your head and do a clean install without making a backup, but excited enough to forget that several Apple applications have rather convenient backup features baked right into them.

OS X offers a Migration Assistant with which you can migrate settings from another OS X installation or a Time... [More]

OS X Leopard: Uninstalling Dev and Unix Tools

Published by marco on

Installing OS X Leopard on my old 1.4GHz PowerPC 1GB Mac Mini went surprisingly well. I used Lacie SilverKeeper to back up my Tiger hard drive before wiping it out and doing a clean installation. I avoided installing all of the extra languages and printer drivers and managed to save several gigabytes of hard drive space for other stuff.

The only thing I had trouble installing was rdiff-backup, which is a UNIX utility for performing backups. OS X Leopard sports the vaunted Time Machine for its... [More]

How to Expand Your Music Library

Published by marco on

There are many online services available these days through which a user can access a vast music library. One of the most popular is the iTunes Music Store, which offers a relatively large library of music for sale. It’s not even DRM-encoded anymore and has thus become more attractive. Amazon also has a pretty extensive library and has offered its music DRM-free from the beginning.

Those are sources where you pay for a license to an MP3 file. You can put it on any many gadgets as you like.
... [More]

Improving Online Readability

Published by marco on

If you spend any amount of time reading online, you know how difficult it sometimes is to get the text into a format that makes for comfortable reading. All the more so for those doing their reading on portable devices. Web sites have several tools at their disposal to ease both online reading and printing:

  • Offer a printable stylesheet that is used when the browser prints the document, so that advertising, comments, and other garbage are left out, leaving only the text of the article.
  • Offer a... [More]

14 years Ago

How to send mail using earthli

Published by marco on

If you have an email account, you can most likely check mail from anywhere in the world—either using webmail or by using a mail program using either POP[1] or IMAP[2]. In order to check mail, you must always identify yourself and authenticate with a password. Sending mail, on the other hand, used to be easier; some hosts used to relay mail from any address to any address. In the age of spam, this is no longer possible and many large ISPs have switched their SMTP[3] settings to require authentication... [More]

Optimizing XWiki

Published by marco on

This article was originally published on the Encodo Blogs. Browse on over to see more!

Once you’ve got an XWiki up and running (whether you imported a Mediawiki or not), you’ll find you want to tweak the standard rollout a bit.

Speeding up XWiki

After working a while with XWiki, you may notice it getting slower. Our XWiki was kind of slow from the get-go and we pretty quickly figured out why: the slowdown was caused almost entirely by the pretty, DHTML list of all pages in the panel on the... [More]

Windows XP Can’t See a USB Hard Drive

Published by marco on

These days, all USB drives are plug-and-play with Windows XP: you plug it in, Windows recognizes it and shows it in the Explorer, usually with a drive letter like F, G or H. Sometimes, however, the auto-detection of the drive letter goes awry and the drive doesn’t show up in the Explorer and you’re hard-pressed to access it.[1]

If this has happened to you, you should first verify a few things:

  • Make sure that the drive is plugged in properly and that it is turned on (and/or drawing power... [More]

15 years Ago

Poor Man’s Backup with tar

Published by marco on

The application tar is ubiquitous in the Unix/Linux world. It rolls multiple files and directories into a single “tarball”, which can be transferred more easily and expanded at its destination. A single option, -z applies a compression to the resulting tarball, giving the file the by now well-known extension .tar.gz (for tar-balled and g-zipped). Extracting this file involves two operations, in which first the compression is removed and then the tarball unrolled.

The easiest way to back up a... [More]

Hidden Files in Perforce

Published by marco on

This article was originally published on the Encodo Blogs. Browse on over to see more!

We keep our source code in Perforce, an extremely powerful SCM (source control manager). It retains multiple revisions of files and manages integrations between “branches”, or diverging streams of similar code. Read/write permissions for paths within the depot can be restricted per user.

Recently, we needed to get the history of a particular file to see which changes had been applied to it over the course... [More]

16 years Ago

Deleting Recent Connections in P4V (Perforce Client)

Published by marco on

The Perforce P4V client has a list of recent connections under the “Connection” menu. This is especially nice when you use more than one workspace or more than one server. However, if you select the wrong workspace, it stores that copy too and there doesn’t seem to be any way of editing the list from the UI. That means your recent connections list gets crowded with entries you don’t want—and which may fail with a long timeout when selected.

You can’t remove entries from this list through the... [More]

Sharing a Printer Between Windows Machines

Published by marco on

Sharing files

It’s no longer as rare as it used to be to have more than one computer in a home. That means that home users are going to need to run networks—which is no mean feat for Windows machines. Getting two newly-installed[1] Windows machines to see each other is relatively easy.

  1. Just right-click a folder, select “Sharing” and tell it the folder is available.
  2. Users on other computers will need to log in with a valid account for that machine in order to access the folder. If you have... [More]