Subscribe. Follow. Stalk.

Friday, December 28, 2012

Amazing how much has changed

I can't believe how far this blog has come since it first started. At one point, this blog was full of simple one line posts and sometimes missing a title! The past 5 years have been great, but I hope that the next 5 years will be even better. Maybe one day I can afford a spaceship...

Anyway, whether you just started reading Y4L (I haven't used that acronym in a while) today or have been reading this blog since the dawn of its first post, I have to say Thank You. Blogging is exciting, certainly more than counting the dots in the ceiling.

Tuesday, December 18, 2012

Avoiding Internet Explorer with FTP

Depending on how you feel about IE, you might just only use internet exploror once: when you are downloading a different browser. Well, today I'm going to show you a different way to go. One that involves downloading Firefox through FTP. This way you will never have to open up Internet Explorer ever again. So let's get to work

  1. Open Windows Explorer. (Windows Logo->E)
  2. Copy/Paste this in to the address bar: (this will automatically take you to the latest Firefox release)
  3. Drag/drop the installer onto your desktop. The file will download to your desktop
  4. Run the installer
  5. Enjoy Firefox!

Technically, we still use Windows Explorer for this mini project, but I'm guessing you already use Windows Explorer anyway. You can download it through ftp by way of the command line, but this is so much simpler.

Now you will never have to taint your hands in Internet Explorer. Happy surfing.

Saturday, December 15, 2012


There has, and always will be, a human psychological issue with population statistics. Even assuming the best data collection and the most sophisticated graphing software, population statistics are often associated as individual statistics, but it does not work that way.

There are too many statistics out there today, There are statistics on how many people live in hunger, how many cats are on the street at night , now many dogs that don't have a collar, how many people who visit this blog... Yet despite all of these numbers, little action is made at an individual level to address these statistics. Hunger in Africa? Call Bill Gates and have him donate a zillion dollars, but never understand how one hungry person is actually doing. Swine flu outbreak? Freak out and hide. Nobody really thinks how these numbers actually affect real people, even though that's what we claim these numbers are supposedly used for.

Let's create a hypothetical disease called K. First reported in the San Francisco Bay Area, K is a disease where you go on the computer all day and blog about random tech stories and talk about the things you do on the computer and post any random interesting photos that you may have come across. Yes, K is very dangerous. People begin to forget what time of day it is and where they should be going. Instead, they go onto Blogger and type out long convoluted posts on hypothetical viruses. Oh and it's highly contagious. One look at a person infected with K will cause them to automatically start blogging. Pretty dangerous.

Let's say that 1% of the population catches K. To the other 99% of people, K is no big deal. They don't have it and the chance of looking at a blogger who goes out in public is pretty rare. But what about the people who did get it? Their lives are now messed up. While our society cannot cure every little thing that comes in its way, these 1% of K patients are people too. To them, K is the end of the world. While there may only be 1% of all people living with K. There are 100% of K patients who have to live with K.

Making actions without looking at how they impact the individual is a terrible cold hearted way to go. When a company sends its factories off to a lower cost region simply to give top executives bigger bonuses and expensive liquor, they are not just cutting a few hundred jobs. They are bringing sadness and despair to people whose children depend on them to bring home food and have a warm place to live. In the end, these actions destroy the livelihoods of individuals, not people on a graph.

How the future is the past in better packaging

I know that people often say that people in the present live better than the royalty of the past. I've never felt that way, on good days and bad, through happy and sad.

We always expect the future to be better than the past. No matter at what time of life, and under whatever situation we always hope that we escape our crummy situation and everything will solve itself. The future is this wonderful place that can do things that even the best super heroes can't do. Heck, it can even travel through time (forward, that is). No matter how pessimistic, life is always leaning towards the bright side, even though it seems like we have more and more problems being added to our daily routines.

There's a problem with that. History has shown that the past repeats. After all, that's the number one reason why people say to study history to (ironically) stop repeating the past. Now, if the past repeats, then the future must behave just like the past. Here's were we hit a snag. We can't expect a better future knowing that our crummy pasts will just keep repeating.

Now some people will think that our lives don't completely repeat. There's are many things that were here now in the present that did not exist in the past (such as this amazing iPad app). That's correct. But this follows the pattern in history where people create new things. I'm not trying to talk about the new ever changing crap that people have, but rather how people act and organize themselves.

I have to ask you, disregard all of the meaningless material waste you have and think about how much your life has actually improved. Do you really think that your life has gotten better in the last 10 years? Think about the fun you had 10 years ago, the worries that you didn't have and the ideas that you thought would carry you into the future. The more information you have about how the world works, the more you realize how lost the world really is. It's been 2012 years (give or take) since Christ was born! Just like you, people two thousand years ago were hopeful too. They hoped for better futures, because it's really hard to change the past. It's pretty hard to say how much better your life will be when the past is so miserable. With enough time, even the most distant futures will eventually transform into the past, and then we can remember how miserable we were back then.

This brings up why people even bother to try if there is little evidence that it will do them any good. Because people have no choice. Like the people buying lottery tickets even though they know it won't do them any good over 99.9% of the time, there's always that .1%. Everyone, myself included, always focus on our own statistics. It doesn't matter if someone is one in a million because that someone might be you. More to the point, it doesn't matter if the average score is 75%, as long as you yourself get above 90%. Population statistics don't apply to the individual and even the smallest chance is one chance better than there was before.

None of us can beat this bitter reality and false sense of hope that the future will automatically bring us happiness. Life is a questionable animal, one with more questions than it has answers.

Monday, December 3, 2012

Joli OS

I've been using Joli OS for roughly a month now. Here's the meltdown of it's pros and cons:

Great simplicity. Easy to use and set up
Goes well with various cloud services, google drive, skydrive, whatever
desktop can be accessed from any browser

Perhaps a bit too cloud oriented. The computer is essentially rendered useless you have an internet connection
I wish that local apps were a bit more emphasized.
The entire desktop is a browser page, kinda slow at times

Overall great desktop. It's really great for old laptops that can't handle new software and need a facelift. This OS seems to have various drivers already built in so you don't have to hunt for drivers. Overall great idea, but maybe it's a little bit ahead of its time.

Thursday, November 22, 2012

Too Close

Internet Explorer: the browser to download another browser. (I'll talk about FTP another day so you guys will never have to open up IE ever again.)

The reality is that IE is the browser of choice for absolute idiots computer illiterate people. It's installed with Windows and nobody who wants to watch funny cat videos or checks their email  on a semi-yearly basis cares about using a better browser. But for the rest of us, IE has a special place in our hearts. Namely, the outside.

I love the song that goes with the commercial for IE. It reflects how we are so close to IE yet we never love it. IE is a bloated standard oblivious browser that killed off the browser Netscape and stripped away everything that came with it (I loved the blink tag, perfect for annoying even the most indifferent people) It was a web developer's nightmare. Many of the standards shared among other web browsers were plainly ignored and webpages needed two sets of code: one for the monster, and one for all the browsers that had consistent behavior.

Now that Microsoft has somehow decided that IE should become standard-lovingish and less-bloatingish, it's a bit too late. There are so many different browsers which people have already switched to.

Friday, November 16, 2012

Why tablets

No. Just no. I love using a desktop pc

Actually for most other people, tablets probably would be a pretty good idea. The only things that they would need from a computer is to surf the web and to read documents (notice how they don't write any documents, just read). And that's pretty good, but I don't know if it justifies the hype that people have been giving them.

Touchscreen computers have been around for a very long time. They even existed before there was Windows! Touch is a pain in the ass. You get the screen smudged. You might hit the wrong icon. The tap you may have made may not have registered. The swipe that you thought you made accidentally opened up something you might not wanted to show. They just don't provide the nice usage that you can get with a cheap laptop (yes, the laptops are cheaper) or a mobile phone (small enough to fit in your  pocket )

I personally find that interfaces for tablets should definitely be used for the general populace. These are people who need a design that is simple enough for a child to figure out because a lot of these people act like children. While I don't think that the touch screen itself is a necessary component, being able to easily open an app (btw, there were applications before tablets and smartphones), and share photos with the rest of your family will make almost all computer users happy.

Tablets: good for web browsing and document viewing. Don't expect to solve the meaning of life with it though.

Tuesday, November 6, 2012

Bringing life out of old computers

While I do like using the latest and greatest tech, sometimes it's better to use something older. Perhaps it's the keyboard that you can really type on or a touch pad that seems to rule above all else. (One of the most hated things that they do today are the island style keys on the more recent laptops. I much more enjoy the old thinkpad style keys. They are much better and faster to type on with so much greater accuracy.) Older laptops are also less likely to be stolen and you are much going to care much less you you accidentally drop it somewhere or lose it entirely. Plus, for simple web browsing, old computers are  still surprisingly effective.

The computer that I am typing this on is an old HP that I installed Linux on. More importantly, since I decided that this computer should be as cloud centric as possible was the decision to install a cloud based OS called Joli OS. It's wonderful HTML 5 design plus it's small overhead make this laptop (which has 2 GB of RAM, mind you) a joy to use.  I feel like taking this out with me to the library or a coffee shop, since I don't mind if I lose it or even it I crack the entire screen. That's what makes it so great

Another thing about old computers: optical drives. While I do think that there is no need for most people to use discs anymore, I still have a giant collection of discs that I use from time to time. But that will probably not be the case as I buy more flash drives to boot media off of.

We really shouldn't judge whether a computer is good or bad based on it's age. We should be judging it based on the usability of improving our everyday lives.

Wednesday, October 31, 2012

Food for the food

Did you know that the global food output is equivelent to over 3000 calories per person per day? Yeah, that's right. There is enough food that is currently available on the planet to cause a very chronic obesity.

The problem here is that there is too much waste. But imagine if we could cut down that waste. No longer would we need to find so many scientific breakthroughs in order to maintain the increasing population. No more need deal with world hunger. We could also use any surplus food for uses such as fuel and other things that we need to produce a productive society. There are so many possibilities, but the people in charge of such organizations are just too slow.

To address the waste issue, we must educate and spend lots of money in countries that do not have the farming capability that more advanced nations would have. Even though this may seem like money down the toilet, it's better to teach a person how to fish rather than to give him half a fish everyday. Plus, you would never have to deal with them again

The primary problem with this is finiancing, as mentioned before. One of the places that facilitates such deals is the world bank, but that implies that they must return the money. Let's just give it to them and make a deal that they will one day help us fight the problems that we now face as an entire population. Setting aside differences and working towards a common goal will allow us to figure out how to handle the future, helping people lead happier and easier lives.

Wednesday, October 17, 2012

My fake pressciption drug commercial

It's the ad transcript for my new drug called Cramming!

Ever feel that studying for many days for a big test just doesn't seem to work? Are you feeling that its really slow and that you have a tendency to forget what you were memorizing the week before?  Try Cramming, the only FZA-approved* drug for curing test forgetfulness. Cramming saves time, has better accuracy, and has no side effects on your long term memory. 89% of patients who take Cramming show immediate improvement on tests, and mango farming.

 Cramming is not for people with low self-esteem, or high blood pressure. Elderly patients should not take Cramming due to elevated risk of heart attack or stroke. Stop taking Cramming if you have vomiting or cramps in your lower abdomen. Some patients taking Cramming have reported severe pupil dilation after being awake for over 30 hours. This is a rare but serious side effect. Call your doctor immediately if you have any of these symptoms. Cramming is not for everyone.

Talk to your doctor about Cramming today.

*not approved to children under the age of 0
©1023 Yawn4 Pharmaceuticals

Side note: This is a joke. There is no drug called Cramming. If there is, it's probably not this one.

Monday, September 10, 2012

iPhone UDID leaked. not a big deal

As you may or may not know, iPhone UDIDs have been leaked out onto the internet and peopel are freaking out about this whole incident. While we now (thankfully) know that the UDIDs did not come off of a FBI laptop, that (honestly) does not make much of a difference.

The UDID on iOS devices isn't really a big deal. For developers it's just a way to provision apps to work on devices. Not much interesting here

Wednesday, August 29, 2012

Why I like garbage collection

One of my most favorite features of java is the garbage collection. Being able to create objects on a whim and then simply forgetting about them is the nicest way to program. Gone are the times when you need to clean up the object. Reference counting becomes a thing of the past. Best of all, no more segmentation faults! (this helps me sleep well at night)

Garbage collection means less time on finding bugs and more time working on the internal logic of your application. It means that more code can be completed in less time. Imagine having a person who picks up all the litter you toss on the ground (don't do this) as you walk through the park, the playground, or maybe across the street.

Alas, it's not all perfect. Tight loops and objects that never seem to go out of scope can and will cause memory problems as well. Garbage collection is also an additional overhead for the application, but that is a reasonable trade-off if you don't want leaky code that will grind the entire system to a halt much faster.

For high level programming there's nothing like GC. It's a shame I mainly work on C-based languages nowadays...

Thursday, August 23, 2012

5 years of Yawn4LifeIng

That's right. On this day 5 years ago, I created Y4L. It was a much different look and feel back then. As I think back to when it was first created, it seemed almost dark and hidden. Now it's all bright and cheerful... sorta.

Anyway, if you've been reading this blog ever since the start. Thank you. And if you just started reading and discovered that this place has been hanging around since the last decade (holy crap), remember to subscribe. The terrorists will win if you don't.

Monday, August 20, 2012

Sqlite and a quick trick

Sometimes you need to make SQL queries that don't seem to have your usual columns and rows. The other day I was working on one such example. This time, it was with C and Sqlite.
Select Count(*) FROM sometable;
I had this SQL query that would get me the number of rows in a table, but I realized that the c interface had no obvious way of getting it. After taking a short lunch break, I realized that the output on the command line interface looked remarkably similar to having only one column with one row.

So that's what I did.

Here's the code snippet:

NSString * query = @"SELECT Count(*) from essaystore;";
    sqlite3_stmt * statement;
    if (sqlite3_prepare_v2(database, [query UTF8String], -1, &statement, nil) == SQLITE_OK) {
        int row = sqlite3_column_int(statement, 0); // it's technically a 'column'
        return row;

Not really a big deal, but it didn't really make any sense to me. I tried it out and amazingly, it worked.

Wednesday, August 8, 2012

N days ago Objective-C

What app could I possibly be making?
As I was working on a new iOS app, I realized that the best way to display the information that I had stored as a timestamp was to create a function that could change the seconds from 1970 to more informative messages like "3 seconds ago" or "2 days ago"

After searching the web for a while (on Bing, because I live in the Seattle area) I found this website with a very helpful snippet of code to create what I wanted. The problem was that it was in PHP! Oh dear, I'm not working on PHP, it looks like I will have to keep on searching...

Sadly after searching, I still couldn't find anything relating to objective c and this time ago function. I decided that it would be faster for me to just simply port the code to Objective-C.

Then I remembered my promise last Monday. So here is the first piece of code you will see from me on this blog. (Yes, I can in fact code)

+ (NSString *)ago:(int)time {
    char * periods[] = {"second", "minute", "hour", "day", "week", "month", "year", "decade"};
    double lengths[] = { 60, 60, 24, 7, 4.35, 12, 10};
    int now = [NSDate timeIntervalSinceReferenceDate] + NSTimeIntervalSince1970;
    double difference = now - time;
    int j;
    for(j = 0; difference >= lengths[j] && j < 6; j++) {
        difference /= lengths[j];
    difference = round(difference);
    NSString * result = [NSString stringWithUTF8String:periods[j]];;
    if (difference != 1) {
        result = [result stringByAppendingString:@"s"];
    return [NSString stringWithFormat:@"%d %@ ago", (int)difference, result];
The class method takes an int for the seconds since 1970. It returns an NSString but can easily be adapted to return a C string if you so incline to do so. Also, if you're one of the strange few people who do high-level programming with pure C, you would only need to change the NSDate to the current unix timestamp in C in addition to eliminating the NSString mentioned earlier.

Yup that's it! If you want this method available to other classes, I advise you declare it in the header.

Monday, August 6, 2012

I'm going to try blogging more

It's been pretty hard to keep to such a hectic life. It always seems like the more stuff I get done, the more stuff there is left to be done.

No matter what, I'm going to start blogging more about some of the work I do creating mobile apps. There will be screen shots, code snippets, and maybe entire projects. I'll also show how to work with the web and cloud as well. Integrating mobile apps with the cloud is pretty much what the future of computing is going to be all about. Imagine your entire home, controlled from anywhere in the world with your mobile phone. All the food you have in your refrigerator and pantry will be tracked, foregoing having to make a shopping list. Information gathered from all of the gadgets in your house will automatically generate a list of all the food you need to buy. The lights will turn on once you enter a room. Your sofa will automatically adjust to your own comfort. The TV will automatically turn on at the time of your favorite programming and automatically check your email during the commercial breaks. With the entire "Smart Home" there will never be the need to remember to do anything anymore. Your home will take care of it all for you. It will even clean the house when you are not at home during the day!

To be pragmatic, this kind of living is not that far off. We have the technology to do it. All we need now is the will power and the initiative to implement this in a low-cost ubiquitous way for all people to have. In addition, the public would need to be educated that this is not going to be the end of the world and that they have nothing to fear.

Wednesday, August 1, 2012

I guess stuff goes on

It really does suck that it appears none of the apps I planned to release before August are actually going to be released. My life has become more unpredictable than it has been. It appears that I just can't handle the constant 'surprises' that knock all of my planing and scheduling off track. Everything becomes de-prioritized to beat on the dead-horse. Had I the option to run the world my way, this would completely be different.

There would be total confidence that what is currently being done is of the highest priority. Random crap that occurs will be completely downplayed in an effort to preserve a stable status quo. Hey, there's no problem unless you say that there is one.

Monday, July 23, 2012

I thought this was kind of interesting

If this was the norm in North America, unemployment among lawyers would be -20%

Sunday, July 15, 2012

You probably already knew this about this post :/

Yeah, Ellipsis for Android is delayed.

Actually most of the app is already completed, but some of the code has been a bit of a headache to handle. Also, I'm not really set on how the app is going to bring in some revenue, so I want a little more time to decide on that. I hope to get this out by the end of September the year.

If anyone wants to get a copy of the app, I would be more than happy to send you one, practically 90% of the app is already done.

Tuesday, July 10, 2012

Work on Ellipsis continues

As of now, I've finished all of the levels that will be in the first release of Ellipsis for Android. There are still many bugs to squish, but it's coming together pretty nicely. Aside from the levels themselves, there are a few UI issues that I hope to solve by the end of this week.

I'm still trying to figure out how touches are tracked in Android. Based on what I can deduce, it's not as good as it is on iOS. Hardware can vary in quality, so someone with the newest Android is going to have a better experience than someone with something like the HTC Dream (the first commercially available android phone)

I hope to release a new Azure Nose and  another app by the end of August. That may be a challenge...

I'm also investigating how to deal with varying resolutions and pixel densities with various devices. It's been kind of confusing since I depend heavily on the Emulator

Monday, July 2, 2012

Saving money on cell phones

Having a cell phone is expensive. I know.

When you look at the overall costs of having the latest greatest mobile device in your pocket, the biggest expense isn't the cost of the hardware, but the service. In some countries cell phones are subsidized in exchange for a certain amount of service time. The costs of such wireless plans are typically ridiculously high, especially since these companies tack on extra "taxes" that can often be up to 30%.

Most people think that they are getting a better deal by buying the subsidized phone. Truth is, they could save substantial amounts of money with a prepaid cell phone plan, particularly if they don't use their phone very much. It's very easy to find dumbphones online for rather low prices online. They make phone calls and do SMS reasonably. Smart phones are harder to find, but they are out there. Many unlocked, no-contract phones sold in the US are imports from other countries, so they don't come with a warranty. Obviously, this is more of a concern with a $500 smartphone than a $15 dumbphone.

As for carriers, find a GSM carrier (the ones that have sim cards). You can bring any phone you want onto the network, provided that it supports the frequencies. Another advantage of GSM phones is that you can easily change carriers if you find a better deal or don't like the service. It also makes changing phones really easy since all you have to do is move the sim card. While prepaid carriers charge money for the sim card, it's usually less than $20 and there's no activation fee.

If you are already locked into a cell phone contract, paying the early termination and getting your phone unlocked (assuming you are using a GSM carrier) can still save you substantial amounts of money over the long run. Don't terminate your contract if you have a few months left, though.

Congrats! With these new strategies, you are now able to get cell phone service for much cheaper than before. Tell your friends. Avoid CDMA carriers like the plague. Pay full price for your cell phones and use prepaid plans.

Word of caution: While prepaid plans are typically cheaper, shop around. Also, if your post-paid plan is cheaper (over two years) based on your situation, don't be stupid.

Friday, June 29, 2012

Mid July seems pretty realistic now

Based on current development, a mid-July release seems extremely plausible now. I expect to finish the app next week, test the week after, and release!

Much of the basic code has been ported over. Although there are still over 100 compiler errors and warnings, they should all disappear once the entire code is ported.

Oh, and if you are a person who runs Windows-64bit, get Waterfox. You will be glad that you did.

Sunday, June 24, 2012

Dots are complicated

So. I started Ellipsis for Android yesterday.

I have been met by a pretty big surprise: the iOS version of Ellipsis is over 15,000 lines of code long! Based on a rate of about 1000 lines of code per day (assuming nothing goes wrong), is going to take me about two weeks to get this ported over to Android. That time does not include any large adjustments I need to make to the code that's different that iOS. While I'm still targeting mid-july for release, I'm just shocked at how much code I wrote last year. I've always felt that I needed to code faster but I never realized just how much I do in fact code

The other strange thing is that the game is really basic. While there are a few quirks that need to be address in the game, it's not a really complicated game. Had I released it in a slightly cruder format, I think I could have gotten away with just 1000 lines of code. (Sure, it only would have had one level and not much else)

I'm typing really really quickly in order to get this ported over to Android. I don't have any plans for how to test the app yet either, the Emulator is slow and I don't have an Android phone.

Wednesday, June 20, 2012

Summer app releases

Below is the order in which I will most likely be releasing apps this summer. It's been pretty crazy lately and just starting to calm down. Older apps may see an update or two over the next few months. I intend to make all my future apps on both iOS and Android (tablet and phone, where practical) This may not work out but that depends on events that have not yet been perceived.

Estimated release times are included
  1. Ellipsis for Android (done by mid-July)
  2. A really cool social app (more details soon, release late July, early August)
  3. Azure Nose (I know this app has already been released, but there are so many improvements needed to be made, mid/late August)
  4. Various improvements/bug fixes on existing apps. Some existing apps will be ported to other platforms. (expected whenever)
I'm examining new ways to generate revenue to continue making strange unique apps for the whole world to use. There is an app that I'm considering making that will be released in September that's really tentative at this moment. There are also a couple of HTML5 app ideas floating around, but they will probably not come into fruition until the end of the year, at least.

The approximate dates are subject to delays and Acts of God but I will do everything (and I mean everything) to avoid delays, but trying to stop a tornado by standing in its path doesn't work...

What about Windows 8? Well, I might actually port some apps over. That would be far down my list of priorities but the recent announcement of Surface might change my mind. It looks really cool. Apple is going to be in trouble for 2013. The only thing that might be able to help Apple maintain its lead is to support Flash, but maybe I'm just too old-fashioned to accept that Flash is already dead.

Expect about one or two posts per weeks around here. I'm going to be really really busy.

Overall, summer is going to be pretty cool :)

Friday, June 15, 2012

Woah, June is half gone already

Happy Friday to you all. I've made it through another week :)

Recently, I've shelved every project I've been doing. It's a necessary step since I've been falling behind in other things that I'm up to. Luckily, my Friday was open so I decided to write this blog post. As for getting back to development, you will probably see something new from me maybe in the first week of July. That's not guaranteed though; there's so much going on in a single day that even the slightest change in plans can knock that back by weeks, if not months. (So much of my life is in the control of unknown powers. It's hard to tell what will happen even in the next seco-

 Yeah. Looks like I've got a PowerPoint presentation to make. (An SMS just came in...)

Tuesday, May 29, 2012

File transfer is painful

The internet has been in existence for over 20 years yet I still can't seem to figure out a fast way to transfer files to and from the internet. Computers are beginning not to have disk drives so you can't just burn a disk and hand it to the person anymore. Did you say flash drives? They don't work well either. For one, they are pretty expensive still and I don't know of anyone who is going to return a flash drive now that they have it. Also, as flash drives dropped in price, the quality of the flash memory as well as the transfer speeds have diminished greatly. Assuming that people do return the drives, they only have a limited number of writes on them, making them useless over a long period of time.

I've tried many of these 'cloud' solutions for file uploading and downloading. They are slow. While downloading is OK, my ISP's up stream connection is so slow that it reminds of the dial up days. If I had high download and upload speeds there would still be a problem. Many of the people that I would be sending files to probably don't have fast internet connections.

Email is bad too. Gmail has one of the highest attachment limits at 25MB but that is far from enough. I need at least a 500MB upload limit before it becomes practical for me to use it. Also, not every email even supports 25MB. I've sent Word Documents that were around 22MB that got bounced back because their email had a ridiculously low attachment limit. (What makes it more interesting is that the email account I was sending to had 10GB of storage)

I do a lot of compression and multiple "part" emails to get around the attachment limits in email. I guess if I ran my own SMTP server I could have higher attachment limits but that would only be as useful as the attachment limits of my recipients still.

OK. I'm done ranting now. I've got to go give a flash drive to somebody...

Wednesday, May 23, 2012

Work has been going slowly

It's probably going to be a while until I actually begin working on something new again. There's so much going on right now that I'm too preoccupied by other tasks that making new apps or anything at all is going to be a challenge in my free time. We'll see, though. I hope that I will be able to do something interesting near mid-June but that would take time.

I'm adjusting the width of the blog a little. Small matter, but my mouse doesn't have a tilt wheel anymore.

Thursday, May 17, 2012

Keyboard what's that?

Truth to be told, I love my dell keyboard with the strangely large space bar. It types well and accurately. The keys don't require too much force to go down and they don't seem flat. I find it to be one of the best low-end keyboards that I've used (hey, it came with the computer, I don't expect very much)

Keyboards are a thing of the past. I bet that if I didn't have to do computer work full time, I could probably get away without a mouse after the initial setup of the computer. There really is no need for one anymore. I could probably do everything with a computer that needs a keyboard with a mouse and speech recognition. (Sure, typing passwords would be a pain, but who does that anymore?) There will eventually be a generation of people who cannot type. People think of me as a fast typist with a speed of around 80 words per minute on a good day. I personally can talk very great ease at around 200 words per minute. It would be much easier for me to speak everything than it would be for me to type this blog post. (I can't find my microphone)

Just like the cassette tapes of the last decade. Keyboards will soon be sitting up in a closet collecting dust. Pretty soon nobody will know what they were used for.

Saturday, May 12, 2012

End of the week came quickly

Yeah, it's Saturday :)

It's been pretty good right now. I ordered a new computer last night. It's got a quad core cpu with a 380 core gpu. It should be enough to match my computing needs for now. I intend to do some mobile app development. I probably will use this computer to finally start porting Ellipsis for Android. It may be a while though, I haven't checked how busy I am going to be for the next few weeks and there may be a few delays. No worries though, I am working on some other things which I'm trying to figure out how to market after development is mostly complete.

Yeah. It's going to be a fun summer :)

Wednesday, May 9, 2012

Paradox: Idle busyness

I don't understand how I could have so much work to do and yet be so bored at the same time doing nothing. I guess it does make some sense: the work that I can do right now is very limited in scope and I've already finished it. There isn't very much else I can do until later when I have the resources and an adequate length of time to do anything. This is a fascinating concept. Too bad it does not have much particular economic uses. Maybe it does. I'll think about it for the next few days...

Sunday, May 6, 2012

Ellipsis for Android

As you know, Ellipsis has appeared on iPhone a while back but I intend on getting it to Android sometime by the end of the summer. Since I'm using Cocos2d, I hope that I will be able to quickly port the app using the Android form of the gaming framework. I've never used it on Android before so I hope that it will be the same as using it on iOS.

Mac or PC? Wait... aren't Macs Personal Computers too?

Working on a new app

And yes, this one will be completed, unlike the last one (which I spent far too much time in R&D)

This one will be pretty simple. I just need to get some artwork for it and then work from there. I don't think this project will be much of a challenge since I already have a good idea what it's going to be. However, I still need to port Ellipsis to Android (and maybe Windows Phone) so I don't know when I will be able to finish the app. Also, I want this on to run on Android (and maybe Windows Phone) at release time.

I'm also going to look into new ways of marketing the new app. I think I have a pretty good idea but I need time and thought to get everything done. It's going to be pretty interesting this summer.

Wednesday, May 2, 2012

Ironic that I need a desktop computer

Hey, me again..

My primary computer is being repaired right now so I'm using a different machine to type this blog post (this isn't the computer I talked about in my last post, this one is much much newer)

It has occurred to me that I will need a new computer, given the fact that my primary computer need to be fixed. That computer was a laptop. While the computer is quite nice to use, it's also a pain to fix and repair quickly. My solution? A desktop. It's quite strange, considering how I am such an advocate of mobile/decentralized computing. However, I use the computer far more than the average user (I'm not addicted to using computers)

Desktops are also cheaper and more powerful. On a typical day, I am literally running at least 2 or 3 virtual machines at the same time. Running virtual machines is resource consuming. They slow down my computer to less than a snail's pace, especially when I am also working on something within the main OS. I hope that visualization will become more efficient over time though; this will help me get work done while improving the performance and the efficiency of cloud computing.

Saturday, April 28, 2012

Old Computers: Not as bad as you think

Last night I pulled my old Compaq out of its laptop bag where it has been staying for the past few months. Actually, after a little bit of work on it, it still runs fine. Sure, it's Windows 2000 and parts of the plastic is cracking off but it still works and has one of the highest pixel density laptops even compared to the ones today.

There is no built in wireless card inside the machine so I use a PC Card that I bought for it about  six years ago. The keyboard types really really well (it truly is one of the best keyboards that I have every typed on. There is no end to how much I want to type on this keyboard) The keys are really responsive making it really good for fast and accurate typing. There is little space between each of the keys so there is little chance that crumbs or hair will get stuck inside the keyboard and make it ridiculously hard to type on.

Although the keyboard is nice, I find that the main problem with the old computer is that it's a little noisy. The high pitched sound of the fan brings me back into the Bad Old Days. (It also runs pretty hot, but that's true of almost every laptop)

Touchpad is a little small and unresponsive at times. It would be nice if it supported multi-touch but that really isn't necessary.

The battery won't hold a charge anymore. Maybe it's because the PC Card for the wifi sucks up too much energy but it sometimes feels like the computer runs out of battery the moment that I unplug it.

Overall the laptop still works well for basic tasks, provided that you are near a power outlet and don't mind having a PC Card sticking out for WiFi.

Sunday, April 22, 2012

Monday is tomorrow

With the weekend over and the basis workings of my next app already done, I have to say that this was a pretty good weekend. The basics of my app are simple, but I need to investigate the market to figure out how to market this app and what adaptations I will need to make.

This may be the first time that I make an app that will need to use the cloud. We'll see.

Friday, April 20, 2012

Project has been shelved

Yesterday, I decided to shelve my previous project. After tremendous work on it, I feel like it's unlikely that one person can solve a problem that usually takes teams of people and many years. If I come up with the answer one day, I will keep on working and get this product into fruition. Hopefully, that day will be soon, but my brain hurts too much over the past few days to keep on going

On the bright side, I'm finally working on the app I told myself to make over one year ago. It's should be done by the end of this weekend (I'm not kidding).

Peace out


Monday, April 16, 2012

Accelerometer Development Shortcuts on Cell Phones

I've noticed that the accelerometer on modern-day smartphones can often be extremely enigmatic, especially if you are only familiar with computers and less so with physics. I am going to try to clarify some of the confusion with using the accelerometer as well as what it can do.

Basically an accelerometer measures acceleration. While this may seem quite obvious, the answer is not what people often think. Acceleration is not velocity, nor is it position. Acceleration is the change in velocity. If you look at a velocity vs time graph of an object, the slope (it's derivative) is the acceleration of that particular object.

Therefore, by using integration (the area under the curve, or the opposite of differentiation) both the velocity and the position can be found from the accelerometer data, assuming that we know what the starting velocity and starting position are (a simple way to do this is to assume both start at 0). However, due to the precisions of the sensors in cell phones, this use of the sensor may not be practical.

Also, the accelerometer can be used to measure force. Below is the force equation as shown from one of Newton's laws:

F = ma
F stands for force. m is mass. a is acceleration.

Since the mass of the cell phone is constant, we know that the force is directly proportional to the acceleration. Because we don't know the true mass of the particular device we are dealing with (some phones can weigh dramatically more/less than others) it would be a hassle to the developer and/or the user to display the force being acted on the cell phone in standardized units. However, since force and acceleration are directly related, we can use this for applications where position is not necessary, such as sensing if the phone has been dropped or shaken.

Another use of the accelerometer is (as you probably might guess) determine which way gravity (a force) is acting on the device. Since the accelerometer gives 3-axis data, we can determine which way the device is oriented and set the layout accordingly (this is now done on all modern day cell phones) It is very easy to find the orientation based upon the data from the accelerometer. Since the data is given in G's the device's orientation can be found by the axis with a value of ±1

Friday, April 13, 2012

Had Some Time for a Post

Hello Friday. So we meet again.

After a hectic week of random events and mundane life, I am still typing away seeking a way to solve this dilemma I have. Like the past few posts I've written, it's almost there but there is just this one little issue that I have not found a solution for. Stay tuned.

Aside from that, life has been okay. One interesting thing that I found recently were these blue trees. (I don't think they are actually blue. It appears that they are painted blue to catch people's attention. Either way, they are a sight to see.)

If you look towards the bottom of the tree, you can see that the tree's natural color is not blue.

The seeds on the trees are also not blue :(

Saturday, March 31, 2012

It's moving forward

After a few minor setbacks with what I'm doing, I think I have devised a solution that will work with what I have to deal with. It was in front of me the whole time but I never realized that it would be possible not to look at the bigger picture. Anyways, I will tell you what I'm doing as of right now once I've gotten it done and (almost) ready to be released.

I'm also thinking of writing an ebook about an unemployed man who goes to work as a data analyst in Hell. Since he has a desk job and does not have to "work in the field", his workplace is air conditioned. He also discovers that Hell uses 100% renewable energy. The pay is in blood and there are two main commodity exchanges: blood vs USD and blood vs printer ink (guess which one is more valuable). Oh, and did I mention that it's a democracy? Anybody can run for Satancy, and everyone gets a vote.

Wednesday, March 28, 2012

It turns out that I did go insane on Monday

Note: If you don't understand the title, read this post first. If you don't feel like reading old posts, you're forgiven.

Due to far too many events that were completely out of my control (I was desperately trying to save another project that some other people had completely dropped the ball on, it was a nightmare), my schedule was back-to-back and I had no time to work on the algorithm for the next app. I've figured out how to implement the filters and amounts of data that I will need to pull this strange calculation off. I am going to have to examine the most memory efficient for implementing it but I've got the design of it pretty much ready to go.

I will (likely) have it done by Friday at the earliest. As long as there are no more interruptions, I will get this thing released as soon as next month. Stay tuned.

Only two more days to Friday.

Friday, March 23, 2012

Update to previous post

Turns out that I might not have to take several weeks trying to get what I'm working on to work. I should have everything ready to go by Monday. Of course, something else could go wrong and delay my little project by another month. I'm not worried though. I'll find some more people to help me on this odd quest if it's needed.

In other news, have a good weekend!

PS: If I don't post on Monday, it's probably because I went insane from trying to solve a several century old problem. (yeah, what I'm doing right now is not easy)

Thursday, March 22, 2012


As I'm writing this, it's about 5:00 PM and I just feel tired. It's been a long day of work, confusion, and jokes. While my day is not done yet (it won't be for another seven hours) I decided to stop working and type a blog post.

I'm currently working on an app that will cause a huge disruption to the way many people live their lives. It's going to be a post PC era (sadly, considering how much I like using traditional desktop PCs) and I'm trying to fill in a necessary need as we make this transition. Part of what I am working on might be hosted on the cloud (such as Amazon AWS or Microsoft Azure).

Technologies aside, I've run into a few challenges working on the complete prototype. Some of the data that I'm still processing through is rather noisy screwed up. It's going to take a while before I can get some reasonably usable data from what I started out with. This really is a minor annoyance, since I can always consult others working through this is a dead end.

What exactly am I working on? I can't show you. It's going to be a while before I can tell you. Sorry

Wednesday, March 14, 2012

Mobile Apps

 Maybe I've mention this before, maybe I have not, but I am publishing mobile apps now! Currently, they don't make much money but I hope that will change in the future. There is not much to say about apps these days. People seem to want an app for everything now. The PC is (sadly) disappearing into the past.

I find apps to be a bit easier for an individual to produce and actually sell on his own. Typically, software takes a very long time with great risks. With the traditional development, it would take far too much time and is often out of date by the time it hits market.

I think that this is the future. To say that people will have towers on their desks will be quite unlikely in the future.

Friday, March 2, 2012

I completly forgot about this!

Nearly a year ago, I wrote (along with a few others) this short script on a WOW camp. (Yes, that's WOW, not POW) I remember reading a news article on it. I can't find that exact news article anymore but I did find the document on Google Docs (fun for collaborative work) I thought it was pretty funny so that's why I'm sharing it with you.

Scene: WOW camp, two prisoners on WOW and two prison guards, they bring in Bernie Madoff...

Guard 1: Bring in the prisoner!

Guard 2: Here he is!

Guard 1: Isn’t this Bernie Madoff?

Madoff: I’m innocent! I didn’t steal any money!

Guard 2: Bullshit

Guard 1: That’s okay; just play world of warcraft for us

Madoff: Wait… What!?!?!?!?

Saturday, February 25, 2012

Well, we're back to the start

Several years ago, I moved this blog to At that time, I had nothing on Heck, all that was there was the 'parked' page that my web host placed there. My life was rather lackluster; it was so much worse off than it is now.

Sorry all, everybody's going to have to type a bit more to access their most favorite site in the world (No? You've been forgiven...) I guess it works better this way, given how this URL actually reflects the name of the blog. Don't worry though, any links that may still be out there on the web will not go unbroken, I made sure that all requests to are still coming to here.

To sum up, welcome back to

Saturday, January 21, 2012

Dressing up is a crime against humanity

I'm somewhat joking here, although it is a true fact that I don't like dressing up. (I'm a computer programmer. What did you expect?)

Dressing up for formal occasions goes back about as far as since the invention of clothing. Since then, people have worn clothes considered 'formal' by society. This was often done for respect and also for people to trust this person. (Calling all con-men) People often feel confident and well prepared if they are in formal dress.

Consequently, the needs of society in 2012 are far much more different than those back in the Stone Age. There's the invention of the Internet which has replaced actual human contact with something much, much better (huh, I really am anti-social). there is no purpose for society to approve of anyone anymore. All people really care about is having a good time.

Voluntarily choking yourself with a piece of cloth (I've always wondered about this invention) in an intricate way (hey, it's tough to tie a tie) has no use at all! Furthermore, we as a society need to realize that the best form of clothes are the ones that are casual and comfortable. People don't need to show respect to other people.

None of these people look like they want to be here.
 Perhaps they would feel better if they didn't have to dress up
Dressing up shows a sense of submission to the "Man". Take a look at the late Mr. Kim Jong Il. Unlike all of the people who work for him, Mr. Kim does not have to dress up. He is probably one of the most influential political leaders of his time. Kim has nobody to submit to. He is his own boss. That guy doesn't even care about the most powerful country on the Earth. Surely, you would think that if the former president of the United States showed up at his front door step he would throw on some nicer clothes. Then again, he doesn't need to, unlike all of the other people who have strips of cloth wrapped around their necks.

In short, don't dress up. Why give in? Life is short. I work in IT and I know that wearing a Tshirt and jeans is a pretty good way to live (I also like my computer, but that's another story).

Thursday, January 5, 2012

And work continues...

I'm going on a brief hiatus on app development for a while. There probably will be more posts here. Life has been pretty busy.

There probably will be some opinions of mine posted on this blog. If there's something on the news I might comment on it and (possibly) talk about my views. No matter what I write, I won't actually have an opinion on the problem. Also, the evidence I use probably won't be true either.

Since I'm typing this on my phone and blogger does not support landscape, I'm going to end this post now.

Yep, the holidays are over

Sunday, January 1, 2012

New Years isn't the same without Air Farce

Every New Year's Eve, I spend the night watching Air Farce Live New Year's eve. Since they stopped producing the show, the cast gets together each year at new year's and makes a special. I just finished watching it* and I have to say that I'm very sorry that the show ended a few years back.

Times have changed when I first started watching the show. People seem to be quite obsessed with Justin Bieber now (the show portrays him with a female). I looked at the US Copyright site and searched 'Bieber'. Amazingly enough, I discovered that 'Beiber Fever' is trademarked! People have gone far too overboard with celebrities. Just a year ago, I had no idea who this stupid idiot is and now he's like the most popular teenager of all time. Crazy how that works.

Anyway, life is doing good. I'm trying to tie up all of loose ends I left before Wednesday. I've finished some of it and there's still quite a bit more to go... (Un)Fortunately, most of it involves drawing or filling stuff out. I'm not really good at drawing; I much prefer typing up code or sitting on a warm sandy beach drinking a mango smoothie.

On another note, I'm trying to get my new business up and running. It's going to be a great year!

*Did anyone notice that the post date for this is new year's day and not new year's eve? Well, those hockey-obsessed Canadians decided that it hockey was more important.

Happy New Year

Welcome 2012! I have so many goals and plans for this year. There's so much going on and I don't know how I'm going to get everything done...

But no matter what happens, 2012 is a new year. All that's left of 2011 is some old memories, for good and for bad, it doesn't matter. The future  is always bright. You can never predict the future (otherwise, I would be working in Wall Street) so there are always going to be new surprises.

I'm going to start porting Ellipsis to Android. (Depending on time, I'll get this done anywhere between the end of January to the beginning of July) It should be pretty easy since I'm using Cocos2d instead of directly writing out the graphics rendering code. The nicest thing about Android is that it uses Java, which has Garbage Collection. This means that I don't have to worry about Segmentation Faults and Memory Leaks commonly found with C-based languages such as Objective-C and C++.

I will also port a few other apps to Android as well. This is going to be an interesting year no doubt.

Besides selling apps directly to the App Store, I will most likely be working with other people on their apps for internal or App Store sales. I can't wait !!!!!!!!!@