27 December, 2013

Chromebook HowTo: Update to the hidden Canary build

Update 7/2/2016: M53, which is currently in both the Dev and Canary channels simultaneously at the moment (53.0.2785.0 in the case of Canary, 53.0.2773.3 in the case of Dev), has introduced a much easier means to enter the Canary builds. It's now possible to just run:


from Crosh. This command, like the "shell" command, however, only works in developer mode, so the steps to switch to that and back again still apply, and will still apply even as M53 makes its way down the channels.

Update 2/17/2015: Users have been reporting error messages trying to use the command below. However, the good Craig Tumblison came to the rescue: The parameters have changed. Updating the post to reflect those changes.

People with Chromebooks have seriously wondered why a canary build of Chrome OS seems to not exist. They only see Stable, Beta, and Dev options in the "chrome://chrome" channel switcher... with nothing beyond that. They've seen posts in bug reports mentioning Canary builds, but no one has taken the time to mention how these people got the builds, as most of them are indeed Googlers. However, they do exist, and after personal snooping, I did indeed find out that they're easier to install than once thought.


If you do indeed have the guts to attempt this, be warned: the installation process, followed by the hellishly unstable user experience you'll end up with when finished, is certainly not for the faint of heart, and oh, yeah, if you want to go back, good luck. Even recovery images written with chrome://imageburner from Canary builds of Chrome OS will be canary builds, so unless you've already got a recovery USB with a stable image of Chrome OS on it, good luck trying to revert back to the stable builds (hopefully this will change when the universal Chrome OS Recovery Tool packaged app comes out). Update: Never mind, I actually tested a chrome://imageburner write from a Canary build, copied the /etc/lsb-release file to my local drive, appended a ".txt" extension, and, sure enough, it does mention "stable-channel" in it:

Thanks for the tip, Joe.

Enter Developer Mode

The way to get to the Canary channel requires access to a full Bash environment, accessible from the crosh "shell" command. The irony? That particular command will show up "unknown" when typed into crosh on a Chromebook that doesn't have developer mode enabled. For this reason, we need to enable Dev Mode to get access to the shell required. To do that, of course, requires knowledge of exactly which Chromebook you have. Refer to these examples:

If your Chromebook is anything other than these early models, then it's a much easier process, because there is no more dev switch. Instead, press Esc+Refresh+Power and, when the recovery prompt appears, press Ctrl+D and accept the prompt that appears to disable boot verification. When the Chromebook reboots, press Ctrl+D again. Please note that this will powerwash your Chromebook, so be sure all your local media files and screenshots are copied to Google Drive before you attempt this.

Run the update

Once your Chromebook has ended up in developer mode and you log in, press Ctrl+Alt+T. This will get you to a "crosh" prompt. Type "shell" as mentioned above, then run "sudo su" to get to a root shell. Once running as root, run this command:

update_engine_client --channel=canary-channel --update

The first parameter ― "-channel=canary-channel" ― sets the channel to canary via the command line. The second ― "-update" ― will run a "ForcedUpdate" app version command, which will, as you'd expect, force an update without checking. It of course will take a while, so be patient. It's also not for the faint of heart, because the progress is shown as a long decimal between 0 and 1 instead of a percentage.

Revert back to verified mode

When the update is complete, you'll notice something interesting: you're actually one version newer than Dev. And of course, you'll be in uncharted territory. When you do end up logging in (you need to press Ctrl+D every time you reboot, of course, until the end of this step) you'll want to go back to verified mode for security reasons. So, when you are prompted to reboot when the update is completed, you'll see a prompt to hit the spacebar to disable developer mode. Press it, and you'll be back in verified mode.

The result

Assuming you know what you're doing, here's what you'll end up with when updating (as of December 27, 2013), in terms of system information (this is of course on an Acer C720, one of those devices without a physical dev switch):

Note the lack of a yellow Chrome Canary logo. That's because, in Chrome OS, two versions of Chrome can't coexist like they can on other platforms. So, you get the same old multi-colored logo in Chrome OS Canary that you'll find in Chrome OS otherwise. However, notice how there's also no channel-switcher? Again, Chrome OS Canary is a whole different animal compared to other versions. Canary builds are not allowed to be easily interchangeable with other versions, and as such, you won't find a channel pull-down at all when you update. As of this writing, the current Canary build of the Chrome browser that makes up the brunt of the OS is 34.0.1756.0 — again, one major major version ahead of the Dev Channel, which is stuck on 33 — and consequently, one major major version more unstable. Expect to see more bugs, more crashes, and, oh yeah, more visits to crbug.com/new than usual. Remember that the next time you try something like this.

25 December, 2013

Battle of Chromebooks past and present: Acer C720-2802 vs. Acer AC700-1099

I cannot tell my readers just how awesome my Christmas was today. Got some pretty cool accessories -- an iPhone case with an extra battery in it to compensate for iOS 7's detriment to battery life, a new pencil sharpener (needed one desperately), a whole new wardrobe (mom works at Macy's, gets an employee discount there), and, oh, yeah, a new Chromebook, which I personally subsidized: an Acer C720-2802 (one of two models with only 2GB of RAM and identical prices, the other being the C720-2848) to replace the AC700-1099 that I also got for Christmas (and also personally subsidized) back in 2011. Yup, that's right, two years ago.

One thing that really sets the C720-2802 apart -- and I noticed this the minute I opened it up -- is its premium build quality. The device itself may be plastic underneath, and indeed if you look on the bottom of the device you will see it, but it's coated in a high-quality sintered metal finish that truly makes it look and feel like something even Mac users can awe over -- and on top of that it costs less than a Mac, less than a PC, less than an iPad, less even than a second-generation Nexus 7, and oh, yeah, the same as an iPhone 5S under contract, while being contract-free at the same time. The metal finish is, appropriately, over the keys and touchpad, and it's also got a sintered metal coating over the back of the lid, adding a truly finishing touch to the overall build quality. Its keys are comfortably spaced and easy to type on, and the screen has a matte plastic coating that makes using the Chromebook in bright light -- something I tend to do often -- a breeze. Not to mention that its touchpad and keys are both very quiet, which in worship services and in class is a good icing on the cake.

In contrast, the AC700-1099 was plastic all over. It felt embarrassing to use, especially in a room full of Mac users who happen to also be fellow worshippers of mine. It of course had keys spaced very uncomfortably close together, and its touchpad and keys were both very loud and clanky. Its glossy, yet non-IPS, display was a pain to use in bright light, and on top of that its lid was very flimsy, unlike the C720's which has a very rock-solid hinge. Oh, yeah, and it was underperforming. It had a ridiculously underpowered (by today's standards) Atom N570 (Pineview) processor, whose architecture was ultimately Penryn-based, and like my personal C720 model, only 2GB of RAM. It also was a fingerprint and stain magnet, to the utmost degree. That, of course, made it very difficult to handle, and it made me have to pull out those alcohol- and ammonia-based LCD monitor wipes much more often than I should have to normally. Well, those days are over now.

