Sunday, October 28, 2012

Microsoft sends localized SMS, but in the wrong language!

I was fooling around with my Hotmail account since I saw I could try out the preview (I didn't notice it even though it had been there for three months), and somehow got to a point where I was prompted for a code that would be sent via SMS:

I did get the SMS — it was a bit of a pleasant surprise to get it, as I was wondering if I would get it at all. The only problem was it was in Hausa, which I'm not particularly fluent in:

Maybe Microsoft should have identified that since I use the Hotmail service in English, I'd want to read texts in English too, but I think it's an excellent idea to attempt to localize such services.

Oh, and even though I'm a Johnny-come-lately, the interface is really nice:

But I guess it's no surprise, since I already like the MetroTwit interface, and I'm a fan of the Metro interface.

When You're In Love

Nicole Cottrell of Modern Reject speaks, based on Francis Chan's Crazy Love on when you're in love

Extra Credit: Nicole's sorry. Are you?

Saturday, October 27, 2012

World domination temporarily suspended

In order to spend time with the boys. And watch Barney, thanks to the older one.

Stumped (temporarily)!

As part of my plan to take over the world get myself busy over the extended break, I decided to build a small web application using Flask on Google AppEngine.

In the beginning, it was all good. Since AppEngine comes with Jinja2 support (Python 2.5, Python 2.7), all I basically needed to do was unpack Flask and Werkzeug into my application folder. I created a basic app, set up my templates and static assets, and everything seemed great.

The problem began when I decided to use WTForms support via Flask-WTF. Apparently, some magic which I don't quite understand yet goes on in the loading of Flask extensions, or something, but I get errors trying to use Flask-WTF.

I'm not the only person to have this problem, but the fix suggested in this Stackoverflow thread didn't work for me so far. So I'm left with a couple of options:
  • Scrap using Flask-WTF and use plain old WTForms directly. Since I'm using the AppEngine modelform extension for WTForms right now, maybe that might not be a bad idea.
  • Stick with using the provided libraries for AppEngine, meaning I might end up using Django, or webapp2.
  • Abandon project altogether.
  • Use some other host, maybe Heroku.
  • Kamal Gill has a very nice Flask template for AppEngine over here. It's got support for Flask-WTF, Blinker, Bootstrap and Modernizr. Some of the package versions are a little old, but it's actively developed (changes are as recent as less than a month ago).

Doesn't matter. Everything seems clearer after you've eaten. Which I haven't.

Friday, October 26, 2012

Still off social media, and how Google+ messed things up

I've been off social media (Facebook, Twitter) since the second of October. It hasn't been particularly easy laying off the social media, but so far, so good. If you follow me on Twitter and you see tweets, they're because of an app that automatically posts tweets when I write blog posts. No, I can't remember which app, and I'd rather not log in to Twitter to find out.

I logged in to Blogger this morning to post something, and then wanted to follow a blog I liked, and realized that the author had linked their blog to their Google+ account, so they could share posts on G+. After some hesitation, I linked my blog to my G+ account, and that when all hell broke loose (no, not literally).

Without meaning to, I started managing contacts on G+, based on interaction and whatnot, and I was about to share a blog post I liked on it, and then I realized: G+ is social media. Due to its tight integration with other Google products, I didn't really think about it that way, but it is. For instance, it's trivial to go from managing contacts in GMail to managing your G+ circles. It's the same login, for crying out loud.

Even though I can't do anything about the integration anymore (one-way street), I'll be very careful about using G+ until I move back to active usage of social media. Or maybe just delete this blog :).

Get in a corner

Sammy Adebiyi (please follow him on Twitter: @SammyAdebiyi or on Facebook) has an interesting post about friendships and people being there for you. I'm tempted to disagree because looking over my life, I've more been there for people than I have seen people be there for me. Or maybe my idea of people being there for me is unrealistic. Still, it's a very interesting read. I suggest you read it.

I also recommend his post on being a loser. Just for context.

Thursday, October 25, 2012

Eye can haz local Google search!

No, it's not an <iframe>. I was simply testing if requests worked on AppEngine flawlessly. I'd heard it does now, but never tried it out before today.

This is the code that does the magic:

Wednesday, October 24, 2012

The best show I've watched in a long time…

… is Sword Art Online.

Now why are you still here reading this instead of getting to watch it?

