Mac OS X Mountain Lion Screens

MountainLion
Installation Setup – Apple ID (1 of 2) Setup -Apple ID (2 of 2) Setup -iCloud Setup – Find My Mac Setup – Done Desktop Reminders Messages Notes Preferences – Notifications GameCenter X11 Preferences – Security Notifications Open panel – iCloud support Open panel – Local files Safari

Mixing C++ with C/Objective-C

molecule
When working on a software project, you may sometimes have to mix programming languages. It may be because you need to use some specific libraries, because of code portability needs, whatever. When coding a Mac OS X (or iOS) application, you are usually going to use Objective-C as main language. It’s not mandatory, as you can use the old [...]

Warning flags for Clang

bug
Below is the complete list of the warning flags I use with Clang, the C frontend for LLVM. I personally use those flags for all my production code, for C, C++ and Objective-C development. Basically, all warning flags are activated. I had to look at the Clang source code to find all of them. I also created a header file which automatically sets [...]

WebStart 1.3.0

WebStart
Version 1.3.0 of WebStart has just been released. Root directories for websites can now be chosen individually, making it easier to organize your files on your hard disk. The update is available free of charge from the integrated updater. A full installer is also available to download. Version 1.3.0 also includes a 14 days trial period. So just give it a try, I’m sure you won’t regret it! Enjoy!

Little apps on the Mac AppStore

app
I just published two little apps on the Mac AppStore. Both were successfully validated, and are available for purchase. The first one, named «AutoPurge» is a UI agent, placed in the menu bar, that automatically frees unused memory based on a specific user-defined time interval. It’s useful for Macs with low memory capabilities, or for [...]

Unix manual pages

manual
I just released a little commercial application on the Mac AppStore. It’s a GUI front-end for the UNIX manual pages. It automatically searches your computer for all available manuals, and displays them in a nice way, ordered by sections. The following features are available: Live search for specific manual pages Search and highlight in [...]

WebStart 1.2.0 released

WebStart
Today, I officially released version 1.2.0 of WebStart. This release fixes an annoying bug, introduced since Mac OS X 10.7.2. The virtual hosts were not accessible anymore from a web browser. It also adds support for PHP 5.4.0 (release candidate). Now, four version of PHP are available. Next releases will include custom locations for virtual [...]

Xcode – Build number from SVN

Build
All programs come with a version number, generally composed of a number for the major version, another one for the minor version, and a last one for the maintenance version. It may be also useful to add another number, called the «build» version, identifying more precisely the software’s version. Such a number is often represented in a [...]

iCloud – Migration from MobileMe

icloud-01
Some screenshots presenting the migration process from a MobileMe account to an iCloud account.

C: const and static keywords

chip
Ok, once and for all, I’ll try to clarify to meaning of the ‘const’ and ‘static’ keywords in C (it applies to Objective-C and C++ too). I’m just tired of questions about this on StackOverflow. Objective-C programmers usually don’t think about C code while coding. I personally think this is a big mistake [...]

New job

DigiDNA
I’ve been hired by DigiDNA, a swiss software company, based in Geneva. DigiDNA currently develops software for Mac  OS X, iOS (iPhone & iPad) and Windows. Here’s the current product line: DiskAid DiskAid is a tool for PC and Mac which enables the use of iPhone, iPad or iPod Touch as an external mass storage device. DiskAid gives [...]

Book selection

book
The Essentials of Computer Organization And Architecture Linda Null, Julia Lobur Thoroughly Revised And Updated, The Essentials Of Computer Organization And Architecture, Second Edition Is A Comprehensive Resource That Addresses All Of The Necessary Organization And Architecture Topics Yet Is Concise Enough To Move Through In A Single Semester. [...]

GDB – Assembly debugging

skull
Here’s a little GDB trick, if you want to debug your program using assembly output. From a GDB session, type: display /i $pc break main The first line will tell GCC to output the assembly code. The second one will create a breakpoint on the main function. You can of course choose another symbol for the breakpoint. Once done, you can run your [...]

C – Function call stack on Windows

cables
For the XSFoundation project, I’ve coded an integrated debugger, that signals memory faults. On Mac OS X or Unix-like system, I can use the backtrace() function, from execinfo.h to retrieve a function call stack, when necessary. This way, when a fault occurs, the debugger can show you where the fault occurred. As XSFoundation is a portable [...]

The next big thing: XSFoundation

board
Long time since I haven’t posted here. I’m currently coding eosgarden’s next big thing. A project called XSFoundation. It consist of a portable C library. By portable, I mean it can run on POSIX compliant systems, such as Mac OS X, Linux, Unix, as well as Windows. A few time ago, I started an insane project: coding an operating [...]

Face Detection on iPhone