Of course, the C720 uses the awesome 1.4GHz Intel Celeron 2955U processor, which is of course Haswell. It's got an 11.6-inch Acer ComfyView display with a 1366x768 resolution -- not the greatest, but definitely not poor either, especially since MacBook Air users have the same resolution, and oh yeah, in the case of the cheapest Air model, the same 11.6-inch size. Its Intel HD graphics chip is integrated ON the CPU, in contrast to the old mentality of putting a graphics chip on the motherboard, and the result is awesome graphics performance with the graphics and CPU being of the same clock speed, sharing the same bus, and sharing the same memory. Which, of course, isn't the DDR2 memory that the AC700 had, but mobile DDR3, which makes application load performance that much snappier. Its Wi-Fi chip is supercharged with Acer's Nplify dual-band technology, which results in incredibly high Wi-Fi speeds even in places far away from the router (like my room...), and it's also got Bluetooth 4.0 LE, which does even more to optimize battery life.

Haswell (with its battery-saving 28nm die, in contrast to the Atom N570's nearly twice-as-large 45nm transistors) and Bluetooth LE, of course, combine to give the C720 an awesome 8.5 hours of battery life (in contrast to 4 hours with the AC700, if I'm lucky), even with a battery containing only 3 cells instead of the AC700's 6. That's pretty amazing, and it really says something about how much of a battery life difference CPU transistor size makes. On top of that, the C720's version of Chrome OS uses Coreboot instead of the proprietary BIOS seen in previous devices, resulting in a much more improved boot time of, you guessed it, 7 seconds according to Acer's labeling (in practice, however, especially since updating to the Dev channel and enabling 3:1 zRAM compression rate, it ended up almost instantaneous for me, but checking the "boot_times" section of chrome://system returned a rating of "/bin/cat: /tmp/boot-times-sent: No such file or directory"), a feat to be proud of, and something that can even make MacBook Air users jealous.

I hope to start off another awesome journey with this new Haswell Chromebook, and oh yeah, this is the first blog entry that's been typed on it. In addition, I also have Google Play Music Chromecasting in the background, not to mention countless extensions and packaged apps running in the background that are sure to make the C720-2802 an all-around perfect Chromebook, powerful and of amazing build quality, yet inexpensive enough for anyone to afford.

Christmas Day Google Doodle: That "Mystery City" Is Probably NYC

Okay, so it's officially 12:44 AM Christmas Day in my gorgeous home town of Mission Viejo, California, where it can be Christmas and yet still 80 degrees outside. I, of course, am in my room typing away so as not to get spoiled by going downstairs... Anyhow, exactly 45 minutes ago, I pulled up the iOS search app and noticed that the Google Doodle with "Happy Holidays" as its message had changed. The doodle yesterday -- that little one with the horse-drawn sled in it -- was replaced by one, seen below as a cropped screenshot of the iOS search app mentioned above, which depicts what people are calling a "mystery city". However, there's some obvious details in it that definitely are clues as to what this might be about.

One of the most obvious details is this is a bustling city indeed. That's a given. But if you look closely at the bottom center of the city in the doodle, one of the first things you'll notice is there's a large transit bus, traveling beside which is a police squad car, and oncoming, in the opposite direction, is a taxi. Now pause for a second. Isn't the Big Apple notorious for having two taxis for every personally-owned car on the streets? I know, because I've been there. Not since April 2001, of course... but I have. Not to mention that they also have a boatload of transit buses, hundreds of times more than the OCTA. What's to the right of the taxi, however, and this is where it really gets crazy, is a giant Christmas tree, and to the right and above that Christmas tree, is that blank red sign with white lights circling it, suggesting a theater. Let's get back to that in a moment.

See, Google tends to have a habit of using those little cartoonish pics for muckraking purposes. Just a few months ago, during the government shutdown, Google showcased a doodle about Yosemite National Park. Remember that one of the agencies affected by the shutdown, whose total closure raised a lot of eyebrows, was the National Park Service, and on top of that, the 123rd anniversary of Yosemite's opening happened to be during the shutdown. Also, remember the Google logo with the black censor bar smacked on top of it (which definitely was a doodle-like pic as well) that was used to make a point about SOPA during the days when it was circling around in Congress? About the extent that it would go to create a culture of Internet censorship in the United States? Yup, we all remember that too.

Just a few days ago, however, we heard about yet another controversy going on, this time involving Rockefeller Center (remember that light-circled theater sign and giant Christmas tree mentioned in an earlier paragraph?) and its infamous ice skating rink. A man by the name of Paul Chernosky has played the "Skating Santa" that millions have skated with on the rink for a good 15 years. This year, however, Rockefeller Center got sold to one property management company by another. The result? Patina Group, the property management company on the buying end of the deal, laid off Chernosky, sparking a boatload of controversy around those New York locals that were used to seeing him for so long, and even inspired him to start a petition on Change.org to persuade the guys at Patina Group to rethink their decision.

That's precisely what this doodle seems to indicate. Hopefully this will indeed call more people to action... and oh, yeah, hopefully it'll get Paul more petition signatures which would be amazing, or at the very least more exposure, which would in turn lead to more petition signatures. Anyhow, Merry Christmas to all my G+ and blogger fans, and I hope you all can rejoice knowing what kind of change even the billionaires at Google are willing to root for. 

09 December, 2013

Fighting Sin with Sin: Why Jesus Had to Die and Rise Again

The one thing that sets true Christianity, where people trust fully in Jesus (the true relationship with Him that Jesus wants us to have) instead of just stopping at learning about Him (religion), apart from everything else out there — and I can certainly understand this now — is this rendency to actually turn away from, instead of draw towards, our natural instinct: fighting sin with sin.

Jesus gets this very clear, straight to the point, in fact, in Matthew 12:26: "If Satan casts out Satan, his house is divided. How then will his kingdom stand?" Remember, He says this in response to a remark by the scribes and Pharisees putting down a miracle He performed, casting out demons from someone. Well, guess what? If Satan divided against Satan can't stand, then sin divided against sin can't stand either.

See, sin is sin. Whether it's lust, wrath, envy, gluttony, greed, sloth, or pride, it's all sin, and as sin, it affects not just your own life but that of everyone around you. Yet ever too often, what's our natural instinctive reaction to someone sinning against us? Lash out in return. Turn around and beat the $#!@ out of someone who tries to steal a GF/BF. Pull out a gun in response to someone showing a fist or pulling a knife. What's that doing? Exactly what I initially mentioned: fighting sin with sin.

See, when this happens, it creates a vicious cycle. It starts with some sin, some curse word, some unclean act, that someone takes offense to, and leads to fighting, and fighting back, and fighting back, ad infinitum, creating an endless cycle of sin that could only be stopped by the entry of Jesus, and most importantly of the Holy Spirit, into this world.

What's good now, when we can finally see this, is that there is hope. Jesus first and foremost died and rose again to give us hope, to let us know that there is a light at the end of the tunnel, but also to show us how to act if sinned against: don't sin in return. Guess what that does? It breaks the sinful cycle.

See, even Pontius Pilate, historically seen as one of the most sadistic Roman governors of Judea to ever be appointed, enough to even make those Romans higher than him take notice and remove him from office for brutality a couple of years after the 42-day span of Jesus' death, resurrection, and ascension, did not find anything wrong with Jesus whatsoever. Not one thing. Everyone, Jews and Romans alike, we're expecting Jesus to lash out in return. But He didn't. He kept quiet

If He did lash out, He would actually have fallen into the temptations of this world that He really stood far away from. But no! He knew that by dying and rising again, the world would finally see all along that the sinful cycle that plagues this world by turning people against each other would be broken. Which it can be, if we just follow in His lead.

25 November, 2013

"[CafeScribe], F*** You! [*flips off the camera*]"... for not supporting offline use on Chrome OS

Being a student with a Chromebook should be a very straightforward process. At least in theory. Google Docs/Drive is definitely all that's needed for an English class, even for full-fledged MLA-formatted essay papers. For a math class, computers aren't even allowed at all. Science? History? Answering questions in those subjects shouldn't be that hard either, because again, there's the power of Google's web-based -- and free -- productivity suite, baked right into Google Drive itself. And, most importantly, software development, especially web development, classes, thanks to the plethora of online (and even offline) code editing tools for Chrome and Chrome OS users abroad, should also be a straightforward process. And it is, at least if your e-reader that's needed to access textbooks isn't down for maintenance.

However, there's a clear impediment if you need to access digital e-textbooks offline: Adobe AIR. I got an email from the CafeScribe team telling me that the textbook I need for my JavaScript class would be inaccessible on November 29-30 if not downloaded for offline use due to scheduled server maintenance during those days. Well, the site is Flash-based, so I knew something was fishy when it comes to offline use, that I might need some additional plugin or something. Well, yes, I tried, and Adobe AIR was the first thing that it attempted -- and failed, since Chrome OS doesn't have libhal installed, and the root partition is read-only which requires apps to be installed on a separate stateful partition -- to install on my Chromebook (a two-year-old Acer AC700-1099, of course with an up-to-date Chrome OS, at that).

It's a nightmare, alright. I'm glad my professor is able to provide alternative reading material from online sources other than the textbook as the material for the assignments in question, because that does indeed relieve my burden considerably. On top of the offline problems, scrolling is also severely underperformed -- the CafeScribe reader has its own built-in scroll bars instead of embracing the system ones, and I need to often times move two fingers on the touchpad 100 times just to scroll an inch, not to mention that in full-page mode, the text is so small and pixelated that I need to put my face within inches of the screen to be able to read anything at all.

I'm actually glad they're going to be down for maintenance. Why? Because that may (hopefully) mean that they'll FINALLY be embracing HTML5 for a change when it goes back online December 1. I for one certainly am not giving up on my beloved Chromebook -- after all, everything that's needed to do schoolwork and code is readily available for me to use -- it's just these random, stuck-in-the-past offenders who depend on proprietary browser plugins to get work done that get me every time. In the meantime, I'm done here. I'll be reading all the alternative reading material I can get my hands on (including some other books on HTML5 and JavaScript that I own and actually have laying around my room, not to mention iBooks on these that I also have on my iPhone 4S, which of course CafeScribe doesn't have an offline mode in its app for) until CafeScribe can get its act together.

