Video tutorials suck – most of the time, or – the bow tie

For a long time the Internet was a veritable treasure trove of howtos and tutorials; this is people (mostly) selflessly sharing the stuff that’d taken them a lot to learn, in order to benefit the crowds. Philosophically, this has a lot to do with the Free Software movement. Most people wouldn’t realize it, but the “share freely” idea is what has propelled pieces of software such as Linux or Firefox to their current positions.

I digress. However, at some point, someone decided that a) the Internet was now fast enough to carry video, and b) people were too stupid to read and follow instructions. This brought about the unfortunate appearance of video tutorials. I usually rant against these, as I can still read faster than I can watch a video, where some random dude takes me step by step at their own pace (intead of at mine). Video tutorials also suck when you need some quick, compact piece of reference material to “refresh” your knowledge about a procedure, which would be better served by a 2-kb piece of text, instead of a 10-mb, 5-minute video.

Still, I must admit there are instances where a video tutorial makes the most sense; some steps in procedures are, indeed, better explained by following the actual action (and perhaps having a narrator telling you what the hell is going on).

I recently found myself needing to learn how to tie a bowtie. None of the text tutorials helped, no matter how well-written or illustrated they were. There is ONE crucial step that basically necessitates a video for you to understand it. I spent 40 minutes wrestling with the text-and-pictures instructions. The video made it clear in under a minute.

So, without further ado, if you EVER need to learn how to tie a bow tie, don’t bother with anything else: these three videos will show you how it’s done.

The first is the one that best explains the CRUCIAL step of “finding the hole”.

The second one goes into a bit more detail, I hate this guy who says “go ahead and” all the time, but his explanations are good.

The final one is hilarious from the way the woman “handles” his male-model, but it’s also instructional and explains the crucial step adequately.

Enjoy!

“To its devotees the bow tie suggests iconoclasm of an Old World sort, a fusty adherence to a contrarian point of view. The bow tie hints at intellectualism, real or feigned, and sometimes suggests technical acumen, perhaps because it is so hard to tie. Bow ties are worn by magicians, country doctors, lawyers and professors and by people hoping to look like the above. But perhaps most of all, wearing a bow tie is a way of broadcasting an aggressive lack of concern for what other people think.”
—Warren St John, The New York Times

Back to the stone age: a tale of two phones

So my iPhone fell and got damaged. To its credit I have to say I did hit it pretty hard several times in the past, and it’d survived. However this time it didn’t, and I had to get a replacement. I had to pay for it since it was out of warranty. However the truly painful thing was spending one week without the perks of the modern smartphone.

I had to dig out my trusty 5-year-old Nokia 7210 (not the SuperNova, I mean the original funky-buttoned 7210), a stylish and compact phone which, however, is pretty featureless by modern standards. You can talk on the phone, send SMS (barely; I don’t know how I sent messages without a full QWERTY keyboard) and that’s about it. It has no camera, no network access, the screen is only 128-color and uploading stuff requires a tedious conversion process, and it only supports 4-voice MIDI polyphonic tones.

This was due in no small part to the death of my Blackberry’s lame battery; the ‘berry would have been a decent temporary replacement for the iPhone,even though it’s not compatible with my data plan. So here’s a tip: when your phone is about to be left indefinitely in a drawer, remove the battery.

Being without the iPhone, what I missed the most was:

  • The QWERTY keyboard, without a doubt, is the most-missed feature. Whether virtual or real, it’s a necessity if you plan on composing a lot of text.
  • The camera, believe it or not, is really useful for a lot of purposes.
  • Synchronization with my computer’s address book. A lesser phone can do it but the Nokia lacked connectivity (only infrared).
  • The browser, being able to access the internet anywhere, anytime has become a true necessity.
  • E-mail. Yes, also not being able to receive emails periodically or, at least, on demand, is crippling and makes me feel out of touch and claustrophobic.
  • Music, I guess it’s a case of “if you have it, you will use it”. Somehow carrying the iPod around in addition to the Nokia didn’t seem like a good idea.

What I didn’t miss:

  • Ringtones. However weak the Nokia’s ringtone support is, it’s very loud and adequate, and my favorite ringtone ever (acceleration.mid) was available. I like it so much, I made an MP3 of it and loaded it on the iPhone.
  • GPS. It’s cool to have it but I really don’t use it all that often.
  • Most of my games. I don’t play on the iPhone that often. I must point out that neither the Nokia nor the iPhone had the “snakes” game from older (and newer) Nokia phones. I guess this 7210 got stuck in the past.

