Delete an Internet Account when JAMF policy disables Internet Accounts

On a JAMF managed Mac, you can find yourself inadvertently adding an Exchange (Yahoo!, Gmail, etc) account to Internet Accounts. This becomes a problem if your JAMF profile changes and restricts access to Internet Accounts because you then have no visible way to remove it. There are two big problems with this situation. One is unwanted notifications. The other is what happens when this Internet Account is an Exchange account and you have recently reset your Active Directory password, but are now unable to change the password in the Internet Account and it does not auto-update. This can lead to your Mac constantly polling your Active Directory server to update and forcing your account to be locked over and over.

Fortunately, there is an easy fix.

Simply open the following file with a SQLLite editor such as Base:


And delete the accounts in the ZACCOUNT table.




Posted in Mac | Comments Off on Delete an Internet Account when JAMF policy disables Internet Accounts

Protocol Oriented Programming …. neat example

I found this excellent writeup to help bend your mind around going from a strict OOP mindset to POP and the use of value types. This is Apple’s emphasis in Swift as it reduces the potential for nasty bugs introduced by over-reliance on mutable, multi-owner reference types. He puts together a concise, real world example that’s easy to understand.

Posted in iOS, Software Development | Comments Off on Protocol Oriented Programming …. neat example

Reference vs. Value Types

I found an excellent article on the use of value types to help reduce the complexity of reference types. In the process, it does an excellent job at explaining the differences between the two in a more meaningful way than many other articles I have found.

You can read about it here.

To better understand the internals (in a very general way) of what goes on behind these types, take a look at this article explaining what happens under the hood in .net. This also gives an insight into the performance implications.

Posted in Software Development | Comments Off on Reference vs. Value Types

Excellent Javascript Intro for Experienced Developers

I’ve often found that one of the more irritating challenges of picking up a new language for an experienced developer is wading through the copious amounts of rudimentary topics to get to the essence of what you need to know and also not being able to easily find the deeper aspects of the technology explained concisely. An experienced developer doesn’t want to waste time skimming through topics such as what a variable is and is much more interested in the nuances of the language so that he or she can more easily understand the existing code they are trying to debug or refactor. So, when I found this page on Javascript I was very impressed. A concise guide to the language for real developers. Yay.

Posted in JavaScript, Software Development | Comments Off on Excellent Javascript Intro for Experienced Developers

Understanding the mobile workforce

In researching mobile strategy, I came across this writeup about the impact of the emerging mobile workforce on corporations. It has some very good points that IT departments and businesses should consider.

As an end user, the largest challenge I have found has been the restrictive and reactionary IT policies of the organization I am contributing to. Security is a mess and many solutions require you to accept a significant invasion of privacy if you want to use organizational software to complete work on your personal mobile device. This is an issue for workers who want to get things done on the go without resorting to giving up privacy or carrying around yet another device that is owned by the company. End users want to get their work done on their own devices without being tied to a physical location. Allowing workers to increase their productivity is essential for business to maintain and gain competitive advantage in the marketplace. Having employees who want to be empowered to contribute more is a blessing, one that should certainly take a higher priority than maintaining existing IT practices. IT should be an enabler, not a disciplinarian.

In this vein, organizations must also prod themselves to support and enable virtual workspaces. In an increasingly global workforce, virtual collaboration is becoming increasingly vital. It is no longer a nice option, it is a necessity. The traditional physical limitations are being torn down and business must acknowledge, embrace, and then exploit this to their advantage. Global resources are being leveraged to increase productivity through 24/7 development cycles, the exploitation of economic differentials, and the contribution of increasingly diverse ideas and thoughts into the organizational culture. The world is changing and organizations must adapt or they will be left behind.

Posted in Strategy | Comments Off on Understanding the mobile workforce

Comparison of Javascript Frameworks 2015

One of the most confusing aspects of understanding web development of single page applications in 2015 is the choice of JavaScript framework. Maybe you are working on a legacy application that makes extensive use of BackBone or Ember, but you see all the hype surrounding Angular. What are these frameworks? How popular are they today? Which ones seem to have a solid future? Which one would you want to use on a new project?

In the course of trying to find these answers for myself, I ran across a very good writeup comparing the various frameworks. Head on over to DeveloperEconomics to read more and get a better perspective on where things stand today.

Posted in JavaScript, Software Development | Comments Off on Comparison of Javascript Frameworks 2015

Deleting client certificates in Safari

imagesSometimes you need to delete any cached client SSL certificates from Safari. For instance, you may be testing different certificates with different levels of access on a site you are developing. Or, you may have selected the wrong certificate to logon a secured site like AKO or other DOD sites.

The problem with Safari is that it does not give you an obvious way to do this. However, it’s simple once you understand how they are stored.

To delete your client side SSL certificate, just open Keychain access and search for the website in question. You will see the URL under the Name column. Simply delete the entry and Safari will prompt you again for the certificate the next time you visit it.

Posted in Software Development | Tagged | Comments Off on Deleting client certificates in Safari