12 November, 2013

Patenting inventions vs. patenting code: Where to draw the line

November 12, 2013 — Just when one thought the software patent wars were over, a few weeks ago the unthinkable happened. Google was outbid a couple of years ago by a consortium of companies calling themselves Rockstar for some patents that Nortel — a known patent troll — had possessed — and then sued. They were patents that certainly predated Google's existence... well, when it comes to the filing date (rather than publication) anyway. However, the irony is they have no real invention to back them.

People who create these kinds of litigation companies do it for one purpose and one purpose only: to see how far they can push the broken patent system for the sake of pure greed. Sorry guys, but greed is greed. There's a clear fine line that people have crossed, over innovation-stifling software patents that shouldn't be given the grant to begin with.

To be very fair to the pharmaceutical companies: What I'm lambasting certainly isn't patents in general. That's been settled by the fact that industries like the pharmaceutical industry actually benefit from patents, because the patents have visible, tangible inventions (chemicals with medical benefits) to support them. Yes, patenting chemicals is fine. Patenting code, however, isn't.

Remember how Richard Stallman appeared in the "Patent Absurdity" video? How he stated perfect facts about how the use of patents in music, the ability to patent certain note sequences, would be completely detrimental to it? Well, even in the multi-billion-dollar modern record industry, that claim has merit.

The record companies are highly competitive, with countless labels all serving their niches, not to mention ordinary celebrities, like Madonna and certain hip-hop artists, founding their own record labels at will. They're also making very large multi-million- to billion-dollar profits on the music they produce. The irony? Music still isn't patentable! It may be copyrightable, but not patentable. And this is probably the best example I can throw out there of why copyright is good enough for software.

When you cross that line from copyrighting things that should be copyrighted to patenting AND copyrighting the same item, you've gone from a legitimate inventor to a Scrooge. Not the least bit cool, and unless action, like what some people in Congress are considering with the proposed Innovation Act, is taken quickly, the tendency for corporations to want to use patents to create artificial software monopolies could go so unchecked that the consequences for the entire software industry could be dire.

06 November, 2013

FOSS security: Why the FUD-spreaders are wrong

Ever wonder why the Google Play store has had the malware it's had in the past? Of course, Google has gone to great lengths to make sure this doesn't happen again. They've removed malware from the Play Store AND remotely deleted it from users' devices. They've introduced Bouncer — not that it's done a great job in the past — and went on to update it's definitions continuously. Well, people seem to think that because Android is insecure, all FOSS must be insecure, right? Wrong.

Android has a serious problem that makes it's software inherently insecure: the Apache License. Unlike the GPL, the Apache License is permissive. This means that Android can be Tivoized, which is why carriers lock bootloaders on Android devices. It also means that Android can be forked without the need to open up the source code of the forks, which is why manufacturers like Samsung, HTC, and others can get away with keeping TouchWiz, Sense, and other custom UIs proprietary. This of course also provides a boon for malware distributors: now, they have an app that they can add malicious code — for example, a backdoor, a keylogger, or spy code — to, and they can get away with keeping that added code proprietary so that no one knows it's malware until it's installed.

In contrast, most mainstream Linux userlands — KDE, GNOME, XFCE, Unity, LXDE, and the like — have a security stronghold: the GPL. Unlike the Apache and BSD licenses, the GPL is a copyleft license. This means that the license uses the power that is copyright law to *require* developers who make changes to the code to open those changes up, and irreversibly agree that the changes stay in the public domain. Meaning, of course, that hackers and malware distributors end up in a sort of Catch-22: Either comply with the GPL and get busted by the government, or violate the GPL and get busted by the FSF.

Also, there's another provision of the GPL that is easily capable of preventing locked bootloaders. It states that if GPL software is installed on a certain machine, that machine cannot implement hardware restrictions that hamper the freedom of users to modify said software without violating the GPL. Locked bootloaders, such as those that carriers install on Android powered smartphones, no doubt fall into that category.

