Decrypting OpenSSL AES files in C#
Many operating systems are equipped with OpenSSL, making it fairly easy to deal with the otherwise complicated issue of encryption. Windows doesn't come with OpenSSL, but it does come with good...
View ArticleBug in Apple's NSXML
There is a really annoying bug in Apple's NSXML implementation. I wanted to share this bug because it has recently affected me, as well as a few independent developers who are working with the XMPP...
View ArticleWhat network-attached storage means for developers
Network-attached storage (NAS) is getting more and more popular these days. Its been around for quite some time, but has never been exactly common among your average non-techie computer user. That's...
View ArticleCocoa HTTPServer Improvements
There's a lot of really cool things you can do with the open-source Cocoa HTTP Server. It's designed to be embedded in your Mac or iPhone application, and allows you to serve up static or dynamic...
View ArticleFilling the pipelines
I was recently reviewing a friend's code after he asked for some help. He was importing some stuff from an XML file into core data and wanted to know how he could speed it up. After careful review I...
View ArticleQueued Reads & Writes
Custom network programming has always been a bit tedious. I'm not referring to the simple stuff like doing a HTTP request. I'm referring to actually working with a TCP socket, and implementing some...
View ArticleMuliticast Delegates in Cocoa - Part 2
In the past I've talked about Mulitcast Delegates in Cocoa, and how/why they are used in the XMPP framework. One thing that I didn't mention, however, is that Multicast Delegate methods can also have a...
View ArticlePJSIP iPhone Audio Driver
Several months ago a company named Voalte contracted me to write an iPhone audio driver for PJSIP. (PJSIP is a VoIP framework than can be used in the iPod/iPhone.)Voalte is doing something very...
View ArticleHideous bug in NSFetchedResultsController (iPhone OS 3.1 and later)
The NSFetchedResultsController class is magical. If you're using core data, you can create one with only a few lines of code. Then setup the proper delegate methods, and you get table updates with...
View ArticleMore bugs in NSFetchedResultsController (iPhone OS 3.1 and later)
In my last post I talked about a hideous bug in NSFetchedResultsController that can cause your application to crash. After tracking down the cause of the problem, I presented a subclass named...
View ArticleMojo is now open source
As many of you know, Deusty was forced to stop selling Mojo. This was due to legal pressure from EMI, who threatened to sue us. Irregardless of our chance of winning such a legal battle, the cost of...
View ArticleAdding WebSockets to CocoaHTTPServer
WebSockets are a fantastic new technology that will greatly improve browser based communication. If you've never heard of WebSockets before you can read about them on Wikipedia or from Google. The...
View ArticleIntroducing Cocoa Lumberjack
Today we are introducing a new open source project: Cocoa Lumberjack This is a revolutionary new logging framework for iPhone and Mac. Now you might be thinking "logging is boring". But what if I told...
View ArticleWebSocket Draft 76 Algorithm Example
The latest versions of Google Chrome and Safari have switched to draft 76 of the WebSocket protocol. Since this version is so drastically different than draft 75, this means it isn't exactly backwards...
View ArticleIntroducing GCD based AsyncSocket
I've rewritten AsyncSocket from the ground up using Grand Central Dispatch. It's now thread-safe and up to 400% faster. It makes it trivial to parallelize data processing tasks, and an ideal candidate...
View ArticleIntroducing GCD based CocoaHTTPServer
Last week I released a GCD based version of AsyncSocket. (See previous post). In that post I discussed the benefits of using GCD over a runloop based architecture. GCD stands for Grand Central Dispatch...
View ArticleMulti-core iOS devices are coming. Are you ready?
I recently gave a presentation at the Tampa iOS Developers Meetup about Grand Central Dispatch (GCD). If you are wondering how your application can take advantage of multi-core CPUs, then you'll likely...
View ArticleLogging to a database
So you're writing a Mac or iOS app and you're contemplating sending your log statements to a database. There are many benefits to doing this, especially when one considers the purpose of the log...
View ArticleCocoaHTTPServer gets WebDAV support
An open source contribution to the CocoaHTTPServer project has just added WebDAV support!CocoaHTTPServer is a small embeddable http server that you can add to your Mac or iOS application. WebDAV is a...
View ArticleXMPP Framework v3 released
Version 3 of the XMPP Framework was officially released yesterday.XMPP stands for "eXtensible Messaging and Presence Protocol". It is the protocol used by Google Talk and Facebook Chat. It can also be...
View Article
More Pages to Explore .....