FaceDetect
I’ve just released a example iPhone app that uses OpenCV to do face recognition. The OpenCV port for iOS is available on GitHub, as well as the example app. Enjoy!

Migration to GitHub

git
I’ve just migrated all eosgarden’s OpenSource projects from GoogleCode to GitHub. I must say I still prefer SVN over GIT, as a version control system. That said, that’s maybe because I got a strong experience with SVN, and not with GIT. For now, the cool thing about GIT is the local commits. You don’t need an internet [...]

CPU 64Bits check

64Bits
I had to make a little Mac OS X application that check if the processor has a 64Bits instruction set or not. I made that for WebStart, as it only run on 64Bits machines, so users can test their own processor before downloading and buying the software. It’s not a great deal, since there are __x86_64__ and __i386__ macros, but in case you need [...]

WebStart – Mac OS X Lion

WebStart-Install
I just tested WebStart on Mac OS X 10.7 Lion, and it’s working like a charm… Enjoy!

WebStart – What’s next

WebStart
I’m currently working on the next release of WebStart. I plan to integrate support for the DynDNS service. That’s a feature of MAMP pro, and I was asked for such a feature. It will be for version 1.1, free upgrade for those with a 1.0 license code. Next steps will be support for the Trac SCM. I plan to add a GUI over the Trac [...]

OSX Fat Binaries

exec
Just a little reminder (also to myself)… Mac OS X support a lot of different processor architectures. From PPC to Intel, including ARM (for iOS), all of these with 32 or 64 bits instruction sets. When compiling a C file with GCC under Mac OS X, only the current CPU architecture will be compiled by default. For instance: gcc -Wall -o test [...]

Finder Wallpaper

Finder
I guess I just coded enough for this night… So here’s a little wallpaper, for the Mac addicts around here. Remembers me the good old time of Mac OS 8.5, on my iMac G3! Enjoy…

About selling software

esellerate
As a programmer, I do love developing freeware, or OpenSource software. But sometimes, it’s just not an option. When you passed just too many days and nights coding, you’ll certainly think about selling your software. The question is how? Selling a software implies creating a web-shop, with credit-card support, having a good serial [...]

Mac OS X Lion – Server Side

server
Server Stats Web Server Address Book Alerts Groups Hardware iCal Mail PodCast Profiles Sharing Time Machine Users VPN Wiki

Mac OS X Lion – Screens

Lion
Finder – All My Files Finder -Applications Finder -AirDrop Preferences – Internet Accounts Preferences -Disk Encryption AddressBook iCal iCal DashBoard Mail LaunchPad Expose  

Interview with Apple

Code
The interview is done! Two hours, with a SpringBoard Apps manager, and a GameKit manager, writing C code on a sheet of paper. Linked lists, hash tables, big O notation, search algorithms, bitwise operations… Everything on paper. It’s kinda hard! And I have to say I felt stupid some times… But they said I did well. So I’ll [...]

MWC – Barcelona

GSMA
Tomorrow morning, I’ll flight to Barcelona. I’ll be there till sunday. I don’t know if I’ll be able to attend the Mobile World Congress, but I’ll try eventually. On Friday, I’ve got a meeting with Apple. Job interview with 3 iOS engineers managers, plus a recruiter. Cross your fingers! California is just past [...]

WebStart Light

WebStart-Light
Today, I decided to create a light and free version of WebStart. It will only include Apache 2, MySQL 5.1, and PHP 5.3. Only one virtual host will be available by default (but you can still tweak the configuration files). No log file viewing, no configuration editing, no OpenLDAP, no easy website creation and management, no SCM… But it will [...]

WebStart installer is ready

WebStart-Install
Today, I ended the development of the WebStart custom installer. I’ve just tested the application on a fresh Mac OS X installation, and everything is working like a charm, out of the box. Now, I just need to finish writing the documentation, for the application and on the website, take a decision for the pricing, and it will be over… I [...]

WebStart announced!

WebStart
Today, I decided to announce WebStart, eosgarden’s major product. No release date has been fixed, but I’m very close to the end of the development. The main purpose of WebStart is to provide you with a workable web and database server. Therefore, it includes the Apache 2 HTTP server (with the PHP scripting language), the MySQL database [...]

A look at the ARM architecture

cpu
I must say I’m a big fan of the x86 architecture, and Intel processors, especially when writing assembly code. The instruction set on that type of processors is nice, there’s not too much registers… In one word: SISC. At the opposite, I always felt completely stupid with RISC processors. From the PPC architecture, with all that [...]

WebStart

WebStart
Here’s a little preview of what’s coming next… WebStart is an webserver control application, including full-featured Apache, MySQL, OpenLDAP servers, as well as a complete development environment for OS X. The application was originally developed on Mac OS X 10.4, so I’m going to update it for 10.6, with XCode 4. It might [...]