So, the next time Microsoft or Apple tries to spread FUD about the open source model, refer to this blog post. There's no denying that the propaganda these corporations spread is almost in line with the propaganda spread by the Chinese and North Korean governments, and if users have any reason to believe what these people are saying, they've got their facts skewed to the brink of dystopianism.

04 November, 2013

Move over, Mavericks: Android 4.4 brings compressed memory to smartphones

We all knew this was coming. Google has supercharged Android with KitKat to make it use resources much better, even on extremely low-end devices with only 512MB of RAM on board. To that end, Google introduced several performance tweaks: less heap used by core processes, aggressive protection of system memory by the kernel and low-level processes, serial (instead of parallel) service startup, the ActivityManager.isLowRamDevice() API,  and, oh, yeah, zRAM, which uses the power of the Linux kernel to make compressed memory on not just desktop computing devices but smartphones a reality.

Compressed memory gained significant notoriety at WWDC 2013, when Apple unveiled iOS 7 and OS X Mavericks. Craig Federighi made a really big deal about memory compression being used in Mavericks, and yeah, Mac users would be able to notice that it makes a big difference when running Mavericks on old Macs. Notably lacking in terms of the performance tweaks, however, was iOS 7. Running iOS 7 on an iPhone 4S (in my case) may at least make it look nice, and of course the removal of skeuomorphism removed much of the software bloat, but the parallax effect tends to stutter and other features made the device lose out on the performance side, particularly because iOS 7 focused so much energy into user interface design that performance tweaks were often overlooked by Apple engineers. Well, even though iPhone users lose out on these performance tweaks, Android users don't.

What's more, in KitKat there's not only compressed memory but also, and if you can believe this, compressed swap space on the storage medium as well. Since smartphones use solid-state storage, and of course fast solid-state storage comparable to the speed of the RAM itself, even virtual memory partitions can become more RAM-like in terms of speed than ever before. Just like the physical RAM, however, the virtual RAM is also capable of being compressed. On my 2-year-old Acer AC700-1099 Chromebook, which of course also uses zRAM along with compressed swap space, it really shows, and most Linux distributions outside of Google are also taking advantage of this awesome power.

Google even has a code name for this aggressive performance tweaking campaign: Project Svelte. As the successor to the notorious Project Butter that has been ongoing since the first release of Jelly Bean (Android 4.1), it is only the start of Google's aggressive campaign to end fragmentation and make Android capable of running easily on low- to mid-range devices as the newest version regardless of what kind of forked home screens or carrier crapware may be installed. This is pretty incredible, and if Apple has anything to learn from this, it's the fact that smartphones are every bit as powerful of computers as desktops and laptops are, and therefore they deserve the same treatment in terms of features, and of making the most out of the hardware, that desktops and laptops do.

29 October, 2013

First a Javascript reference to an Android 4.4 countdown, and now a CSS reference...

Snooping a little bit further through the android.com/kitkat source code, I found even more data in reference to the countdown that could be coming to the site. This, of course, being a CSS reference:

Now, of course, there's still no date as to when that countdown may be shown off, but...

This is exactly what the text of the Android 4.4 countdown will be styled like.

Now, to be clear, we should see an announcement any hour now... but there's something very interesting about the countdown reference in the code: it's a class, not an ID, that the code is referring to. It's likely, then, that there's probably going to be more than one hidden element with that name. The question, then, is when will it actually appear? Only time will tell...

19 October, 2013

Android isn't the only OS with notification adware...

It scared me for a minute when there was press going around regarding Android apps sending push notifications which double as ads. Of course, Google happens to have updated the Play Store terms to combat this issue... and indeed, it actually is working. Then again, Android isn't the only OS with the problem:

That's right. This was taken on an iPhone 4S running iOS 7 here, and as you can see, there are horrible reviews of an app describing similar issues. Ads that double as notifications, ringing the phone's bell. Only this time, they're visible not only in the notification center but also (!) on the lock screen, such that merely unlocking the device is the same as clicking on an ad.

I'm sorry, but this is extremely bad app development practice. One reason why users submit so many one-star reviews to some developers is because of nasty tactics like this that essentially force the user to want to click on ads. It's basically adware as an app, and it makes users feel completely intruded upon.

Now, sure, there's the moneymaking argument. Uh, that's what in-app purchases and non-intrusive ad banners within the app itself are for. Alerts? Yeah, I've seen alert ads too, and we all know how intrusive they also can be. Well, at least alert ads also only open while the app is open. Not so for push ads, which makes them purely a greedy, controlling, abusive means to stifle users and have that reputation backfire.

12 October, 2013

Android 4.4: The War on Fragmentation Continues

UPDATE: Android Police also revealed some data about the Dialer, Camera, and Gallery apps that show the same package ID pattern, indicating that they could also be migrated over to the Play Store as well, further nullifying the efforts of carriers and OEMs to block Android updates. Original post (and link to Android Police article in question) below.

Remember when Google's Play Services were launched? Anything with Android 2.2 and up, thanks to Play Services, can now enjoy functionality that in previous cases required new versions of Android to use. Well, some Android 4.4 leaks that we've noticed seem to hint at Google taking it's Play Services to a new level: right down to the home screen.

What do I mean? Well, we've seen that Google happens to have a new launcher coming out on Android 4.4 (codenamed "KitKat" as part of a co-branding with Nestle) that happens to have a completely different naming scheme than any launcher in the past. "com.android.launcher" and "com.android.launcher2" were of course strictly internal package IDs, with "system/app/Launcher.apk" and "system/app/Launcher2.apk" as their paths, right?

Well, there's no com.android.Launcher3 anywhere to be found. Instead, we see a file path of "/system/app/GoogleHome.apk" (reminds me of BlurHome.apk (!) on my old Flipside), a package ID of "com.google.android.gel," and a user-readable name of "Google Experience". Well, let's see what kind of Java package hierarchy many, if not most, of Google's Play Store apps have in them, shall we?

https://play.google.com/store/apps/details?id=com.google.android.googlequicksearchbox (Google Search)

Given Google's claim of "making an awesome Android experience available to everyone" in Android 4.4's promo page, it only seems natural, then, that what Google may be throwing at carriers and manufacturers is the unthinkable: the official home screen, of stock Android 4.4, being tied to Google Play Services and slapped right onto the Google Play Store. This, of course, would basically render any attempt to block Android updates on old devices practically useless, since people could get the KitKat home screen in all it's glory on a Froyo system and have the functionality of the very Android versions that carriers and manufacturers are trying to prevent without even having to update their devices in the first place.

To me, this seems like a good move by Google, showing carriers and manufacturers who's boss...

10 October, 2013

Privacy vs. Functionality: The battle continues

Targeted ads. Location tracking. History logging. What do people think of when they hear these terms? Typically, it's not a pleasant response, is it? People see this kind of functionality as a means for corporations to spy on them and send their personal data to the government. Yet it's this kind of lack of privacy that actually makes features like Google Now and iOS 7's parallax effect, in all their glory, even possible. Say what?