Saturday, October 20, 2012

Don't stop cooking!

Today, my folks went out. Everyone. And left me home alone. Wandering into the kitchen in search of nourishment, I realized there was almost nothing to eat. So I decided to do the scary thing: attempt to go shopping, then cook.

Why was that scary? Simple. The last time I'd done anything close to the level of what I wanted to do was over two years ago during youth service (don't laugh). One of the consequences of not living on your own is you can become dependent on others without even realizing it. The last time I'd done anything like it at home was over three years ago, back when my dad and I were living the bachelor life :D

But I digress. Getting to the open market I chose, I'd forgotten so much. I kept wondering if I'd chosen an appropriate mix of tomatoes and peppers for the pureƩ. And as usual, I forgot to add onions :D good thing I remembered before the tomatoes and pepper got pureed. While I remembered the puree for the vegetables shouldn't be ground fine, I completely forgot it wasn't supposed to get lots of water.

Anyhow, after completing the shopping without making too much of a mess of things, I headed home, got stuck in traffic for a while (I need to wonder why my family has been living in places where there's heavy traffic close by on Saturdays in the last few years), then finally got home. Shortly after I got home, my folks came home and pretty much ruined the surprise of me cooking puttering around in the kitchen making noise and attempting not to burn the house down :(

I still got to putter around in the kitchen and prepare the fish vegetable stew soup (as my neighbour during service year told me, since it was prepared with palm oil), thanks to a sister who trusts I won't poison the household (my brother said the cooking passed the taste test :D)

Why have I told this long, uninteresting story? I had fun, even though I had to get out of my comfort zone. And maybe even did some good on the way. Was I challenged? Definitely. Did things turn out good? Let's wait and see. I'll let you know if we experience multiple toilet visits in the very near future.

If you take anything away from this, remember that what you don't practice, you get worse at and eventually forget. And what you practice, you instill deep into you. For good or ill. Enjoy!

Oh, and the requisite pictures:

You just need faith

The track below was preached by my friend, Pastor Tayo Samuel of Christ Coming Ministries at the October 2012 Night of Victory. I hope it blesses you. Sorry that the recording started late.

Friday, October 19, 2012


Anyone recognize this image?

And in somewhat unrelated news, some people are either very good marketers, or they're just proud ;)

Thursday, October 18, 2012

Odd behaviour with Google Chrome and Django admin

I was filling out some model data using the Django admin on Google Chrome, when I suddenly started getting 502 (Bad Gateway) errors when trying to save edits.

Oddly enough, it works in Opera or in Chrome (incognito mode). I've only a few extensions enabled:

So I'm really wondering why I'm having issues. If you figure anything out, please let me know.

Update: I restarted Chrome without extensions, and it worked for a while, then gave the same problem. I was using incognito mode, and then it gave the same issue:

So, it's back to Opera for now.

Update: it's started in Opera too.

Quick-n-dirty WIP

I'm trying to convince myself that I can still work with 3D (I am yet to be convinced of that). Anyway, this is just a quick and dirty job. As usual, models in Wings 3D, scene setup in Blender. What's unusual is that I'm rendering using Yafaray, since a new OS X build appeared on Graphicall today. That 'jewel' looks like glass. Ouch.

Wood texture from CG Textures, environment map from Aversis. Both textures are free.

Wednesday, October 17, 2012

Out of Naija!

Saw this on my way back from a friend's wedding in Ibadan over the weekend. You will need to see the higher-res version of this picture to understand why I'm putting this up here. Nuff said.

MTN Foundation Scholarship for 200 Level Students

MTN Foundation is offering a scholarship for 200 Level students in public universities, colleges of education or HND 1 students in polytechnics across Nigeria. Please visit this link for more details. Closing date for applications is Monday October 29, 2012.

Monday, October 15, 2012

Building Reportlab and Matplotlib on OS X

Reportlab 2.6 is out, and I recently upgraded. I've had a previous post on building Reportlab on OS X with Freetype support, but when I upgraded, the trick I mentioned didn't work. I'm not sure why it ever worked, but I think it did once. Or maybe that was with PIL.

I decided to look for another way to get the job done without editing, since that didn't work for Matplotlib.

If you have Homebrew installed, you can install Freetype using brew install freetype. Homebrew should warn you about the formula being keg-only and that Mac OS X already provides Freetype in versions before Mountain Lion. You will need to then execute brew link freetype. Any subsequent attempts to install Reportlab or Matplotlib will take advantage of the symlinked copy of Freetype and install properly (well, almost. I had to symlink libpng as well for Matplotlib to install into my virtualenv. Don't know if anyone else would have the same problem, but just in case).

Tuesday, October 09, 2012


Not much to say, just grateful that my sister got out of the hands of suspected abductors this morning.

Friday, October 05, 2012

Using keyboard shortcuts on Mobipocket Reader for BlackBerry

My BlackBerry Storm went swimming (in a bowl of cereal) on July 11 this year, and I didn't get it fixed until Tuesday. Since then, I've been yet to subscribe to any BlackBerry Internet Service. One of the downsides of that is that Kindle for BlackBerry, which I use for reading books on the Storm (one of the very few apps of the kind on that platform) needs to connect to the internet to work. No BIS, no internet.

So, being the partial bibliophile that I sometimes pretend to be, I needed to get an alternative, pending when I decide to subscribe again. Mobipocket for BlackBerry, which I've used before, is an excellent app. Unfortunately, since Amazon bought Mobipocket, the software/site hasn't been updated, and even the beta version of Mobipocket Reader for touchscreen BlackBerry devices is no longer available. I was able to get a version of Mobipocket Reader, but it's not for touchscreen devices.

The good news, though, is that the keyboard shortcuts for Mobipocket Reader still work with this version, even though you have to reduce your reading area by keeping the on-screen keyboard on. The most important shortcuts:

  • p or space advances a page.
  • o goes back a page.

A list of all keyboard shortcuts for Mobipocket Reader for BlackBerry can be found here.

Why I don’t need a woman

Since my breakup about two months ago, I've been told several times that I need a woman in my life, by various people — friends, relatives…an opinion I disagree with. For the following reasons:

  • I did a pretty sucky job of being a boyfriend last time out. I'm still in the process of determining what I need to adjust or change. Allow a brother some space, please?
  • it's past 3am and I'm just having "dinner". In comes woman, out goes freedom to do that. J didn't even like me eating late (which is a very good thing).
  • I can't eat a woman. It's a crime.
  • I occupy the same planet with something between 3 to 4 billion natural human females. Let's say just one billion of them are physically mature adults. "Supply" already far outstrips any possible "demand".
  • it could be argued that I'm carrying a torch for J. Torch-carrying is an ancient and noble tradition that allows one see when the lights are out, say in a cave or something. Never underestimate the importance of having light. If we could estimate the cost in stubbed toes, skinned knees and worse, we'd realize it's no laughing matter.
  • loneliness is no reason to be in a relationship. I've seen firsthand the damage loneliness can cause in a relationship. If I'm lonely, I'd best fix it while I'm single instead of making two people miserable.
  • I've three sisters, a stepmother, one colleague, and maybe a handful of people following me on Twitter, not to mention all the Facebook friends. Is that not enough?
  • being in a relationship merely gives more expression to what's buried inside you. It's not a magical cure-all for personal baggage. You're a lot more likely to simply discover your baggage in one.
  • let's say - for argument sake — that I indeed "get" a woman. They vary from tolerable to incredibly beautiful, but you can't wear them. They need food, water, clothing (won't be sharing mine in general, and I don't own any bras). They require time, attention, effort and money, among other things. As I have just discovered Bleach ended six months ago and I didn't know, I already have a backlog of things to do, never mind females.
  • I can't keep one in my room. No space, and I doubt any would like to hang like a wall fixture or something.
  • they have a tendency to take over your life (or at least want to). See above Bleach anecdote.
  • the point. I'm slowly picking up the bits of my life (hey! That LSB's mine!) in different life areas. So I get a woman in my life. As what? Friend? Have a few of those. Colleague? Also covered. Relative? Check, check, check. "girlfriend" should be a temporary status, a layover or pit stop kind of thing. It shouldn't remain for too long. I thought I wanted to get married to J, but right now, many fish to fry.
  • I'm already not getting any. And kinda got used to it. No, I'm not a casual sex kinda guy (lots of time in church seems to have done that). That stuff is destructive.
I really could add other stuff, but that's just what I thought of off the top of my head. Seriously, if you really know me, why aren't you warning women about me instead of saying I need a woman in my life?