oh t-mobile, you ruin me


So being a tech/android nerd, I tend to login to t-mobile’s account management website every few months and browse their new phones and plans. I’m just always curious if I’m eligible for any special deals, reduced rates, etc.

Last week while I was doing this I noticed something really odd, t-mobile doesn’t really have contractual agreements anymore. Well, they don’t have contracts for service anymore, instead what they’ve done is they’ve switched to financing phones. I was pretty intrigued by this, and just off-handedly wanted to see how the new system works, so I checked out the upgrade process online.

Now, being a google/android nerd, the only phone I was even interested in is the Google Nexus 5 (made by LG) and t-mobile was actually charging more than buying direct from google, hmm, things were looking bad already. To get a 16GB Nexus 5 from t-mobile would be $396, billed as $16.50/month for 24 months, with no interest or fees, etc. through their new financing scheme. Direct from google this is $349 + tax & shipping, for a total price around $390, not a huge price difference, but still cheaper.

But then I noticed that t-mobile said my account is eligible for something they were calling “Bridge to Upgrade.” If I kept my current rate plan, and upgraded my phone, they were going to give me a $20/month discount for the full 24 month duration.

So let me get this straight, I get a brand new phone (and it’s actually the phone I want too, no compromises, no bloatware, no crap OEM customizations, etc.) for $16.50/month, and in return, t-mobile lowers my monthly bill by $20, meaning the net result is I save $4/month over what I’m paying already?

How is that not a no-brainer.

I realize this isn’t “free” and yes, of course they’re still making money, but the end result of saving $4/month off my current rate, and getting a new phone is hilarious.

And the best part of all?

I logged in the next day and my mom’s line (we have a family/shared account) was eligible for the exact same deal.

And lastly the shameless referral plug!

If anyone was thinking of switching to t-mobile, they’re currently giving new customers trade-in credit on their old phones, paying their early termination fee for switching, and offering credit for referring new customers.

Disclaimer/just to be clear, I don’t work for T-mobile or any other wireless carrier, and at one point or another I’ve tried every major carrier in the USA (AT&T, Verizon, Sprint) and T-mobile has by-far the best customer service.

P.S. For anyone wondering, that’s the Ncase M1 in the background, and sadly I might have to sell it. There’s just no space on my desk where it can fit without causing all kinds of problems.

the joy of dying computers

Well, my trusty 4 year old macbook pro is finally dying, and being an unemployed/unemployable waste of air, my budget to build a new desktop (hackintosh of course!) to replace it (let’s face it, I can’t afford a new macbook pro or mac pro) is extremely tight.

So far I got a deal on an itx motherboard to go with the Ncase M1 I backed a couple months ago, along with a refurbished viewsonic VP2770-LED monitor on ebay, and I can scavenge my current SSD. I found a newegg coupon for 16GB RAM the other day ($139) and I just ordered a PSU for $94 (silverstone SFX 450W 80-plus gold) so now I’m just left needing a CPU to at least get the system up and running.

And on that note, FUCK microcenter.

The 4770K *SHOULD* be $279 + tax at microcenter. http://www.microcenter.com/product/413248/Core_i7_4770K_35GHz_Socket_LGA_1150_Boxed_Processor

And at every single store except the Tustin, CA location, it is. Here in California the 4770k is $359.99, or $319.99 with a bundled motherboard, which I don’t need.

So, if anyone has a spare Haswell i7 4770k they might be willing to donate (or sell at the price of an i5 ~$200-$250) I’d be forever grateful.

Sworkit mockups

So I admit it can come off wrong to criticize an application without offering an alternative, so I’ve taken some time to mockup just how good a native version of Sworkit could look and work on Android.

These are all very rough, and I’m not anywhere near finished creating mockups for every screen. Please note, the screen-captures from my phone are at 1280×720 resolution (with hardware buttons instead of soft-keys) whereas the mockups are made to target a Nexus 4 1280×768 resolution, with soft-keys.

First, a comparison of the existing application (left) and my mockups (right)

Overall, the only major changes are the move to a slide-out navigation drawer for access to settings, and a more holo-centric version of the “Cards” UI style. In addition, There’s plenty of room on-screen for quick access to your most recent workouts to repeat them without any hassle.

The workout selection list is largely unchanged too, simply conforming to the HOLO theme, and removing the “back” and “more” buttons up top in favor of using the “UP carrot” in the top action bar.

And the custom workout screen, compared to a workout “Queue” system. Of course a queue system doesn’t have to replace the custom workout option, but I think it’s a better feature to implement earlier than fully custom workouts, especially with the randomization that Sworkit can already employ.

And of course, the settings menu compared to a Navigation Drawer. You could go even further, and embed a switch/toggle for the “30 Second Break” right into the drawer for super quick access to this setting.