Yes, that's correct. One thing we all need to realize is that by collecting data, software can do things that it would normally take physical hardware to do. Location data makes Google Now's travel time alerts and public transit cards possible. Search history makes Google Now's personalized sports data and frequent location searches also possible. Even more alarming, accelerometer, gyroscope, and front camera (!) data are what make iOS 7's parallax effect possible. Targeted ads, of course, are no different.

Imagine you are, say, on a Chromebook. In Chrome OS's seamlessly secure ecosystem, you are just peacefully browsing the Web, checking Google+, Facebook, Twitter, Instagram, etc., when all of a sudden, you get a nagging pop-up window, telling you to install Windows. Or IE, in all it's ugliness. And every time you try to close it out, you end up getting repeatedly nagged, by Microsoft, by Apple, by Nokia, and by every possible software vendor other than the one(s) you actually want to see ads from. What you have just imagined is a world without targeted ads.

So think about what privacy means. Unfortunately, there's a trade-off here, because functionality and privacy inversely go hand-in-hand, and unless users want to get nagged by irrelevant ads and have stifling user experiences on their devices, they will have to give up some, but not all, of their private lives.

01 October, 2013

Thought World War III was bad? How does a Civil War II sound?!

I don't know if anyone else realized this, but right now, it's actually been 150 years and 3 months since the American Civil War's turning point. Stuff like 9/11 and the resulting retaliatory wars have started occurring since then, and, well, we're just getting started.

The Democrats are quickly becoming Marxists, and the Republicans are quickly becoming kleptocrats. Back in the 1960's, the United States and Soviet Union feared that a possible nuclear World War III could take place. Well how does a Civil War II sound? There's already Cold War-like tensions leading up to one, and it can cause absolute terror if we don't act fast.

Well, I may be exaggerating slightly, but if history alone has anything to tell us about this increasing polarization among the political parties of this nation, it's that there was similar polarization back in the 1860's, right when Lincoln became President and our nation entered a brutal and bloody civil war that would last for years. We all know how that turned out.

One reason why I voted for Gary Johnson instead of Obama or Romney in the 2012 election is because of just that: unlike Obama, being an ultra-liberal sexual sin-promoter, and Romney, being an ultra-conservative financial sin-promoter, Johnson actually did have bits of both. That, of course, would actually have made Johnson a good leader for taking this nation into the 21st century and freeing it from the grip of the bipartisan extremism that's pulling this nation apart.

But alas, Obama ended up re-elected, and in January of this year, predominantly conservative states threatened to do the unthinkable: secede once again. Say what? I knew this was coming. I knew the minute I logged into Google+ and spotted that "#Secession" hashtag in the trending box that what this nation was about to turn itself into was indeed happening. Then again, Obama responded with an executive order banning any state having seceded from having state status for all eternity, which of course calmed them down quite a bit. But it wasn't over yet.

The debate still continues. The Tea Party and the billionaire wealth-addicts that make it up are adding to the polarized influence of the Republicans, while groups like the CPUSA (!), organized labor, and abortion/LGBT rights activists are adding to the polarized influence of the Democrats, all resulting in tension that could lead to chaos if it snaps. It all of course had yet another crippling outcome.

Today, October 1, 2013, the government has undergone a mass furlough for the first time since 1995-96 in an attempt to make a point about budget, with agencies like the national park service, NASA, and others just as vital to our culture and society being completely shut down to protest a clear result of this increasing partisan extremism in our society: the inability to agree on a budget plan.

Well, this is it, my friends. If we don't act fast, this cold civil war could quickly turn hot. That's why there needs to definitely be some sort of evangelistic in-between party that spreads love instead of hate. If we don't act fast, instead of being in a future with silicon or graphene powering everything we own, we'd be in one where lead and gunpowder are packed into all our vehicles and bullets would be flying at us from all directions while we try to accomplish simple mundane tasks.

25 September, 2013

iOS 7 naysayers: "It looks too much like a Window$ phone"...

The day after iOS 7 was released, I was at a worship and Bible study session with a friend and fellow worshipper that needed help getting used to the new OS. I helped her with some stuff that took a little getting used to, such as the new multitasking interface (which I admit does stifle some long-term iOS users that are used to pressing and holding to close apps, as now you can just swipe up a thumbnail and the app is gone) and the Control Center, among other changes. But then, I asked what about the new OS she didn't like.

"It looks too much like a Windows phone," she said.

"Really? Because to me, it looks more like Android 4.x than it EVER would Windows," I replied.

She replied, "That's what I meant"...

Notice this fallacy here?! Android is NOT Windows!

I'll say this plain and clear: A Linux phone (Android) and Darwin phone (iOS) have fundamentally similar underlying OS structures. It's Windows that actually still has that DOS-like underlying structure. If you were to gain root access on an Android-powered phone and an iPhone side-by-side, you would find the same Bash shell on both of them. Yet on a Windows 8 phone, you would indeed find a DOS-like console looming in there.

It was saddening, therefore, to see everyone in my classroom the following Monday come to the same fallacious conclusion. People are comparing operating systems blindly, or at best, basing their conclusions purely on visual appearance, and that's why they seem to think that because Android is installed on countless devices and has flat design that resembles that of Windows Phone 8, it must be Windows. Sorry to say, it isn't. Microsoft develops Windows (Phone and desktop versions). Apple develops iOS and Mac OS X. And most importantly, Google, that's right, Google, the search giant, the very company whose mapping service Apple dropped for an inferior product in the iOS 6 version of the default Maps app, develops Android and Chrome OS. So don't mix and match. I've had this discussion over and over, and yet nobody listens.

Now that iOS 7 has imitated much of Android's look, that very act of not listening is what is causing all the problems that iOS users are having to begin with. They were just so used to the skeuomorphism that the new iOS is a shock to them. I'm sorry, but skeuomorphism is negative design in every which way. It gets in the way of your content, it stands out, and it's counterproductive. So the iOS community was in the minority when they still liked skeuomorphism, and this is why iOS 7, to me at least, is such a welcome change. Because now, we're all even, and the mobile OS wars are now far more competitive than their desktop counterpart.

21 September, 2013

iOS 7 review: Goodbye skeuomorphic design, hello skeuomorphic animations

After updating my (as of December 2012) iPhone 4S (thanks to AT&T's lack of Nexus carriage) to iOS 7 on Wednesday, I couldn't find it more useful. The update brings some awesome changes to iOS that should have been there from the get-go, and despite what people say about the flat icons, it's the new features and, most importantly, new animations that make the OS worth updating to.

When you check for the update, you'll find that the over-the-air download weighs in at a whopping 728MB (on the iPhone 4S; some others on Instagram that I've noticed have reported 1.1GB, but that's probably for users with iPhone 5's or [more likely] 5th-gen iPod Touches), so prepare to wait a while for the download. Even over dual-band 802.11n Wi-Fi courtesy of an AirPort Extreme connected to AT&T's U-verse fiber-optic broadband, the update still took a good 40 minutes to download -- and thanks to an error in the processing stage, I had to download it twice. When it was done, however, it was an awesome -- if not long overdue -- update.