About compiler optimizations

G4
I came into some interesting stuff some time ago, while trying to detect performance issues in some ANSI-C software. Sometimes, while coding, it may be difficult to decide whether to use a recursive function or a loop, and if so, what kind of loop. The best example, is the factorial computation. That example is typically used to teach recursive [...]

XCode Build Settings

xcode
For the curious, here are the build settings I use and recommend, when using XCode for Mac and iOS applications. Most of them activates the highest possible error reporting level. At first sight, it may seem it’s hard to code with those settings, but it really saves you a lot of time debugging your app. Most of the problems usually [...]

FileSystem for iPhone

FS
I’m about to release an iPhone app I created a (very) long time ago. It allows to browse through the whole iPhone file system, displaying files and directories, with infos and previews. I doubt such an app will be validated by the AppStore team, but who knows. I had to re-create the project with the new XCode 4, because it was created for [...]

Next freeware: Siege GUI

siege
I’m now working on eosgarden’s next freeware: a GUI over the siege webserver load testing and benchmarking tool. Informations about siege can be found here: http://www.joedog.org/ Don’t know yet when this will be released, but stay tuned… : )

Minor updates

sw-update
Some minor updates to the eosgarden’s freeware line. PropEdit has been updated to version 1.0.1: Download page ConsoleGrowl has been updated to version 1.2.2: Download page No new feature. Those new releases contains only minor bugfixes.

Release: ProcessRenicer

AppStore-ScreenShot
Version 1.0 of ProcessRenicer has been released! You can download it from the eosgarden’s website for now, but the app has been submitted to MacUpdate and to the Mac AppStore as well. Enjoy!

Laws of simplicity

Simplicity
I recently read this amazing book by John Maeda, about simplicity. I highly recommend it to anyone, developers and designers. John Maeda is at the exact frontier of both worlds, touching excellence… He present’s what simplicity really is, or sould be, with ten laws to achieve it. The ten laws are: Reduce The simplest way to achieve [...]

NSLog in ANSI-C

Console
In Objective-C, NSLog is great to debug software. Similar functions can be used in C, with Mac OS X, by using the ASL – Apple System Log – library. ASL consists of routines providing an interface to the Apple System Log facility, which is intended to be a replacement for the SysLog API. It allows client applications to create flexible, [...]

Xeos: memory allocator & LLVM

Board
Today I’ve written the first lines of code for the Xeos memory allocator. For now, I won’t implement the malloc() set of functions in the C library, because I haven’t implemented the brk and mmap system calls. Doing this would surely be fun, but right now I need to code some other kernel stuff. So I decided to write a specific [...]

VPS switch

Server
A few days ago, I received a mail from the swiss hosting company I usually work with. They told me the eosgarden’s website used too much resources on the shared server. O_o The traffic has indeed increased. About 300% more, based on Google analytics stats. A few apps on MacUpdate, a few tweets about the apps, and badaboum… The server [...]

Job opportunity at Apple

Apple
Just woke up with a great news today! I’ve been contacted by a recruiter from Apple, asking me to send my resume. Maybe California is not so far away after all! It would be a great experience, both at the technical and human level. Hope to be able to give more news on the next weeks… By the way, the temperature is 19°c in Cupertino. [...]

Looking for a job

Eraser
I’ve now officially quitted my job as a mobile & web CTO. So I’m now looking for a new job, in Mac & iOS development, C / C++ development. If you’re interested, here’s a link to my full resume. Simply send me an email to get in touch!

Process Renicer

ProcessRenicer
Here’s a little preview of eosgarden’s next freeware: ProcessRenicer. Basically, it shows up the active processes, and adds the possibility to change to process nice value. For those who don’t know what the nice value is, here’s the description from Wikipedia: The name “nice” comes from the fact that the [...]

C – Reverse string search

Letters
I just noticed that there is no strrstr() function in the standard C library. I needed that for a project, using ANSI-C. So I wrote it. Here’s the code, maybe it can be helpfull for someone else… : ) char * strrstr( char * s1, char * s2 ); char * strrstr( char * s1, char * s2 ) { char * ss1; char * sss1; char * sss2; if( *( s2 ) == [...]

Hello world: introducing eosgarden’s blog

pencil
Welcome to noxeos, the new eosgarden’s blog! I’ll write down here stuff related to the eosgarden’s activities, software development and releases, miscellaneous code related stuff, Mac & iOS development tips, etc. For the curious, the name noxeos comes from the latin word for night (nox) and the greek word for dawn (eos). I [...]
  • About this blog

    This is the official blog of eosgarden (www.eosgarden.com).

    In latin, «nox» means night, and in greek, «eos» means dawn.

    This blog is the hidden face behind eosgarden's activities.
    Enjoy...