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.

http://krakendev.io/blog/subclassing-can-suck-and-heres-why

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.

http://casual-effects.blogspot.com/2014/01/an-introduction-to-javascript-for.html

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

Helpful Mac Keyboard Shortcuts

I am consistently amazed with OS X because I am always learning new tricks to make interacting with the OS easier. A big part of this are the many keyboard shortcuts available for window management. Here are a few that I use fairly often:

⌘M – Minimize the current window.

Now, to select a window and bring it to the forefront again you do:

⌘TAB – Cycle through windows (similar to Alt-Tab on Windows)

The only problem with this is that if you had previously minimized one of those windows before, it will not show up when you release. To get around this problem, do the following:

⌘TAB and press ⌥ when the minimized window you want is displayed and it will open up when you release. If you have more than one window minimized for that application, this won’t work. Instead, use the arrow keys to select which window you want to show.

Other useful commands:

⌘Q – Quit the application
⌘H – Hide the application

If you want to go nuts, you can simply open up Preferences, then Keyboard, then click on the Shortcuts tab. Once there, select App Shortcuts and click + then enter any application menu item’s name exactly as it appears and assign a shortcut. You will also find many other shortcut capabilities in this tab. For instance, you can assign a shortcut key combination to any available system service.

OS X is truly amazing. The flexibility of the system is incredible. The more you dig in, the better it gets.

Posted in Uncategorized | Comments Off on Helpful Mac Keyboard Shortcuts