Also in case you hadn’t noticed, the entire point of this rant was so that I could have a new post before the 12th and thus keeping my blog updated “more than once every 6 months”.

The pitfalls of proprietary

Risk is a constant for today’s companies. Google, Microsoft, Apple, IBM (well, maybe not so much with IBM), Toyota… they all take risks developing and testing new technologies. The risk lies in the amount of money and resources they devote to creating new technology. When said technology involves keeping a team to upgrade, fix and evolve it, the risk multiplies. The risk is mitigated if the technology is successful and provides a reasonable return on investment. Indeed, the whole point of “risking” your resources is so that created technology might prove a commercial success and yield the company many times the investment.

However there are times when things don’t go quite right and a company has to “cut its losses” and scrap a project or product altogether. Google has done it, IBM has done it (PS/2), Apple has done it (the Lisa). Microsoft has done it many times, and in doing it yet again they help me make my point today.

Users of Microsoft’s 3D simulation platform have been rocked by news that the company has laid off off or reassigned most of the of the platform’s developers“,  reads an article at thestandard.com. Microsoft has a 3D simulation platform? Well yes, as part of their venerable Flight Simulator product (has the honor of being the first piece of commercial software I bought, circa 1988), it seems they had spawned off a 3D simulation product. Microsoft’s announced enhancements to the platform meant it was going to be targeted at markets such as real estate, city planning, and law enforcement. And developers for these industries were thrilled, and had already begun work on applications using Microsoft’s ESP technology.

Maybe the reason is the current economical climate; whatever, Microsoft seems to be shedding a lot of “non-essential” teams, among them the Flight Simulator team, followed closely by the ESP team. Streamlining seems like a sensible tactic for a profit-oriented business, right?

Users don’t seem to think that way.

“As a commercial developer who is currently working on two major ESP projects I can’t begin to express the concern I have hearing this news. I look forward to hearing from Microsoft as to the future plans for ESP”

“I’m gutted that this is probably no longer going to see the light of day. It looks like there were a lot of people working really hard to build a revolutionary product. It must be totally crushing for them to see all that work go to waste.”

‘my company used it for a solution and invested time and money into getting it approved and purchased. Microsoft sure handed us a raw deal for taking a gamble on their platform.’

Anyway, my point with all this is that proprietary software is a bad idea. Microsoft is the embodiment of all we loathe in a software company; however much they talk about being business partners, the current schism is a sample, a reminder that, should your business no longer be profitable to them, Microsoft won’t hesitate to hang you out to dry. The bottom line is all that matters to them. And their use and selling of proprietary technologies means that, should the worst happen, you’re left with no recourse but to throw all your investment away and start anew with some other product, hoping that that other company won’t do the same to you.

Rather than risking this, why not go free software? Things would be very different if Microsoft opened up ESP; it’s not like they’re going to profit from that anymore. That way companies with a reasonably talented developer pool might take the project forward, as has happened with many open-sourced, formerly-commercial products (Blender comes to mind). That’s a company that protects your investment. Microsoft just ripped them off, plain and simple.

For all those companies developing products using ESP, it’s likely their business is not primarily software development. Thus they chose to go with a commercial, specialized software vendor. And look what happened to them! Even if they don’t have the in-house expertise to develop something like ESP, a pooling of resources or funding a non-profit tasked with developing and freely releasing an ESP substitute would make sense. A law enforcement organization sees no competition from a real estate, architecture or urban planning company, so what’s it to them if they use the same, freely-developed product on which to base their custom offerings? (look at Unreal Engine and what ID Software does with their Quake FPS engines; also, ID software has open-sourced their old releases, which rings true with what I’m ranting about here). Again, as long as it’s not their core business, there’s no problem with them cooperating in the creation of a component for their main project.

Misery loves company and at least, through heated discussion in MSDN, those users who were wronged by Microsoft have come in contact with each other and might, if they have the vision to venture into the world of free software, have an opportunity to make sure this never happens again to them or others wanting similar technologies.

Nasty bug with binary files, Rails and erb.rb – how to fix it

OK, so I happily hack away on my  Rails application on a Debian box with Ruby 1.8.7 and Rails 2.1.0, and then deploy to a Fedora 8 server with Ruby 1.8.6 and Rails 2.2.2. All of a sudden a particular release causes Passenger to spit an error page on application startup. The key error was:

undefined method empty?' for nil:NilClass

Now I'm combing all over my code to find where I'm using "empty?" but I'm sure it's somewhere that gets run on application startup, otherwise it wouldn't show up when Passenger tries to start the application. But I find nothing and I'm about to shoot myself.

Following the trace I end up hacking Ruby's erb.rb file, as there appear to be some bugs in this; indeed, this one from 1.8.6 is different from what I have in 1.8.7, so the app runs fine here. I try to fix instances where empty? might get called on a nil object, but after fixing 3 of these the app stops responding altogether. Hmm, so something, somewhere, depends on erb.rb's buggy behavior. Best to leave it alone.

HOWEVER, on the deployment server, running with script/server works fine; it's only when using Passenger that things blow up.

Finally I find this thread that points me in the right direction:

One of the users dropped some
JPEG files into the /app/views/static directory, and that seems to be
jamming up the works with 2.2.2.

Indeed, as part of my last set of revisions, I'd left several samples of static content I was converting into dynamically generated pages; sure enough, they included JPGs and whatnot. Just to be safe, I decided to move the entire directory into public to avoid any problems.

Now the app runs just peachy and I only wasted 2 hours chasing down this bug. Thanks to the guys at Nabble!

Eventually it all boils down to this Rails bug reported at Lighthouse. So hopefully it'll be fixed soon. In the meanwhile, keep binary files out of your views subtree.

I'm attaching the entire Passenger error page, in case it's useful to anyone. Mainly so that Google can find it faster for other people with this problem.

Ruby on Rails application could not be started

These are the possible causes:

  • There may be a syntax error in the application's code. Please check for such errors and fix them.
  • A required library may not installed. Please install all libraries that this application requires.
  • The application may not be properly configured. Please check whether all configuration files are written correctly, fix any incorrect configurations, and restart this application.
  • A service that the application relies on (such as the database server or the Ferret search engine server) may not have been started. Please start that service.

Further information about the error may have been written to the application's log file. Please check it in order to analyse the problem.