EDIT: 3:50pm, 8 Oct, 2013 – Updated the navigation drawer mockup to show icons in the drawer. All icons used in the mockup are stock Android, available for free from Google in vector format.

And lastly, to expand on some of the drill-down pages in the Settings menu, I would break apart the user profile and goals into separate screens, and incorporate things like TDEE calculation, more accurate calories burned estimation based on fitness profile, etc.

And an idea of what an expanded “Goals” screen might look like, with linked sliders so that adjusting minutes-per-day, minutes-per-week, or days-per-week will all update the other sliders for best-fit goals.

And of course, all of the above could easily translate to the “Holo Dark” system theme with little to no modification really.

Second class Android

It should be no surprise to anyone here that I’m a big fan of Android, though I’m by no means a “fanboy.” I’ve had a smart phone since the days of the original Handspring Treo, and since then I’ve used palm OS, windows mobile, Symbian, iOS, and Android devices. Really the only mobile platforms I missed were WebOS and meego (both died to quickly.)

The number one reason I settled on Android was the extremely tight/core integration of Google services, and the generally “Open” nature of the platform on the whole.

I like to hack and tinker with my electronic devices, and Android affords me the greatest opportunity to do so.

That said, it’s extremely disheartening to see that after 5 years of rapid development, Android is still a second class citizen when it comes to many cross-platform applications.

A recent example of this is a popular exercise app, Sworkit.

The paid/pro version of this app ($1) has an overall rating of 4.6 on the Play store. And the free version has an overall rating of 4.5, and both apps combined have an “install” base of ~105,000-510,000 users according to the ranges indicated on their product pages.

And Sworkit for Android is a borderline unusable iOS port, and an example of a terrible developer pushing crap as quickly as possible to make money, instead of focusing on quality.

Here’s a few or the biggest problems with Sworkit for Android:

  • Sworkit isn’t native, but an extremely poor performing web-wrapper, using Cordova.
  • Sworkit completely ignores every Android UI guideline. This is a huge, HUGE issue. Menu’s don’t work the way they should, There’s no action bar, nav drawer, view control, etc.
  • Sworkit completely ignored the systemwide “Holo” themes, instead using UI elements straight from the iOS app that don’t fit with Android at all.
  • Sworkit largely ignores hardware buttons which either don’t work as they should (back causes endless loops in many screens), crash the application, or don’t do anything at all (e.g. menu button)
  • Sworkit uses built-in, pre-recorded voice files instead of utilizing the Android TTS services, so the only language it supports is English.
  • Sworkit embeds assets (e.g. system fonts like Roboto) instead of calling them from the operating system framework.
  • Sworkit even ignores common APK structure, placing all drawables into the /assets folder instead of the /res folder.

This is by no means an exhaustive list of all the problems with Sworkit for Android, but it’s definitely some of the most glaring issues.

I don’t really know how else to say this, but to anyone developing for mobile platforms, your applications need to show that you actually care about them. Android users by and large want apps that look and feel like they belong on Android, not iOS or web ports. Just like iOS users want apps that look and feel like they belong on iOS.

If you’re going to develop for multiple platforms, take your time. Learn the platform. Use it’s strengths wherever possible, and only develop custom workarounds in the absolute worst/last case scenario.

The Wheel of Time

Fourteen years ago, when I was in my Junior year of High School, I started reading the “epic” fantasy series, “The Wheel of Time” by Robert Jordan.

Having been a fan of fantasy since my childhood (I first read Lord of the Rings in fifth grade!) I was rather quickly hooked, and while some books were worse, or slower paced than others, in just a few weeks, had read all 8 books that were then completed.

And then, like many people, I waited. Book 9 was released a year later, and while I can’t pinpoint why my attitude changed, I was genuinely unimpressed with the book, which seemed to be 700 pages of junk filler, and one or two decent chapters. Even the “miracle” ending wasn’t enough to make me really love the book.

Another two years later book 10 was released, and while I know I read book 10, nothing really struck me in the book, and I really only remembered the ending.

After almost a three year wait, book 11 was released, and it was the first book that I didn’t even bother to read. I don’t know why really, but I was just never interested in reading it, even after I pre-ordered the first edition.

Anyway, that brings us to the end of 2005, and Jordan at the time was in poor health, but kept promising that he would complete the series, and that the next book (book 12) would be the last. Sadly in 2007 Jordan passed away, and his wife (and editor) took it upon herself to select an author to finish the story using Jordan’s notes, incomplete chapters, etc.

And just like that, the promised final book became three, and I pretty much lost interest in the series. Until this past April when the 14th and final book was released in ebook format.

So in May, ten years after I finished book 10, I decided to start over from the beginning and read the entire series straight through.

Never would I have imagined how much of a struggle it would be to complete the series I once loved so dearly.