One of the first things you'll notice when the device is booted -- and I found this out myself -- is that, obviously thanks to Jony Ive's leaadership, there's no more skeuomorphism -- at least in the design sense. Animations, however, are a whole other topic. And in iOS 7, we see animations that really seem to counteract the flat design, not to mention blurred transparent UI elements that help highlight those animations and essentially make the wallpaper the new UI theme. One animation in particular, because there isn't any true 3D parallax barrier on the device screen itself, is clearly a skeuomorph: the accelerometer-driven parallax effect in the lock and home screens. Since no still image can accurately describe this effect, I decided to take to GifBoom to demonstrate (browser needs HTML5 support to view):

This is of course viewing the effect from the task switcher, which is one of two long-overdue changes. With apps open, it looks even better, even if it's also a webOS ripoff:

What makes this interface even more amazing is how it's more consistent with the Mac than any multitasking on iOS in the past: Remember, iOS 7 apps, thanks to the fact that the status bar is part of the app, are technically all full-screen apps. What happens when you take a Mission Control app on the Mac full screen? It becomes its own workspace. In that sense, if you count iOS 7 apps and "spaces" as one and the same, not to mention the home screen (similar to the desktop shortcut in Mission Control on the Mac) as its own space, guess what? You find that the new task switcher IS an iOS version of Mission Control in every which way. And if Apple adds an iOS version of Dashboard in iOS 8 to provide at-a-glance information to take on Android, well, I think we all know just where it might go:

That's pretty awesome if you ask me. However, it's not the only welcome change that iOS 7 has in store. Another long-overdue feature that should have been there from square 1: Control Center.

Of course, we all know what makes Control Center useful: It was previously impossible to do things like enable Airplane Mode and disable Wi-Fi without first going into the rather convoluted Settings app, and in some cases dive deep into multiple sub-menus. iOS 7 fixes that. Of course, this feature has definitely been in proprietary Android forks like TouchWiz since the pre-ICS days (and in stock Android, via swiping to the right in the notification shade, since 4.2, which came out in October 2012), but now iOS users can also experience it, which is great, because now the smartphone market is actually the competitive one that it should have been from the get-go.

As for the negative, one has to look no further than the minority of apps that haven't been updated to obtain the flatter look, including the app I'm typing in right now, Blogger:

And Instagram:

Notice how, in these apps that haven't yet been updated, the old iOS 6 keyboard still shows it's ugly head? For comparison, here's how the iOS 7 keyboard is supposed to look, shown here in the Messages app:

Exactly. This inconsistency simply isn't supposed to happen, period. Third-party developers had a good three months to get their apps working on iOS 7 from the get-go since unlike us end users, they actually had access to beta releases; yet as this insanity explains, they simply were too lazy to take advantage of that time. At least, some of them. Others, like Twitter and Facebook, actually look great on the new OS:

Of course, developer readiness is key to preventing this inconsistency here. In many ways, however, this inconsistency certainly isn't Apple's fault. It's that of the third-party developers that didn't heed Apple's warnings and take advantage of the extra time that the beta releases offered to them. So, really, from a first-party Apple standpoint, the update is definitely an amazing change. It's definitely an improvement over the previous OS iteration by far, and the redesigned, open-feeling user interface along with its awesome changes allow Apple users to finally join in on the awesome design that the competition has been taking advantage of for years on end.

17 September, 2013

Why iOS betas are developer-only

Less than 24 hours before the day (but not hour or minute) of the officially announced iOS 7 release. As an iPhone 4S user, of course, I'm actually glad the wait is almost over, knowing that at the very least, the redesigned user interface is much-needed due to the hellishly outdated look that is skeuomorphism. However, there are Apple zealots out there that are far more impatient. As far back as WWDC, people screamed their heads off. "Why do developers get it and not us?" was the most common question. And it's a question that has an obvious answer: Because back then, it was a beta release, and beta releases tend to be beta-quality.

What does this mean? Well, there's a redesigned user interface, isn't there? There's over 200 new features as well, right? During the rapid internal development prior to beta release, those features introduce bugs. In some cases, a single new feature may introduce multiple bugs in one fell swoop. Everything from graphics glitches (reports of iPad "pinch-to-exit" causing stutter-frames) all the way to bugs that, when exploited, crash the entire OS, all bugs that new features and APIs tend to introduce. So, out of all those issues, what's the most common one? Most often, the issues are at the application level.

Segmentation fault. Null pointer dereference. Don't these terms raise a bright red flag in your head? They don't to the average user, but to me, you bet they're probably the most common reasons why third-party apps don't work at all on a beta OS, but rather crash on startup or even, in more extreme cases, crash the entire OS. It's because, in addition to new features and new APIs, a new OS also sees the deprecation, and therefore removal, of APIs being replaced by new ones. So, when an app tries to create a new instance (using the "new" keyword) of an object or class that's been obsoleted and doesn't exist, the app has just dereferenced a pointer to a null object, resulting in, what do you know? SIGSEGV being sent to the app, which forces the app to exit abnormally -- a crash.

This pain is just one example of a bug that app developers have to endure when developing apps. There are others, too. For example, some developers will try to create fonts in apps the easy way out by extending system fonts for use as, say, button text or core navigation indicators. So what happens when those system fonts are obsoleted? In the case of iOS 7, the old iOS 6 font, as thick and bold as it was, became completely obsoleted and swapped out for Helvetica Neue Light. Apps that weren't updated to take advantage of said font to make sure the app still works found their entire apps lacking any text at all, no button labels, no descriptions, no core navigation indicators, no nothing, just blank boxes across the board no matter what part of the app they were in -- a serious usability pickle indeed.

Of course, many of these issues would be fixed by now, seeing as though we're only one day away from public release. However, the next time you get all envious, greedy, and otherwise have that "I want it now!" mentality, think about what that means. You may be saying "I want the features now!" or "I want the new look now!", but at the same time, you're also saying "I want the bugs now!" and "I want the crashes now!" and "I want the incompatible apps now!" when you're talking about an unfinished product. A beta, despite how much like the final product it may look, IS an unfinished product, because under the hood, bugs, many of them showstoppers, will do some serious harm to the overall experience.

13 September, 2013

Want your Start menu back? Get a Chromebook

Remember when Microsoft released Windows 8? How the Start button was removed? How they slapped a tablet OS on desktop users? Well, actually, I have never used Windows 8 myself due to switching to Linux (in one form or another) as my main OS back in the Vista years, but that's just me... Anyhow, being a touch-oriented OS, Windows 8 is nearly impossible to use with a mouse and keyboard, isn't it? Sure, Windows 8.1 eventually will bring back a Start button... but instead of opening up a menu, it will simply bring you back to the Start screen, in all its touch-oriented ugliness that leaves anything with a mouse and keyboard painfully in the dust for the majority of users.

All this combined is hurting Microsoft tremendously, causing Windows upgrades to continue to slow to a crawl, with Windows 8 barely making it to 5% of the desktop market (thanks, Apple). Microsoft has even resorted to attack ad campaigns, also to no avail. In alienating its own users, Microsoft execs are digging their own grave for their own business. And now, we have yet one more nail in the Windows coffin: What Microsoft started for itself, Google will finish.

