Core data is fast, even on iOS, where handheld devices lack in speed when compared to desktop computers. However, there will be times where you will be required to do some heavy reading, wether that will be plain files from disk or information stored in Core Data. In my case, I initially tried to load too much data from a Core Data database using GCD, resulting in deadlocks, and later, I tried that using NSOperation. To save many people from frustration, I thought I should post my experiences and some general guidelines here.
Fedora 15 was a mixed bag of impressions for me, but overrall, it was a nice update… or should I say, a nice revamp?
Fedora 15 took a giant leap backwards by depriving the entire OS of many features that its predecessors had, in favor of a more user friendly graphics environment, and a new UI and shell basis for more features to be implemented in future releases. Right until then, I was using Ubuntu for my Linux needs, because it was simple to set up, reliable, and had a very large user base, so help was easier to get.
Well, the title says it all.
A year ago, I had written an article, called “Η κρίση των ιδεών”, written in Greek. It translates to english as “The Crisis of idea(l)s”. Ι had epxressed my concerns about what the oncoming economic crisis in Greece, stating that the crisis had deeper origins than economic ones. Now, I have come to the realization that I was right all along, but I am not hapy with it.
Welcome in the new blog component, which will reside in the main site from now on. Perhaps this will save time and confusion to users that were sometime lost when navigating through the site and its different sections.
Let me tell you about something I encountered when reading about my diplomatic essay. My diplomatic essay concerns Theo Jansen’s mechanism and leg systems, and the way Theo Jansen was able to make the things he did.
Lately, I have been involved in a project called taxiplon.
taxiplon stands as a platform for taxi traffic, aimed at both taxi drivers and passengers. For taxi drivers, it provides them with an interface for acquiring all sorts of useful information about their shift, such as ship and airplane arrival times, pharmacies and hospitals open, etc.
It’s been a busy week for Oramind, mainly since iOS 5.0 broke many features of iGreekNews. So after the initial bug fix update for iGreekNews HD and iGreekNews a number of new issues came up.
The latest versions of iGreekNews (1.6.1 for the iPad and 1.9.1 for the iPhone) bring a number of enhancements to the fluidity and the stability of the application. First of all, the parser whould be faster and more reliable now. So does the downloading procedure. Which means that you will surely experience faster download times.
Most importantly, the bug with the “bad urls” was fixed completely. This is a very serious fix. I cannot stress this enough. The “bad url” sign was created because at some point under very specific situations the local cache of iGreekNews became corrupt. A cache clean would get you rid of the issue, which is what I replied to users requesting help about this, but I believe that now you can say goodbye to this problem once and for all.
iGreekNews for the iPhone also implements services. It’s a small feature, that intends to be bigger in days to come.
Last but not least… if you experience caching problems with iGreekNews, please redownload the application You won’t be charged for redownloading. Much code has changed inside the application, and sometimes, a reinstall is needed.
iGreekNews HD 1.5.4. came out yesterday, and fixes all problems that iOS 5 users had. It also fixes facebook and twitter compatibility and adds minor enhancements to the fluidity of the UI. It is highly recommended for all users to update to the latest version.
Also, iGreekNews for iPhone is in the works, and will bring major bug fixes and new features to the successful application for iOS. Will require iOS 4.1+. Stay tuned!
After updating to version 1.5.3, users if iGreekNews HD with iOS 5 installed are unable to view the front pages, and have experienced crashes, lockups, screens that wouldn’t do away when pressing the back button, and many other problems.
We are aware of all these issues, and we have already submitted a buf fix release to Apple. In a few days, version 1.5.4 will solve all incompatibilities with iOS 5.
Thank you for your understanding.
Unilib beta 0.5 is now released. This update is important, as it fixes the broken update system of the previews versions, and the bug where the application would become unresponsive with large libraries.
You will need to redownload the application from the website in order to restore the broken update system. After that you will be able to update Unilib from withing the application without closing it.
You can download the newest version of the application here.
Thank you all for your interest in this beta. The initial release had 800 downloads, before people started sending me mails about problems that arose while using it. Remember, this is still a beta, and the reason I am releasing it as a beta before uploading to the Mac App Store is because I knew that due to the complexity of UNIX calls that produce large amounts of output bytes on OS X, and due to NSFileHandle parsing and changing library headers with plain C calls (as it happens now on Unilib), I would end up having problems.
It seems there were some problems with the original release, as I hadn’t taken into account the different processor architectures for each one using OS X. For starters, allow me to say that I’m sorry for any problems that you may have encountered, but, hey… That’s why the word ‘beta’ exists, and that’s why I mentioned earlier that there will certainly be problems with this release. The new beta, fixes many problems, and will also fix the broken update system, so you will have to download it again from this server in order to properly update it using the auto-update feature in the future.
Here is some explanation about the problems that appeared in the initial release:
Unilib is now released. This is a small project I have been working in my spare time (which is very limited nowadays). It was created to facilitate operations done to and with dynamic and static libraries on iOS and OS X.
More importantly, it allows you to build FAT static libraries on OS X and iOS, saving you the trouble to put #ifdefs into your code to link against two types of library, depending on the platform you are buildinf for (arm or i386).
Yes, it’s geeky, but I have found it useful. The UI can certainly be improved, and it will be in the future, until this app is no longer in beta stage, and will be distributed into the Mac Application Store.
You can view more information by clicking on this link.
Universal Library Creator (Unilib) is an small application created in my spare time to facilitate operations done on static and dynamic libraries on iOS and OS X.
It combines some pretty neat stuff I wanted to try for so long using system services. I began writing some code for system services some time ago, and this is a project I made for myself, and thing it will help others.
It has helped me in many occasions, especially with Xcode 4. On iOS, the static libraries produced are for the actual device or the iPhone. It’s never for both. I don’t know why Apple hasn’t included this functionality in XCode 4, since it was already included in Xcode 3. All I know, is that I had found it hard to distribute my static libraries without giving the code, since the user would have to link them against the device or the simulator depending on the test environment, never both.
- Combine static FAT or plain libraries to make FAT static libraries for both OS X and iPhone
- Obtain info about a static library like the architectures in it, and the object files in it
- Exctract specific applications from a library.
- Really UGLY user interface for the time being. Will certainly be improved.
Unilib is currently in bleeding edge beta, with only those basic functions implemented. It will be updated constantly, until it reaches to a point where it will be a commercial application for the Mac Application Store. So far it is free for use.
Requires Lion and an Intel 64-bit platform.
You can download the application here. It also includes some basic auto-update mechanism. Will add more features in future releases.
I wish that a day had 25 hours. 24 hours just doesn’t seem enough.
Lately, I am striving with Cocoa’s underlying infrastructure concerning tasks in the Terminal. Seems there is a lot of potential to programs running terminal in the background. My latest application is nearly complete but… what does “complete” mean anyway? My programs will never be complete, in the sense that I will always improve things and make them better. And right now, my latest Cocoa application will need a hell lot of work to look as I want it to be.
I am also developing a small library for making system calls with minimum effort, with error reporting and over cool stuff only a nerd would understand. The point is, that this little library is the one that empowers my newest little application, soon to be released.
It’s been a while since I have updated the site, and for the most part, it’s real life’s fault. Real life problems tend to suck life from programmers
However, I should mention that I am working on a new application that will target the Mac platform, and my real time job involves a project that will soon be released for the iPhone. So, in terms of creativity, we are going very well.
I am starting to get involved with the Three20 project. This project contains valuable classes and UI elements that I need. However, this big library is notorious for its difficulty to include inside an XCode 4 project. The included install script does not work, and the manual install instructions are a miss, and I ended up with Xcode complaining that it can’t find header files, even if I had set up the header search paths correctly.
So, I decided to pre-build the static libraries and include them to my project, and I was successful… to an extent. You see, I couldn’t use the same static libraries for the Simulator and the device, because the libraries built are built each time for the device you specify, and that device only. For example, if you build the libraries for the simulator, the produced libraries will work for the simulator. For the device, you need a different library package.
That led me to the long trip of finding a way to compile a static library for iOS that works for different architectures: armv6, armv7, and i386. Read on to find out how you can manage to make a static library that will work on all platforms.