Immediately I realized a few things I missed the first time; Jordan had no clear direction for the story from the beginning, he spent way too much time introducing pointless characters, adding new and unnecessary plot-lines (Seanchan anyone? Fuck them btw), and didn’t seem to solidify anything or start to end plot-lines until book ~9. And most of all, he was clearly a misogynist. I just can’t see any other reason for his portraying all women, especially the “good guys” as selfish, spoiled, scheming, manipulative, arrogant, pretentious, back-stabbing, holier-than-thou bitches.

In book 2 I hated the Seanchan for collaring Egwene, and her captivity really struck me emotionally. By book 5 or 6 I wished she’d just died back then or been left in captivity and written out of the story. Every time I had to read a chapter from her point of view I would get angry at her bitchiness, lose interest and stop reading. Sometimes for weeks. She was such a terribly written, spoiled, arrogant, bitch. I know that the reader is meant to dislike certain people/factions; e.g. the Seanchan, Darkfriends, Elaida, the Red Ajah, etc., but I just can’t believe Jordan meant for us to hate Egwene. And she ultimately represented all that was terrible in the Aes Sedai (and most “good guys” in general): complete and total inability to admit that they might be wrong, and that someone might actually know better than they do.

And Aes Sedai in general, never before have I wished that a group of “good guys” be horribly murdered. With every new chapter I prayed that Rand or one of the Foresaken would balefire the White Tower into oblivion. None of the Aes Sedai deserved to live, especially not while actively working to enslave or outright kill the prophesied savior of the entire fucking universe.

They all come off like:

We’re Aes Sedai, every single one of us knows better than the Creator did when it called for the wheel to spin out three Ta’veren, including the Dragon Reborn, savior of all of existence. They can’t be allowed to actually do anything unless we say so.


How fucking arrogant is that? How are we supposed to like these people?

Fuck them all, especially Egwene.

In 14 books, and roughly 4 million words of story, there was one female character that I actually liked and didn’t want to die: the transcendent hero of legends, Birgitte.

Even worse, by the end of book 12, while Rand (the savior) is atop Dragonmount, having his epic struggle against the dark one for his soul, I wanted him to give in and balefire the world with the Choedan Kal.

I wanted the “Dark One” to win.

And this made me incredibly sad, because I can’t believe that this was the intended reaction. Why did Jordan work so hard to make us hate the people we were supposed to be rooting for? And why didn’t Sanderson, even after needlessly stretching one book into 3, try and fix it?

He didn’t fix it btw. Sanderson tried really hard to redeem Egwene in book 12, but then turned around and pissed all over that in book 13 and 14, taking her to previously impossible levels of bitchiness. I laughed with joy when she finally killed herself in book 14, but it was bittersweet, it wasn’t enough. She needed to be brought down to reality. She needed to see how fucked up her actions and attitudes toward Rand were. How dangerous her arrogance was, how she damn near doomed the world just like Elaida before her. This is actually the same complaint I have when it comes to Elaida. She should have been made to see how terribly wrong her interpretations of her foretelling were, she should have been made utterly despondent (to the point of suicide) with the realization that she damn near doomed the entire world by her arrogance. She got off easy, just like Egwene.

Anyway, Sanderson in general did really weird things. He made me like Perrin, whereas Jordan never really made me care one way or the other, and he almost (almost!) redeemed Faile, but at the same time, he wrote Mat so terribly that he almost ruined the character. I liked Mat before Sanderson took over, not so much anymore.

Worst of all though was that Sanderson took right after Jordan in making things needlessly drawn out and complex. Books 12-14 really could have been condensed into one ~1200 page book instead of three books across 2500 pages.

Then again, Jordan himself could have condensed books 5 through 11 into maybe 3-4 books. He also should have written the Seanchan out of the story after book 2. They brought nothing to the story. Fuck Tuon and fuck their entire culture of rule by fear, we already had Trollocs/Shadowspawn, Darkfriends, Foresaken, Black Ajah, Whitecloaks, Aes Sedai, Shaido, etc. why did we need the fucking Seanchan?! If he absolutely had to leave them in, why not have Rand kill Tuon at some point, thus making way for Mat to be emperor. Or bring them in at the last minute like Sanderson did with the Sharans? Neither group mattered, and a surprise appearance at the last battle to help the armies of the light would have been a lot better than 5-6 books of useless shit.

Well, I guess I’ll stop here. I don’t even know what to say anymore.

Am I glad I finally finished the series? Sure, if for no other reason than to say I did, but also to finally bring to a close something I started reading 14 years ago.

Am I glad I started over from the beginning? I don’t know. I kind of feel like I might not have grown so cynical or annoyed if I’d just picked up where I left off, even while not really remembering the first 10 books.

Would I recommend the series to anyone? No.


Get every new post delivered to your Inbox.