Chrome OS to the rescue. In the latest Dev channel update (version 31.0.1626.3, platform 4670.0.0) on my Acer AC700-1099, there was a change to the Aura interface that's sure to get the attention of Windows users who want their Start menu back: the app launcher button has been moved to the bottom left corner of the screen, right where the Start menu used to be in Windows, as per the below screenshot:

Now, I know what you're thinking: Will I be able to use a Chromebook without an Internet connection at all? Yes, you will. In fact, you'll even be able to have native-like packaged apps installed that function the same way extensions do. Will your MS Office documents and spreadsheets be viewable or editable? You bet. And they are also capable of being converted and uploaded to Google Drive for subsequent editing AND collaboration as well, even offline (provided you set up the offline environment while connected to the Internet first).

Of course, you'll also have the added security that Chrome OS offers, from the read-only (and write-protected) hard drive (or SSD), to Chrome's multi-layer sandboxing, to boot volume verification that even Secure Boot can't rival. And of course, you'll be getting FREE new versions of Chrome OS every 6 weeks pushed right to your Chromebook, no constant update checking required. The 6-8-second boot times are of course a fantastic icing on the cake, and they save any user time that could otherwise be wasted waiting for the computer to boot. So, is anyone else ready for a win-win situation?

09 September, 2013

What Doesn’t D**n You Makes You Stronger

Sin. People tend to cringe at the word. Especially those who are absorbed in the Old Testament way of life. Yet the undeniable truth is that we as humans all make mistakes, and every little mistake, every slip, every retaliation, every sexual desire, every porn watch, every feeling of ‘I want that’, every refusal to give, every refusal to assist others, every shout, every curse word, is a sin. There’s no doubt, therefore, that a mistake I made days before my 16th birthday was undeniably a big enough sin to warrant even a worldly punishment.
The events leading up to that turning point began in June 2008. I was one person that wanted freedom, and wanted freedom fast, not thinking of the responsibility that’s supposed to go with it. Many of my fellow teens had all the freedom, all the fun in the world, yet my parents, being baby-boomers who had me at an old age, were so ultra-conservative that they would do anything to keep me from having that freedom. So, when their finances also went down the tubes and my parents, sister, and I all had to leave a 2500-square-foot 4-bedroom-3-bath house with a pool in the backyard for a 2-bed hotel room, at which hotel my dad happened to be working at the time, that evil was magnified tenfold. My tendency to want to go places and do things with people was greatly hindered by the lack of space and the ability for my parents to spy on me at all times. My dad, being a night auditor working the 11PM-7AM front desk shift, screamed his head off at me the minute I set foot outside the hotel room door. And then there was my sister.
Being 5 years younger than me, my bratty sister and the 20-friend gang clique that she masterminded did everything in their power to bully me, and in that hotel room especially, there were countless times where her, my dad, and I would all escalate to the breaking point. Screaming. Punching. Kicking. Yelling. Everything was a nightmare. When my family finally got the chance to rent a townhouse, I thought, ‘Yes!’ There was finally enough bedrooms for space to be available to everyone. Uh, not so fast.
March 20, 2009. In less than a month I would be 16. My family finally sits down to have dinner in the temporary townhouse, when my mother, all shaken up by the amount of yelling, screaming, and cursing going on in the hotel room, decides to use her unforgiving heart to impose a zero-tolerance policy on cursing, despite the already hard family tensions and extreme emotional scarring going on. The punishment? Automatic desert ban. I thought, ‘Okay’. But little did I know, that would exacerbate the situation beyond what any of us could fathom.
So what happens? My sister uses her name-calling to continue to make me get all mad. At the table, all she ever did was call me names (what exact names they were I don’t quite remember, or there would be dialogue here). And she would curse as well. For 10 minutes, until finally, something slips out of my mouth accidentally in response that wasn’t the least bit cool. But my mother didn’t care. She continued to be biased towards my sister anyway. If only she had banned both of us, none of this would have happened. But no, she only banned me. She even rewarded my bratty, slutty, evil sister with ice cream, while imposing the desert ban despite the fact that both of us were in the wrong. That’s when I snapped. My mother vs. my sister vs. me. False imprisonment. Threats with kitchen weapons. We were all using such evil towards each other, and me significantly more so given how I was always a target in the past. So when my mother finally decided to take out a cell phone to call 911, I decided to throw it on the floor and shatter it into pieces. It didn’t matter. She told my sister to do it. That’s when I got even more defensive. Eventually to the point of using pieces of my yet-to-reassemble bed to barricade my door shut. It didn’t matter, however, because the cops came anyway.
“Hello, are you in there?” the cops say through my heavily barricaded bedroom door.
“Y-y-yes,” I reply, with such a scared, intimidated tone I could barely speak.
“We’re just making sure you’re okay,” they say politely. “And don’t be scared of us, because we’re only here to help.”
Given how polite and calm they were, I decided to comply, lifting the pieces of my yet-to-assemble bed off my bedroom door one-by-one and letting police in. I was very surprised, shocked, in fact, after all the commotion to have such a calm, peaceful response from police. And they offered psychiatric help, knowing that a month and a half earlier I was in a private psychiatric hospital to detox me from medications that instead of helping my Asperger’s syndrome ended up making it worse, promising to take me to the same place. But when I got in the back of the car and slept in it, taking care not to lay on my tightly cuffed hands which were in excruciating pain every time I leaned into them, for 20 minutes, I was in for a surprise when I finally woke up at the destination. Instead of taking me there, they took me to juvenile hall.
“I’m screwed!” I thought.
I knew there would be a court date, but it wasn’t going to be immediate. I was in the cell, lying on the cot, just praying my head off.
“Lord, what’s this going to do to me!”
“I know I’m a sinner, but the world doesn’t tolerate sin nearly as much as You do!”
“Will I have to celebrate my Big 16 in this hell on earth?!”
I was so fearful of what kind of an environment this was, I could barely speak at all. When questioned, I stuttered so much they could barely hear a word I was saying. I became so quiet, so scared, in fact, that they even wrote my landline phone number down wrong! That of course would carry over to the probation department (more on THAT later). I started participating, therefore, in Bible studies that pastors were starting to use in the cells.
“Maybe I’m here for a reason,” I thought.
So, I joined others who shared similar stories in the cells themselves. I began to continue to receive the Holy Spirit and pray my head off. And when the court date arrived, my fear quickly turned to hope. A plea deal was reached, with the help of she who got me arrested: my own, now very forgiving mother. The sentence? Only 10 days! I was also charged with only a misdemeanor, not a felony. I thought, ‘Yes! Thank you, Jesus!’ And also, I would be relocated to another part of the juvenile hall campus. One that was protected from the rest of the place, one where violence among teen inmates simply did not occur. And it also had an in-unit classroom, meaning that we all could catch up on school work in the place as well. On top of that, this in-jail classroom would later become the scene of a miraculous turning point in my thinking and understanding.
The life in there, however, would be far from perfect. The guards watched inmates like hawks. That was a good thing, however, because it prevented all forms of violence. I was obedient. I was quiet. There were others, however, who weren’t. When there was suspicion, we were all strip-searched. Scanned with metal detectors. If there was any uncertainty about an action or about the location of police property (which was usually every other day or two), the guards would go from door to door, cell to cell, conducting metal detector scans and strip searches through and through until the guards were certain the entire unit was clear. The entire place was a dystopian, authoritarian enclave of Orange County, reminding me very much of the society that George Orwell painted of a future 35 years off back in 1949. And one day, it pushed an African-American fellow inmate of mine (possibly from a gang) to the breaking point.
“F*** you, guards!” the guy shouts across the in-jail classroom that I happen to also be
sitting in.
“Everyone, put your heads down!” the guards say in response.
I along with everyone else ― all 40-some-odd people in the in-jail classroom ― did as commanded, except for this monster in here, who continued to shout at guards. In fact, I started to pray. Silently, of course, so as not to speak, which we were all told not to do. In the meantime, however, this guy continues to yell and curse. He’s tased. He’s pepper-sprayed. He’s cuffed. He’s held on the floor, face-down so he can’t breathe.
At the same time, I’m untouched. My fear and trembling actually made me a better person than he was, just like my parents, teachers, and school administration had said all along! After all, anger is a sin, right? I suddenly realized in that moment, the night before being released, that I actually could do what I thought I couldn’t do: refrain from violence in adversity. I once thought refusing to lash back at bullies was absolute cowardice, but now I actually had real-life proof, from a first-person perspective, that nonviolence and cowardice are actually exact opposites. I suddenly started to see that the security in place was a good thing, because it actually prevented the bullying that went on in school all the time from happening in this jail for kids, while at the same time creating the perfect environment for this miraculous first-hand demonstration by the Holy Spirit to take place.
The very next day, April Fools’ Day, 2009, my time in that hell on earth was up and I was released. I walked with my mother into the parking structure and got in my mother's car, thinking “Hallelujah!” I took those experiences with me, including that awesome learning experience in that in-jail classroom. The Holy Spirit then continued to shape me, continued to transform me, and I did a complete 180 from the ‘eye for an eye’ lifestyle I had lived before. Not to mention, of course, that I was released on April 1 anyway, right on schedule.
So, where did I celebrate my 16th birthday, on April 14, 2009? Certainly not in jail like I feared I would, that’s for sure! It happened to be a Wednesday. At the time, that was my normal worship night! I ended up celebrating it with the awesome fellow worshippers of mine, at the awesome Mount of Olives Church youth ministry (The R.O.C.K.) that I know and love.  However, I wasn’t done yet. I would be on probation for 1 year. So, I still had to comply, knowing how much I would hate being incarcerated again. During that probation, I had many rules and restrictions, including one where I would need to stay at home past 10:00 at night (which is a common restriction on juvenile probationers anyway). A year later, I waited for hours in the courthouse hallway to enter the courtroom again, this time to terminate probation, excited that it was already certain I had done the time.
“Probation termination request granted,” the judge rules.
“Yes! It’s finally over!” I ecstatically thought.
And just in time, because the spring of 2010 was the time when the Holy Spirit finally got me transformed enough to actually start taking classes in public (El Toro HS) instead of non-public non-sectarian school (more on THAT later), and my senior year would start the following June, when I would finally be there for the majority of my school day. Had I still been on probation during senior year, my life would have been completely miserable due to the inability to go outside at night past 10:00, but nope, I was actually able to attend the same activities (including the all-nighter to end them all: Grad Night) that every normal student attended. I couldn’t be more thankful. Of course, at the same time as this El Toro awesomeness, my family would have to pack up and move again due to the townhouse landlord’s rent-skimming scheme. This time, however, we ended up only being in a hotel room for 3 months instead of 9, followed by 27 months in a 2-bedroom apartment. Not the best place for a family of 4, but it was still an improvement over a hotel room. It would take until November 16, 2012 for the American dream to finally return to my family again.
So, my advice to all who use violence: Don’t. Fighting sin with sin may make people even with each other, but in doing so it brings both parties closer and closer to a hell on earth. Not only was I made stronger by this incident, but also more normal, more of a light in a world of darkness than ever. I can rest assured that because of what Jesus did at the cross and in the now empty tomb, regardless of my sinful past, I’ve already been saved. To be honest, I have even felt feelings about going back there. Not as an inmate, but as an evangelist. Sharing my testimony. Being a light in a world of darkness. A Holy Spirit-guided ray of hope for the lost. Because after all, faith without works is dead, right? As long as I am guided by the awesomeness of the Holy Spirit, turned from sinner to saint, I cannot be more thrilled, couldn’t be more fearless to actually use The Word to not only my own advantage but also that of all those who are around me. So, just as I turned from the grip of anger, pride, and retaliatory tendencies, so should everyone else.

