Previously I wanted to name this post ‘It’s the end of the blog as we know it‘. It is because I thought to end up personal blogging and dedicate my time to collective blog CodeCrime.com. However the decision was not made (but Code Crime will live too), and personal blogging is now the thing I want to spend my time for.
As you all can see, there were no posts at all in 2010. The same thing is in my CV - I haven’t update it for a long time. So I decided to make some nearby updates and after that start blogging here like it is a new blog.
So here is the list of things I am planning to perform in near month:
change skin of blog to one that supports flexible width (also update WordPress to 3.0);
update design and content of my main portal www.T-L-K.com;
update CV (my apologies to all headhunters who were forced to read this outdated stuff for two years);
reveal information about something we (not only me) are working on this year.
So, if in the near month you will notice that design of this blog is absent, site is down or CSS is broken, please take a deep breath and wait - I’m cleaning up :)
In this article I’ll try to cover one of the C# 4.0 innovations. One of the new features is covariance and contravariance on type parameters that is now supported by generic delegates and generic interfaces. First let’s see what does these words mean :)
Generally if we have some entity (interface or delegate) that is generic on type T – some Entity<T>, and two concrete entities Entity<A> and Entity<B> where B inherits from A, then there are no inheritance relationships between Entity<A> and Entity<B>. Covariance (and contravariance) adds such relationships:
My trial period at the new work is going to be finished, and it seems like I’ll have enough time for new articles. During period on innactivity I found that somebody really reads my stuff (not my friends only). At least Jens Krause wrote in his blog that he’d found my article about RSS parsing helpful.
Unfortunately (or fortunately) I no longer work with iPhones and Objective-C development. Currently I returned back to use .NET technologies, but now in context of web development. So my new topics will cover some of corresponding issues, and hope they’ll be interesting :)
Have just reached a list of top 25 most dangerous programming errors that was released by cyber security experts a week ago. An important one, I think :) And with this list are provided resources and solutions to be used to eliminate these errors if they’re present. Also seems like this list is to be used for code certifications and for software testing tools. But first of all it should be used by us, developers :)
Today I’ll show how to parse date from RSS feed to NSDate in iPhone application.
When processing several RSS feeds, it is usual task to arrange and sort them by date. Therefore text representation of date need to be transformed to NSDate.
My googling of solutions for this issue resulted in use of [NSCalendarDate dateWithNaturalLanguageString:string] function. As I wrote before, NSCalendarDate is not supported under iPhone OS, so this way lacks.
Another way is to parse date via NSDateFormatter, but I didn’t find any full solution. So let’s write it :)
A week ago I found some annoying thing about iPhone OS and iPhone simulator. As a result you cannot be really sure that application that works great on simulator whould even be compiled for device.
Unpretty thing that I found is that NSCalendarDate and NSURLDownload classes are not supported on iPhone OS. But they are do supported on simulator! Code is not compiled in device mode with error that class is unknown. Seems to be a simulator bug :(
Please, be careful, and do not use NSCalendarDate and NSURLDownload. Also test your application on a device regularly. If you do not have a device, just build your app (Cmd-B) in device mode, to be sure it is successfully compiled.