Working in Tech

Best practices, new technology and products, and tips to help you stay on the cutting edge.

Programming for iOS With Xamarin Studio

Posted In C++/C#, iOS, Working in Tech
Xamarin Thumbnail
Back at the start of July I began a contract to develop an iOS app for a Taxi firm. I decided to invest in Xamarin Studio so that I could develop the app in C#. The development took a bit longer than expected due to issues with the server, but it’s now very near completion. Xamarin, while appearing to have come out of nowhere, is actually a renamed and rebranded version of MonoTouch, so it’s a couple of years old… continue…

Why Windows Developers Should Learn Android

Android
As more PC makers load Android into their desktops, it might be a good time for Windows developers to become familiar with Google’s OS. Earlier this month, Hewlett Packard unveiled its first commercial Android All in One PC – the HP Slate21 Pro AiO. The desktop is designed to provide simple integration with Android-based phones and tablets, as well as automatically sync with Google Cloud Services. Meanwhile, Asus has its Transformer AiO P1801 and Lenovo its N308. David Chie, president… continue…

Why Managed Code is Safer

C# as Machine Code
One of the biggest sea changes in computing took place in the late 1990s, with the switch over to running managed code, first with Java and then a couple of years later with .NET. Prior to this, compiled code (typically written in C, C++, Visual Basic or Delphi/Pascal) produced unmanaged code. Yes, both of these run machine code. So what’s the difference? Unmanaged Code Unmanaged code is just low level code (machine code) that the CPU (Central Processing Unit) executes… continue…

How Reactive Can Beat Conventional Procedural Programming

Java Code
In a post on Slashdot, Val Huber, CTO at Espresso Logic in Santa Clara, Calif., did a comparison of Reactive Programming to Java with Hibernate and MySQL triggers using a real-life business example. In the test, Reactive Programming surpassed conventional procedural programming models with a faster time to market, reduced maintenance, better quality and a higher level of transparency. Using a simple scenario involving customers with purchase orders consisting of line items, Huber compared what it takes to implement business… continue…

Generating Not-So-Random Numbers With Java’s Random Class

Dice Snake Eyes
All programming languages have random number generator classes or libraries, which produce sequences of random numbers. Those sequences are similar to pi in that they run on forever (well, sort of). As Harold explains to a class of bored teenagers in this Person of Interest clip, because pi runs forever (though so far only 10 trillion digits have been computed) every number or word that exists can be found within it. The same can be said of sequences of random… continue…

4 Ways Business App Devs Can Leverage Consumerization

Offic Water Cooler Fun
It’s become clear over the past several years that the consumerization of IT isn’t going away as employees adopt new software and hardware for their own personal use, then introduce it into their companies. For enterprise app developers, the idea that consumer apps are infiltrating their domain may seem a bit frightening. But that’s the wrong attitude. Instead, why not glom onto the features that make consumer apps so desirable and apply them to the enterprise? Leyla Seka, Salesforce.com’s vice… continue…

Key Differences Between C# and Java

Java vs. C#
Any comparison of C# and Java’s language features will always be contentious. The parable about the three blind men describing an elephant illustrates the issue well —  no one developer has used or experienced all the features of the current C# or Java versions. I certainly haven’t. This comparison focuses on the ways Java 7 and C# 5 differ. Java 8 is scheduled to become generally available in March 2014 and C# 6.0 will likely appear sometime in 2014 as… continue…

Can Android Security Protect the Connected Car?

Android Security
We are nearing a tipping point with connected technologies. The Internet of Things will include a variety of devices that may not have been designed with network security in mind — such as your shiny new “connected” car. Such unsecured devices will be open for data mining, or worse. But in the future, your car may protect itself from malicious attacks originating from hardware and wireless access. Parental controls will issue alerts for unauthorized traveling outside a pre-set radius. Plug-n-play devices will be… continue…

Using Microsoft’s OneNote as a Creative Tool

OneNote Logo
For many years I designed games, projects, to-do lists, and more using Wiki on a Stick, a single page wiki which worked beautifully in Firefox until three or four years ago. It held everything in one HTML file with embedded CSS and JavaScript. It still exists but is a bit awkward to use because of changes in the Firefox security model. A file that writes itself to a local folder? That sounds dodgy, but it worked well until they removed… continue…

Blocking Queues Beat Lists in Multithreaded Code

Microsoft .NET
In .NET, it’s quite common to store data in a generic List – a List<T> where T is some type such as an int or a class. In addition to its standard uses, a generic list can be implemented as a generic queue in place of a .NET Queue<T>, since a Queue<T> is just a specialized form of List<T> in which items are only added to the end of the list (Enqueue) and taken from the front of the list… continue…