REST Client in Swift with Promises

Diving deeper into Swift, I am examining different ways of improving my architecture, and making the best decisions when creating new applications. For me, architecture and expressiveness  in the code is much more important that a complicated algorithm that boosts performance over 100%.

One thing I am called to do very often, is set up an HTTP client that will handle network operations, access tokens, and perform bandwidth throttling. So, I would like to share with you my idea of approaching the creation of an HTTP client with Swift.

Continue reading

AVR STK500 on OS X

So I bought my own copy STK500, and I installed my version of Fusion, with Windows 7 in order to run AVR Studio for programming my ATMega8515 microcontroller with the STK. After 2 weeks, I finally managed not only to properly operate the STK on a Mac booted on Windows 7, but to use it with Fusion, Parallels, and OS X as well. So, in order to save you some time, here is a quick walkthrough on how to develop software for Atmel’s AVR using the STK and a Mac. In this article you will also find information about AVR setup on OS X in general.

Continue reading

Installing Portable Dynamic (And Static) Libraries On OS X

Last Update: 07-02-2009

I recently decided to install portable Libraries on my Mac, a procedure that has never been proven easy for me for the past years. In order to port my programs from one platform to another, I must have downloaded portable libraries that exist in all platforms, such as PCRE (perl compatible regular expressions library for C and C++).

The problem is that when I try to install the libraries, I mostly encounter errors and problems during compilation while using the “make” tool of UNIX. This is due to the developers not being careful to handle all different system versions. Even when I did manage to install the necessary libraries, I couldn’t find a way to make them work with Xcode.

So what do you do when you need to install a portable Library and use it with Xcode?

Continue reading