Revenge against the Clock
It’d be hard to actually give you a good example about this. Kind of what has always happened recently has been that, somewhere or the other, Time has kept eluding me as a function.
At first, as you know, I had these issues with comparing timestamps in this project because Objective-C’s NSDates are compared in the order of micro-seconds, not seconds. So, if you have two timestamps at 15:24:25 and 15:24:26 and asked the method [NSDate timeIntervalSinceDate:] for a value, you’d expect a return of -1, or at least -1, since the difference between them is that the first is older (smaller) than the latter by a second. Or what’s the same, NSOrderedDescending (I think I got that one right). Problem: at a micro-second level, maybe they’re only separated by -0.7 seconds, or -0.9999919 seconds, but not -1. My solution? Handle the special case where the difference between two NSDates drops below a second.
But how do you handle that special case? Oh, I see. It’s just a simple comparison! Hours need to be greater than the number of minutes, minutes need to be greater than the number of seconds. Not so fast, Coyote.
Week 8 - Timeframing (deemed) Complete
I was going to re-edit this picture, turn it absolutely-completely blue, making it more like the Batcave you can see in Tim Burton’s original Batman, which was the original inspiration for the shot. Perhaps, with my added experience, I should go back and shoot that again. Yeah.
Anyway! This is the big post! Number 150!!! Isn’t that cool? At this rate (1 per week) we won’t make it to 200 until 2014, but is that a bad thing? In these 18 months we’ve gone from technology reporting, to technology analysis, occasional film reviews, gaming, photography, and now to Android and iOS development. Easily the most successful blogging venture I’ve ever put myself into, and I’m extremely happy about that. It’s all coming down quite well, having you guys to talk to.
Shall we go back to the reason we’re all here? Definitely.
Ranting about code
I sort of have one of those days right now; last Saturday I watched Fast & Furious 6 in the cinema, having finished re-watching Fast & Furious a couple of hours earlier. Then I raced through Fast Five yesterday evening, and have kind of nowhere to sit and let my mind drive away with. I didn’t want to pick up Xcode and start writing TestCases for our project right now, and when I was kind-of-almost-going-to-do-it, I realised I hand’t written anything during the week, so that kind of cheered me up. Kind of.
This won’t constitute a full update, since little to no work was performed in our big project, but something or the other was done after all.
Week 7 - The Unexpected Passenger
(Note that the Pebble watch is not the “Unexpected Passenger” mentioned in this post’s title)
I know I’m late by a day, but I was busy until yesterday finishing the latest touches before wrapping up. It doesn’t feel like it’s my first update since I held off from programming a full 7 Days, mainly because after a day I was completely into it again, and because right now it feels as if I never stopped, and that I completely did the right thing back then.
I have to warn you, though. There won’t be many pictures to showcase this time, mainly because I didn’t feel the need to draw a lot more, and because the project as it is right now is in an inconsistent state: the Engine is kind of disabled for timeframe refurbishments, so I can’t run the new code, and even if I did there’s nothing new to show. But some interesting work was done, and I can’t wait to tell you all about it.
Week 6 - Rest and No Relaxation
(Cover art by mqken at DeviantArt)
Beginning to write this is getting harder than I thought, since to keep my 17” MBP comfortable to write (50-55 degrees Celsius) and without over-heating I’m watching last week’s episode of This Week in Tech on my iPad next to me and thus getting the closest thing of an idea to what it is to have a pair of Google Glass on and above your eyes.
So, what was it for this week? I guess I sounded pretty down seven days ago, needing a big break or something. To be honest, by Monday I was already feeling the “need” to get to work, but I told myself that was precisely the reason why I had to stop for a few days. Then a couple more days went on, and I started feeling like maybe stopping was not a good idea, that it’d get a bit hard to get back on the groove, but then I started really working towards the kind of problems I wanted to solve, and here I am with a big picture of what the Zealot Engine is missing.
So yes, no code this week. I read Ender’s Game, and I also put my eyes through multiple WWDC sessions on Grand Central Dispatch plus a few Apple Developer Guides on Objective-C, Concurrency, OOP, etc. What we’re going to do is quickly review again what was the main issue which brought me to a halt last week, and after that we’ll cover the main four features I believe are missing from our Zealot Engine concept.
Week 3.5 to 5 - Gap Technology (Part II)
This is the week where I’m going to admit to myself, and to you, that this little project has become a lot more than I thought it’d be, because it’s now a part of me. It no longer seems to be just “an exercise” or “a prototype”. It’s my work now; part of what I am. A channel through which I’m trying to give form to something entirely abstract (software) using what others judge to be “my experience”. Things got real this week, specially because I went through a hard time to get here, and it’s tough to admit, because in practice, all the hard work was done two weeks ago, before the “Android break” we came to know as my Facebook Newsfeed (yeah, I know it’s “News Feed”, but anyways) Sample code, and in reality it was too, but I crashed against a barrier that, as stupid as it sounds, didn’t even exist to begin with.
Android Detour: Facebook Newsfeed Sample
Right, so last Sunday I mentioned I’d be spending a few days doing Android code instead of following up with our project. I look forward to actually get going as soon as possible, so before that, I thought it’d be a good idea to write a bit about my first ever piece of open source code on the web.
The issue prompting me to write this code is that many companies like to see some code before they trust you enough to sign you or even for an interview: they want to know how good you are, and if you don’t have apps out there and you call yourself an “Android & iOS Developer with 3-year experience”, well, you’ve got to back it up with something. I’m not going to lie: I didn’t want to lose focus on what we were doing, but I took the chance to do something I hadn’t done since a very long time, which was working with Facebook’s API.
Week 3 - Gap Technology (Part 1)
Sunday. I’m back, and it’s honestly been a long week for me. I had a lot of fun doing this, and I seriously thought I would either not hit my goals or not dodo as much work as I wanted to. For the first time in the last 21 days, I failed my own expectations, but given how complicated everything came out to be, I’m really really glad about how things ended.
Are you ready? This might get long again. Just to be sure, I won’t be writing this in the Tumblr site itself but using iA Writer for the Mac :)
Week 2 - Laying down the keel
Let’s get right to it.
Week 2 was the week where I decided the occupation that’d keep me working on iOS for an unforeseeable number of weeks, or at least that’s the idea I was pursuing. I had a rough idea at the start of what I wanted to do, but again, I did not want to mark an “X” in the calendar saying “this has do be done by then”. No. It hasn’t proven to be a good solution for me in the past, and I won’t be able to change the outcome of things if I don’t change the process itself. Yes, there were goals for week 2, but there were very reasonable goals, and there were goals I knew I could do without rushing in. So let’s dive right in.