16 August, 2013

iOS 7 Beta 6: "Patch Thursday" = Last Beta

Since most previous iOS 7 betas have been released on either Mondays or Tuesdays, Beta 6 caught us off guard. A curveball indeed, what's also odd about it is... It's only a 13.5MB download.

What's worth noting about the 13.5MB, however: It contains nothing in the way of new features. However, it contains something else: A landslide of bug fixes. How many we looking at? At least 20... and counting (Update: Full change log reveals — at least from what I have seen on BGR — that there's only 3 stock apps remaining with "known issues", everything else having been fixed).

What makes this significant is the history of how iOS beta releases have always ticked in the past: Usually when Beta 1 releases are put out, they're not feature-complete. Even though most of the features are in place, based on developer input — as well as the input that developers get from the users (like me... well, long story short my payment on this site actually just finished processing this morning) who get their UDIDs registered through other users who have developer accounts — new features and UI tweaks do get pushed as the beta releases progress.

"Patch day" iOS beta releases, on the other hand, are very typical of final beta releases... of all previous versions of iOS this far. That's true of software development in general: New features always tend to introduce new bugs. So, even though developers have tons in the way of feature requests, when software is developed at a beta-quality pace, bugs can always creep into the user experience. So, if developers think they have all the features they need — which, in Beta 5, developer (and user) input calmed down tremendously — bug fixes quickly become the next urgent priority, since we all know bugs can, if not ironed out shortly before release, really ruin the final product.

Does this mean Beta 6 is the last beta before the final version comes out? It seems highly likely. Even though the pundits may argue that it seems too early from a final beta, the onslaught of bug fixes with the OS being feature-complete otherwise indicates that Beta 6 — like the final betas of all previous versions of iOS — is indeed the final beta of iOS 7, and the GM could therefore come any day now.

Of course, with that said, the final release should come a week or two after the GM, and what's 4 weeks from today? In fact, none other than two days after the rumored iPhone 5S/5C announcement: September 12. So, that's what I'm betting on for public availability... and as for the release to partners and/or developers, August 29 and September 5 (that is, two weeks and one week before the final release, respectively) seem like good bets.