Error message:
undefined method empty?’ for nil:NilClass
Exception class:
NoMethodError
Application root:
/var/www/spcccdec/releases/20090227005857
Backtrace:
# File Line Location
0 /usr/lib/ruby/1.8/erb.rb 478 in scan'
1 /usr/lib/ruby/1.8/erb.rb 524 in compile’
2 /usr/lib/ruby/1.8/erb.rb 691 in initialize'
3 /usr/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_view/template_handlers/erb.rb 51 in new’
4 /usr/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_view/template_handlers/erb.rb 51 in compile'
5 /usr/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_view/template_handler.rb 11 in call’
6 /usr/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_view/renderable.rb 21 in _unmemoized_compiled_source'
7 /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/memoizable.rb 57 in compiled_source’
8 /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/memoizable.rb 25 in __send__'
9 /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/memoizable.rb 25 in memoize_all’
10 /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/memoizable.rb 22 in each'
11 /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/memoizable.rb 22 in memoize_all’
12 /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/memoizable.rb 17 in freeze'
13 /usr/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_view/paths.rb 88 in reload!’
14 /usr/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_view/paths.rb 102 in templates_in_path'
15 /usr/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_view/paths.rb 100 in each’
16 /usr/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_view/paths.rb 100 in templates_in_path'
17 /usr/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_view/paths.rb 86 in reload!’
18 /usr/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_view/paths.rb 78 in load'
19 /usr/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_view/paths.rb 109 in load’
20 /usr/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_view/paths.rb 109 in each'
21 /usr/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_view/paths.rb 109 in load’
22 /usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/initializer.rb 357 in load_view_paths'
23 /usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/initializer.rb 182 in process’
24 /usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/initializer.rb 112 in send'
25 /usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/initializer.rb 112 in run’
26 ./config/environment.rb 13
27 /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb 31 in gem_original_require'
28 /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb 31 in require’
29 /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/railz/application_spawner.rb 254 in preload_application'
30 /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/railz/application_spawner.rb 214 in initialize_server’
31 /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/utils.rb 179 in report_app_init_status'
32 /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/railz/application_spawner.rb 203 in initialize_server’
33 /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/abstract_server.rb 166 in start_synchronously'
34 /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/abstract_server.rb 135 in start’
35 /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/abstract_server.rb 112 in fork'
36 /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/abstract_server.rb 112 in start’
37 /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/railz/application_spawner.rb 179 in start'
38 /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/spawn_manager.rb 222 in spawn_rails_application’
39 /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/spawn_manager.rb 217 in synchronize'
40 /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/spawn_manager.rb 217 in spawn_rails_application’
41 /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/spawn_manager.rb 126 in spawn_application'
42 /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/spawn_manager.rb 251 in handle_spawn_application’
43 /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/abstract_server.rb 317 in __send__'
44 /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/abstract_server.rb 317 in main_loop’
45 /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/lib/passenger/abstract_server.rb 168 in `start_synchronously’
46 /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/bin/passenger-spawn-server 46

Piracy in Mexico: Why it won’t stop

A note on Slashdot says “[Nintendo] has requested help in dealing with piracy overseas, both from the US government and from several other countries in particular. China, Korea, Brazil, Mexico, Spain, and Paraguay are listed as the greatest contributing nations to piracy of the company’s products.”

Why are Wii so Expensive?
Why are Wii so Expensive?

Nintendo needs to realize that there’s no way piracy will stop in Mexico unless they lower their prices. A Wii is almost twice as much in Mexico as it is in the USA, costing the equivalent of over 350 dollars here. Games aren’t much cheaper. And Wii Points cards are also twice as expensive here.

It’s also pretty hypocritical of Nintendo. Wiis are plentiful in Mexico, even at times when news of shortages elsewhere were common. The reason is that, since the Wii is so heavily marked up, Nintendo does profit more by selling here in Mexico than in the USA (similar to how they diverted shipments to Europe because higher prices there gave them more profits). However, while there are those mexicans (like me, sadly) who would indeed pay twice the price for the console, which is very convenient for Nintendo, the vast majority of the population can’t afford those prices. So they resort to piracy in order to get their games; buying stolen for their consoles; and (worst of all) buying an XBox instead, because the XBox is 60% the price of a Wii here in Mexico.

This will continue, however hard Nintendo tries to push mexican authorities, because they don’t care; Mexico is a land of impunity, where drug dealers get away with murdering and torturing, often in broad daylight. Obviously the authorities have their hands full and no time for a game company crying wolf because their products are getting pirated.  And anyway, it’s too easy for the “pirates” to bribe the police officers who come to seize their goods and try to arrest them; they, too, are starving and would welcome a few thousand pesos in bribes (or, why not, a shiny new stolen Wii for their kids).

Arrr!
Arrr!

So if Nintendo wants to reduce pirating of their products in Mexico (they can’t stop it altogether), they need to make sure their prices are more in line with what they charge internationally (The USA, specifically). That way more people can afford them legitimately, and there will be less incentive for piracy. However, culturally, legally and politically, the complete erradication of piracy in Mexico is an impossibility. Just ask Microsoft.

EPIC FAIL: the lack of road culture in Mexico City

(c) La Jornada, 2009
(c) La Jornada, 2009

I’ve written before about how people in Mexico have zero road culture, which leads to a complete breakdown of road infrastructure. A lot of this infrastructure’s correct operation depends on people abiding by the law. Yet most people do not. Usually the consequences are from nil (parking in a handicapped space for a moment, leaving your car double-parked, parking in front of a house’s garage) to a relatively minor fine (parking illegally and THEN getting towed because the  tow truck happened to be nearby).

However, when physical security of moving vehicles is dependent on the assumption that people will respect the law, things do indeed break down.

The metrobús is a Bus Rapid Transit system, which opened in 2005 in one important Mexico City avenue, and has enjoyed (in my opinion) great success, reducing transport times, improving traffic flow for private vehicles, and getting rid of dangerous Peseros along Insurgentes avenue. Everybody in Mexico knows Peseros are the worst offenders when it comes to traffic violations, where they blatantly run red lights, invade lanes, and generally do what they please without regard for others. So their sole disappearance was a blessing.

The price to be paid for this was that, since the metrobus runs on central lanes, left turns are forbidden along the avenue’s 26-km length. The reason is obvious: at the very least a significant disruption of traffic might occur if the bus has to stop for a car that’s trying to left-turn. At worst, the metrobus, a double-length behemoth, might hit another car with deadly consequences.

It’s been 3 years of the Metrobus operating, and this year a second line (running along eje 4 sur) was opened. This has caused an uproar because it appears this line has been misdesigned, creating several “death traps” and spots where, due to lack of space, cars and pedestrians have a tough time getting through. This has led to 18 accidents since the new line opened.

Some asshole in the government who needs urgent math lessons said that “98% of accidents involving the metrobus are due to private car driver’s imprudence”. For starters, 98% of 18  is 17.64, and assigning partial blames is absurd.

Anyway, what’s indeed clear is that most of the accidents are due to lack of culture by drivers. The all-too-common notion that “nobody wants to have an accident and if I just swerve violently in front of someone they’ll stop and swear at me but I’ll get my way” fails when the “someone” is a 15-ton monster  traveling at 60 km/h with 30-meter stopping distances.

Sometimes, then, images are worth a thousand words, so I’ll leave you with the conclusion that while it’s necessary to guarantee that people operating a car need to have a minimum of road education, it’s also not going to happen because the “it’s ok just this one time” mentality rules, and as long as we’re giving driving licenses to anyone without a driving test (right, in Mexico there are no driving tests, you just pay for your license and you get it) things like this are going to happen. I also leave you with an eye-opening video of exactly whose fault it was for the accident, a picture of which is at the top of this message.

Reasons to leave Mexico #3

So today as we take the dogs for a walk and go to Burger King to get lunch, I’m waiting with the beasts in the parking lot. Since nobody respects handicapped parking, the lot’s handler has placed two carts, one on each parking space, to reserve them for people who actually need them. However, big mistake, he left enough room for one car between the carts.

So indeed, this cretin arrives, squeezes his car between the carts and in the process uses up not just one, but TWO handicapped spaces. He leaves the car running so his daughter inside can enjoy A/C; never mind that the idiot has the sunroof open, letting hot air inside. He then goes into the store and spends I don’t know how long inside. I don’t know because I left. The best part? there were open spaces elsewhere in the parking lot.

Here in Mexico you see this sort of thing all the time. People don’t seem to respect the law or regulations or signs or anything. They just do what they want, and usually nobody even tries to stop them. In any case they usually get off with some snide remark.

So people double-parking  at school to pick up the kids, using up handicapped spaces, or even two parking spots (nice semi you got there, idiot), running traffic lights because, hey, nobody’s coming anyway so why should I wait?, or parking in front of other people’s houses “I’ll only be a minute, thanks!”, it’s bread and butter here.

A chronic lack of respect for your co-citizens might speak badly of a few rude people if that’s all there was. However the phenomenon is rampant and happens more and more every day. So I have to think that it’s an education problem; people no longer think it’s necessary to be nice to your neighbor. Indeed, the consensus is now that “it’s better to come off an abusive cretin than a yielding loser”. Sorry but I’d rather not stay here long enough to start thinking that myself.

Twitter and bad karma

Few internet companies or services or phenomena, if you will, seem to attract as many visceral reactions as Twitter. First there was the whole buzz about Twitter and Ruby on Rails,  which always excites passions. Then the “Rails doesn’t scale” debacle. Next the “built wrong” accusations. Twitter even got some sprinklings from Zed Shaw’s spectacular departure from the Ruby scene. Then Twitter screws over their users and stops SMS service basically everywhere but the USA.

Recently Twitter indirectly angered another user community when they hired Rael Dornfest, creator of personal productivity apps I Want Sandy and Stikkit. The problem is that Mr. Dornfest decided to kill both services, altough he will take the “intellectual property” behind them to Twitter. Of course he is within his right to terminate a service that was free and under no promises, but all the users who had come to rely in these apps certainly don’t agree.

Sandy’s user community seems to be, by far, the most affected: messages at Rael’s “going offline” announcement range from the indifferent few to the truly upset, inflamed and disappointed at the whole Web 2.0 thing, specially Twitter. “Karma’s a bitch”, says one comment, and it’s true that Rael’s decision to leave users hanging out to dry will bring him and a whole bag of negative karma to Twitter. As another poster said, “I’d be weary of using any Twitter product with your name on it”.

Will Sandy and Stikkit return as twitter add-ons? possibly, but the real lesson to remember here is this: Twitter itself is also free, so it might go away at any time the creators decide it’s in their best personal interest to kill it and move on. So are most Web 2.0 apps. So if you must use them and learn to depend on them, you’d better make sure you choose the ones that, at least, let you get your data out when they die.

Apple: Where the hell is the push notification service?

Prior to my current iPhone i had a Blackberry Curve. And the single most important feature it had was Blackberry Messenger. I messaged other blackberry users a lot, and since I paid a flat fee for data usage, I could basically send 1000 messages a day and not get charged extra. Even considering the extra cost for the data plan, the blackberry was cheaper than my previous Nokia phone, where I had to pay for each SMS I sent.

Then I bought an iPhone. Mind you, in Mexico we had to wait for Apple to create the iPhone 3g. Then we had to pay through the nose for the device, and then again a significant amount for the monthly data plan. All in all, phone service + data plan pretty much equals what I was paying monthly for my Blackberry. However, due to SMS usage to replace what I previously did with Blackberry Messenger, the iPhone was costing me about twice as much as the Blackberry each month. I had to cut back on my messaging;  spending that amount of money for a communications device and then having to cut back on your communications just doesn’t make sense. Why did this happen?

The iPhone has no Blackberry messenger equivalent. Sure, there’s fring and plenty of other messaging applications, but since Apple didn’t see fit to allow for 3rd-party background processes, none of these applications work unless they’re in the foreground, unlike BB messenger which would deliver messages at any time.

Can it be done? Sure it can! Apple’s applications (Mail, phone, SMS) do it all the time, beeping and popping a nice notification icon to let you know “you’ve got mail”.

“Not to worry”,  I thought. “At WWDC where the iPhone 3G was announced, Apple announced a push notification service where applications could send, through Apple’s servers, background notifications to any iPhone app, to be displayed in several different ways.” This would enable messenger functionality for almost any application and would mean you could send instant messages without incurring SMS charges. After all, I’m paying through the nose for an unlimited data plan, I should put it to use. Apple said the service would be available by September.

September came and went. October came and went, and so did November.

iPhone software updates came and went: 2.0 was the original iPhone 3G release. 2.0.1, 2.0.2, the 2.1 major release on September 12th, and 2.1.1. By now we were wondering where our push notifications were.

Apple announced the 2.2 firmware in October. Expectations grew high that it would include the vaunted push notification functionality. But on November 21, we were disappointed again: 2.2 includes mostly eyecandy improvements. Apple, come on! this is an expensive device, and you can’t keep delivering disappointments. Performance and stability improvements are welcome, but WHERE THE HELL are: 1) the PUSH NOTIFICATION SERVICE YOU PROMISED YOU’D DELIVER TWO MONTHS AGO and 2) A FREAKING CUT/PASTE FUNCTION LIKE EVERY $20 PHONE ON EARTH?

This is an official call for Apple to stop wasting time and delivering the functionality I was promised; Now don’t get me wrong, I like the iPhone, but the lack of this service is costing me money, since all those messages I have to send through SMS are not cheap. The thought of going back to the blackberry has crossed my mind; so Apple, you either deliver this sooner rather than later, or I’ll snatch a Blackberry Storm the first chance I get. Because yes, the iPhone is THAT expensive; It’d be cheaper for me to purchase a Storm at retail price, than keep subsidizing, through SMS,  the iPhone’s inability to come into the 21st century with regards to BASIC functionality. Oh, and maybe then I’d be able to keep using my wonderful Blackberry unit converter, which I’ve been unable to port to the iPhone because, hey, I can’t afford the $100 to enter the iPhone developer program, because I spend it all on SMS!

Untrustworthy cops in Mexico: what else is new?

As part of the ongoing public safety mess in Mexico, the president himself sent a document to the Senate, detailing the findings in a “trustworthiness” evaluation that was performed this year to Mexico’s security forces. The unsurprising result: 50% of all law enforcement personnel don’t fulfill the required trustworthiness requirements.

The report itself is ridiculously incongruous, with high ratings for states such as Tabasco, Mexico City (where every inhabitant knows that cops are a joke) and, bafflingly, Chihuahua, with a 97% approval rating. Mind you, world-famous capital of violence against women, Ciudad Juárez, is in Chihuahua, so this information is so obviously and flagrantly flawed, that it calls into question the entire study, as well as the prowess of the so-called statisticians who gave a 97% approval rating with only 82 cops taking the tests. Yes, we’re supposed to believe that 100% of Tabasco’s law enforcers are trustworthy and reliable.

What are the implications of this? there are many, for starters, how flawed was the hiring process that allowed this high an amount of worthless people to get to such a position of power and influence? second, as the article points out, how reliable are the people who administered the test? meaning, basically, that the percentage might even actually be higher.

But the real problem is, now that we know this, what is the government going to do? Because  the sensible thing to do would be to fire all these people. Of course, since the process was wrong from the beginning, it’s now a tangled, unsolvable mess where the obvious solution won’t work. You can’t fire half the cops in the country, which is already in the middle of a public safety crisis, and expect things to improve. You need time to fix your training and screening procedures, because they are so flawed that they are partly to blame for this mess. You need time to find and train new personnel (which the unemployment rate might make a bit easier, assuming most applicants actually make it through the screening procedure).

Assuming you did this, in the meanwhile you’d have close to 30 thousand people out of a job. Mind you, these people have a certificate for unreliableness, as well as police training. So we’re looking at two possibilities: either they start to make a living out of illegal activities (kidnappings, robberies, drug dealing, racketeering schemes) or they join private security companies. Now, these companies are a huge success because, if there’s something the average mexican wants, is security. So I foresee a situation where, desperate to have more personnel to get more customers, these companies will hire those, certified unreliable, former law enforcers. Ironically, as someone concerned about security, I might hire one of those companies who would then send a security guard with questionable integrity to watch over my property. Who’s to say he won’t tip his friends off so that they can rob or murder me?

This problem is indeed so complex that a solution eludes the mind. But indeed this is how things work in Mexico most of the time: it looks as though the government is hellbent on digging itself (and us) into the most tangled, deep hole possible, so that as there is no solution possible, none will be demanded of them. But it is time that the mexican people started demanding something from the people who amount to our (quite highly paid) employees.

Kidnappings in Mexico

Kidnapping in Mexico has been a big security problem for several years now. A crime previously unheard of, kidnappings are now common, fueled by a number of circumstances. Chief among them is the fact that authorities are completely inept and bound to be useless in cases of kidnapping. Many times former police staff have been involved in this crime. Naturally, then, when a family suffers a kidnapping, the last thing that crosses their mind is reporting this to the authorities.

Once again, Mexico exhibits its kafkian nature: if you work hard and get rich, you’re a target for kidnappers. Even if you don’t get rich, you’re still a target. And are most kidnappers poor people who do this out of necessity? no, they’re already quite wealthy but will keep doing this because it’s more profitable than having a company or investing in the stock market.

Fernando Martí, a wealthy sports store owner, had his son kidnapped and murdered earlier this year. The case received a lot of publicity mainly because he’s a well-known businessman. Not even government officials are safe from this: Nelson Vargas, who was president of the national sports commision, also had his daughter kidnapped, about a year ago. However, as is most usual, he kept quiet about this: the public only knew about this when, after Martí’s murder, Vargas made a public statement revealing his plight. Back then he pleaded for the authorities to do something. Today, however, he exploded and actually, amidst profanities, demanded, in a press conference, that the authorities find his daughter. As usual, said authorities are clueless: even Vargas has provided them with clues and insight on who might be responsible and where to begin investigating. And still nothing. Who are they protecting? Shouldn’t we all be really worried that even an important man like Vargas is ignored? or is the true reason to worry seeing that the authorities just don’t know what they are doing?

Another related article tells about a 15-year old who escaped the safehouse where he was being held for ransom and told the authorities, who then proceeded to catch the criminals. So here we have it, short of someone telling them “I was kidnapped, I escaped and they live in this house over here”, nothing will be done to help the victims.

So how did the kid escape? “the kidnappers were sloppy”, authorities explain, “and were not very experienced in this business. Just a bunch of beginners”. They say this with utmost confidence and almost arrogance.

Please! Wake up! They need to realize that this comes from the fact that Mexico has diminishing, instead of increasing, opportunities. So what are people going to do? indeed, they are being forced into kidnapping because there’s nothing else to do. And they target your average citizen, in this case the son of a moderately successful couple of street merchants. The fact that this particular band was unsuccessful shouldn’t be a cause for self-congratulating. It should be a wakeup call that while something needs to be done to curb crime in all its forms, the true heart of the problem is the lack of honest opportunities in Mexico. As long as there are none, people will resort to the next easiest way to make money. Drug dealing yesterday, kidnapping today, and I can only wonder in fear about the “self-made opportunities” for tomorrow’s Mexico.

BerryUnitConverter 1.2.1

Just released Berry Unit Converter 1.2.1, to fix a stupid bug with ounces and stones conversion. An upgrade is advisable. BerryUnitConverter is free software. Get more info and a download from here.