Latest Blog Posts Intertech is here to help
bring positive results

Understanding Objective-C Blocks

A large portion of the code that we write for iOS apps is event driven.  An event occurs (such as an app being moved to the background, a view being loaded, a user tapping on the screen, etc.), and our code is called by the OS to see how we want to react.  There are several different conventions we follow to set ourselves up as event handlers: override inherited methods, implement delegate methods, pass @selector arguments as “callback” methods, etc.  Several years ago (with… Read More

Table Views and the Curse of the iOS 7 Status Bar

It’s no exaggeration when I say that most of my prototype-cell based table views are added to a navigation controller path.  However, the other day, I had a use case which required a stand alone table outside of a navigation controller.  To my surprise, the table view rendered in a manner that caused the top header to be obscured underneath the status bar: I tried everything I could think of to get the table view to move below the status… Read More

Xcode Assets (*.xcassets)

When Xcode 5 was released, users noticed new projects included a file called “Images.xcassets.” Despite how it appears in the project navigator, this is not a single flat file.  Rather, it’s a resource bundle – known as an “asset catalog” – that may contain one or more sets of images, along with a JSON descriptor file. The purpose of an asset catalog is to manage the varying sizes of icons, launch screens, and other images required to support multiple iOS… Read More

Raising the Quality Bar with Visual Studio – Data Driving a Coded UI Test

In my last post we looked at using the “Params” and “ExpectedValues” objects to override our recorded values and assertions.  In this post we will look at driving those values with a data source. We can start with the test method we built in our last post: We want to modify line 7 and line 10 to use the values from a comma separated values (CSV) file. Lets start by adding a folder to our solution to store the csv… Read More

Spring Framework’s WebDataBinder

Last week, I was just outside our nation’s capital teaching Spring Web MVC Framework to a wonderful group of people working for the National Institute of Health (NIH).  They are getting ready to move a collection of Struts 1 projects to Spring Web MVC.  Some questions and discoveries around Spring Web MVC’s @InitBinder operations seemed a good fit for this week’s post. Spring Web MVC Command Beans Part of my Spring MVC class is dedicated to teaching students how to… Read More

Raising the Quality Bar with Visual Studio 2012 – Override Recorded Values in your Coded UI Test

  When using the coded UI test recorder, the strings you enter into text boxes or input fields are recorded.  Overriding those values is simple.  For this example we will perform a simple search on Intertech’s web site and validate the search result header.  We will use the coded UI test builder to do this. Create a new coded UI test using the builder.  Perform the following actions and generate code for each step Launch the browser Navigate to www.intertech.com… Read More

15 Epic Tech Meltdowns You Won’t Believe

The tech world is a place where, for better or worse, anything can happen. And whether we’re having a controlled and intentional meltdown, or we’re a victim of the technology itself, it can lead to some pretty memorable results. We’ve scoured the web for examples, and managed to come up with these 15 Epic Tech Meltdowns You Won’t Believe. From famous directors to famously volatile CEOs, our list has a little something for everyone. 1. Michael Bay at CES One… Read More

Going from a good business to a great one

No single thing makes a business a great one. Greatness comes from the dedicated employees who put time and effort into their work every day. It comes from a loyal, steady customer base. It comes from management that communicates effectively, drives business progressively and cultivates a productive workplace dynamically. But, most importantly, it comes from all of us working and thinking like stakeholders, feeding off one another and encouraging a healthy business ecosystem. This is how a good company grows into a… Read More

Agile Adoption Training Video

Check out this great video on Agile adoption by Agile coach, consultant, and instructor Stevie Borne…. Read More

Remove the Register Directive for Custom Controls

As I have developed with Microsoft’s tools and frameworks on their operating systems over the years, I have always been perplexed when I was required to add some extra custom code or perform some extra step of work because I wrote the software. However, for Microsoft, they added some undocumented customization to the tool or framework so they didn’t have to! What?!? “I call shenanigans!” Whenever I see something like this, I dig in and try to figure out how… Read More

JavaScript’s Fine but TypeScript Rocks!

Face it, JavaScript is a functional language that can be difficult to learn and use, especially for those with experience in Java or C#. Its original purpose was to support Dynamic HTML (DHTML) for Netscape Navigator back in the late 90s. Technically, it was called JavaScript for branding purposes by Sun when they absorbed Netscape. However, as John Resig (the original creator of jQuery) put it, “JavaScript is to Java as a hamster is to ham.” Microsoft was told they were not legally allowed to include… Read More

History’s 15 Worst Named Tech Products

What’s in a name? If we’re talking about some of the products on the list you’re about to read: some really bad ideas. While not all of History’s 15 Worst Named Tech Products failed because of their christening, they certainly didn’t help themselves out by choosing the names they did. From bad hygiene admissions to inadvertent racism, we proudly give you the worst of the worst. 1. DigiScent iSmell The DigiScent iSmell has gone down as one of the 25… Read More