Posts relating to software development.
Compiling code with the Clang API Compiling code with the Clang API

Posted by jstrecker on 2012.08.15 @ 11:46

Filed under:

Have you tried Clang yet? Clang is an open-source compiler, under active development, that aims to replace GCC for compiling C, C++, and Objective-C. Compared to GCC, Clang is faster, while generating comparably fast code, and prints more useful error messages.

Clang is also better for developers who want to compile code programmatically. Unlike GCC, Clang is designed to be both a tool and an API. That makes Clang’s source code easier to understand and reuse. And, for those of us working on projects incompatible with GCC’s GPL license, it’s good to know that Clang is distributed under the BSD license.

Kosada is working on a cool new project that’s built on top of Clang and its underlying framework, LLVM. While using Clang for this project, I’ve been pleased to see how simple it is to write code that builds other code. Simple in retrospect, anyway! The code I wrote turned out to be simple, but it took lots of digging through the Clang source code to figure out what to write. So here’s my first contribution to the Clang community: two examples of using the Clang API to build code programmatically. [more...]

Announcing: iOS Development on 1 Page Announcing: iOS Development on 1 Page

Posted by jstrecker on 2012.01.03 @ 22:25

Filed under:

When you’re getting started with iOS development, it’s hard to figure out those first steps. What developer tools do you need? What are some good tutorials to start with? Where to begin delving into Apple’s thousands of pages of documentation?

That’s why I created iOS Development on 1 Page — a not-overwhelming guide for iOS newbies.

Is there any essential info about iOS development that should be added to iOS Development on 1 Page? Let me know!

Hacking Open Atrium: adding Features within the Contexts of your Spaces Hacking Open Atrium: adding Features within the Contexts of your Spaces

Posted by smokris on 2011.12.05 @ 19:02

Filed under:

Last Saturday at DrupalCamp Ohio, I presented an introduction to the basic concepts behind the Open Atrium Drupal install profile, and a demonstration of how to create custom Open Atrium Features. [more...]

Are you sure you want to localize? Are you sure you want to localize?

Posted by jstrecker on 2011.06.10 @ 14:36

Filed under:

It’s a wonderful fact about the world that humans have thousands of living languages. And a wonderful fact about many software development environments that they provide ways to create versions of applications localized into the most common of those languages. But before localization (or should I say world-readiness) sweeps you off your feet, let me tell you about some unexpected difficulties with Kineme’s first localized application. [more...]

When did Firebug get so terrible? When did Firebug get so terrible?

Posted by mradcliffe on 2011.04.13 @ 11:33

Filed under:

Firebug is one of those vital extensions for web developers and designers who use Firefox. I have been faithfully updating it whenever it whines at me to update it, which is usually every minor version, and it pretty much just works. Firebug and I have a romance of debugging HTML, CSS, and more recently the Javascript and JQuery that I use in Select Other, Processing, and some more recent custom development for Slight High.

The honeymoon ended recently… [more...]

Example of using a UITableView to create a form Example of using a UITableView to create a form

Posted by jstrecker on 2011.03.31 @ 23:38

Filed under:

There are a lot of iPhone/iPad examples out there, but surprisingly I haven’t seen one for a common task – using a table view to create a form. Here’s the source code. [more...]

Example of IOSurfaceCreateMachPort and IOSurfaceLookupFromMachPort Example of IOSurfaceCreateMachPort and IOSurfaceLookupFromMachPort

Posted by jstrecker on 2011.01.27 @ 01:30

Filed under:

The IOSurface framework lets you pass a reference to an IOSurface – a kind of pixel buffer – from one process to another. Here’s an example of how to pass an IOSurface through a mach port using the functions IOSurfaceCreateMachPort and IOSurfaceLookupFromMachPort. [more...]

mach_port_t for inter-process communication mach_port_t for inter-process communication

Posted by jstrecker on 2011.01.14 @ 12:14

Filed under:

Mach ports are a way for processes to communicate in Mac OS X. (Other mechanisms for inter-process communication include distributed objects and sockets.) A mach port is an endpoint of a communication channel. If 2 processes hold endpoints to the same communication channel, then one process can send messages to the other.

Mac OS X provides wrappers around mach ports – NSMachPort and CFMachPort. But sometimes you have to drop down to the native mach_port_t API.

Don’t do this on whim. [more...]

Release: Move Message To Sent Folder 1.2 Release: Move Message To Sent Folder 1.2

Posted by smokris on 2009.11.20 @ 14:00

Filed under:

Move to Sent Menu Screenshot

  • Works on Snow Leopard (with Mail.app running in either 32bit or 64bit).
  • After moving a message, automatically selects the following message (instead of selecting nothing).

Mailbundle attached.


Steve Mokris is a developer at Kosada, Inc.

memset() vs. bzero() — Ultimate Showdown

Posted by cwright on 2009.01.14 @ 22:58

Filed under:

There are a few functions used to zero out memory on most unix variants. memset(), bzero(), and calloc() are all a few such functions. calloc() isn’t very useful for clearing already allocated memory, so it won’t be appearing much more in this article. However, the other two are somewhat more interesting than meets the eye. [more...]