All Things Techie With Huge, Unstructured, Intuitive Leaps

The Myth of Apple and Great Design


Common wisdom says that Apple products are great designs.  Not only can that statement be construed as a myth, it could also be a lie.

Don't get me wrong -- Apple products have great aesthetics, but that isn't enough.  This was proven to me when my iPod Nano, 6th Generation failed.

Quite simply, the power button doesn't work.  What happened, is that the membrane switch didn't quite reach the aluminum switch, so there is a shim on the membrane switch, about the thickness of a piece of scotch tape.  The shim is the size of a pepper grain.  It is glued in place.  The glue fails, the shim falls off, and the on/off button doesn't work any longer.  Piece of Crap design for reliability.

But its not over yet.  To fix it, you get a heat gun, and you apply heat to the screen.  You then pry it off with a guitar pick.  Can you imagine -- the screen is only glued on.  It gets worse.  There is an aluminum shield underneath, and it is held on by screws.  The battery is also held in a piece of metal with screws.  The screws are different sizes.  When you finally get to the membrane switch mechanism, it is held in with tape.  Crap mechanical design.

Here's the worst part - Apple charges you $149 to fix this.  They go in, find the little black shim and glue it on again.

This design is the equivalent of wrapping feces in Christmas gift wrap.  It looks good, but once you open it, the design stinks to high heaven.

Tomnod

I am a member of Tomnod.com.  It is a satellite imaging website that uses crowdsourcing to search miles and miles of ocean imagery or earth imagery.  The public has help in the tsunami efforts as well as the search for Malaysian Airlines Flight MH370.  I pored over miles and miles of ocean imagery myself, trying to find debris.  It is a unique concept and I would urge you to join.  Here is an email that I just got from them:




THANK YOU!


We had an incredible response to our search for Malaysia Airlines flight MH370. Over eight million of you joined Tomnod’s campaign and tagged 15 million satellite image clues. We are humbled and thrilled by the immense help that each of you contributed.

Search teams investigated all of the promising leads we discovered but the plane has still not been found. We mourn with the families and friends of everyone on board MH370. However Tomnod’s mission to crowdsource the world continues -- and we hope you’ll continue to join us!



Please consider joining them. Thanks.

The T.co domain -- Twitter


So I was idly looking through the analytics and traffic stats of my blog, and I see t.co as a visiting domain.  Curious, I check it out by typing it in the URL address box.  Turns out that it is the domain shortener for twitter.  Above is the message that pops up.  To learn more about this, type in t.co into your browser and click on the Learn More button.

Android Media Player Snippet


I recently tested a bit of code with an Android media player .  The Java code is quite simple.  Toss a media player in layout.xml, import an mp4 video into the raw folder,  and then put the following code in your onCreate() method in the activity:

MediaController mediaController= new MediaController(this);
   mediaController.setAnchorView(contentView);        
   Uri uri=Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.video_name);        
   ((VideoView) contentView).setMediaController(mediaController);
   ((VideoView) contentView).setVideoURI(uri);        
   contentView.requestFocus();

   ((VideoView) contentView).start();

Hope this helps someone.

Joomla Review


I am a regular visitor to a site built with Joomla.  As the site grows, it is one of the most frustrating sites to visit.  The content consists of photos and entries, and it is s.........l.............o..........w, sssssssssslllllllllllloooooooooowww, how slow can you go to load.

Not only that, but every once in awhile you get a very long wait, and then a message saying that it cannot connect to the database.  If you wait awhile, reload and then wait some more, it eventually works.

I was consulting about 5 years ago when Joomla first broke out, and one of my colleagues was singing its praises to its simplicity for creating content management.  I wasn't about to put something brand new into an enterprise system and I am glad that I didn't.  It may be good for amateur and small jobs, but Joomla gets two thumbs down from me when it comes to doing heavy lifting -- or even moderate lifting.

Software Invention That The World Needs

OK all you code monkeys, here is something that is needed -- a software invention -- Annotable Text on a Directory Folder.  Calling Microsoft and Mac and Linux GUI coders.  When I examine a folder on my computer, tablet, etc, I want the capability of annotating the folder.  I want to mark it as read, or vetted or junk or whatever.  I want the capability of adding a note to the folder without changing the name of it, and the note travels with the folder.

This is something that could make your name as a coder.  I am too busy to do this, but someone needs to do it.

Idly wondering about Heartbleed bug ...



Just sitting here idly wondering if the Heartbleed bug was the NSA back door to OpenSSL encryption.

It makes a lot of sense.

Revising My MH370 Predictions - It's the Pilot


All of my previous inferences on what happened to Malaysian Airlines Flight MH370 have been incredibly accurate.

However, I wish to revise one of them.  I previously made a published inference that the co-pilot was responsible for the loss of the flight.  I made that inference on the basis that he was the last one to speak to Malaysian air traffic control.

Now that the Malaysian authorities have change their story, and are saying that the pilot and not the co-pilot was the actual voice in the last transmission, I am amending my inference to say that it was the pilot who caused the loss of Flight MH370.

It makes sense.  Just a day before the flight, the pilot went to the trial of a political opponent of the Malaysian Prime Minister.  He was upset at the trumped up charges of the opposition leader.

My inference was based on the last voice from the cockpit, and since it was the pilot, it had to be him responsible.  The left turn for the plane had already been programmed into the flight computer before the final transmission.

Once again, time will tell.  It looks like the plane may be found.  We shall see.

Android Source Code - Turn Off Media Player When You Click Back Button


Android persists activities even when you don't want them unless you explicitly kill them.  Sometimes the media player persists even if you kill the first activity of the app.  If you have an activity that kicks a media player, and you want to turn that media player off from other activities, including hitting the back button, you must do the following:

1) Make the media player into a static class.  The following code should do it:

package com.me.coderzen;

import android.content.Context;
import android.media.MediaPlayer;

public class StaticPlayer {
public static MediaPlayer player;
    public static void SoundPlayer(Context ctx,int raw_id){
            player = MediaPlayer.create(ctx, raw_id);
            player.setLooping(false); 
            player.setVolume(100, 100);
        }

}

On you media player activity you kick the player:

StaticPlayer.SoundPlayer(this, R.raw.sound_file);

Then to kill it from the back button, you override the back button function:

  @Override
   public boolean onKeyDown(int keyCode, KeyEvent event) {
       if (keyCode == KeyEvent.KEYCODE_BACK ) {
      if (StaticPlayer.player != null)
      StaticPlayer.player.stop();
           this.finish();
           
       }
       return super.onKeyDown(keyCode, event);
   }

I know that there is a newer, easier back button override, but this one works in my code.

And if you have a quit button in your menu, just put the stop in for the StaticPlayer before you call the this.finish().

Hope this helps someone.

The Software Oracle Strikes Again - Malaysian Airlines Flight MH370

Yesterday CNN had this screaming headline:

Click on picture for larger image

On March 18, I included the map below, and I specifically stated that Flight MH370 flew around the island of Sumatra in Indonesia to foil attempts at radar detection and would be found roughly 2,000 kilometers or 1,600 miles off Perth Australia.  This was when the world was searching in the Malacca Straits and speculating that the flight could be in Kazakhstan.

On April 2, the Malaysian authorities came to the same conclusion, that the plane was flown around Indonesia to avoid radar.


I stated that it was a deliberate act.  The Malaysian authorities are saying criminal which is deliberate.

My inferences and predictions have been bang on.  If they find the plane, and if they find the bodies of the crew, one of the crew members (either the pilot or the co-pilot) will be found murdered and the other flew the plane.

I should start another predictions blog.  Come to think of it, I did predict that the Seahawks would win the Super Bowl.  



Android SDK - R Class Missing



I noticed that my R.java was missing in an Android Project.  Numerous cleans failed to regenerate it.  I didn't notice that I had an error in my layout.xml.

R Class will regenerate automatically if you clean up all the errors in the .xml files.

Hope this helps someone.

Yahoo Mail Broke Again

(click for larger image)

They should just give up.  Take a look at what popped up this morning when I tried to log in (see pic above).  Marissa Mayer has been a failure.  Yahoo Mail has been a failure.  It would be better if they just closed up shop.  Crap software.  Seriously contemplating taking the hit, and changing all of my Yahoo accounts to something more stable like GMail.

The Future of Obituaries -- A QR Code -- Digital Obituaries


I have seen the future of obituaries and it is the QR code.  Why has a simple pic of your stopped-breathing loved one, or even a video when you can have a whole website about the denizen who has dearly departed his mortal coil.

There is one thing missing on this though -- the advertising.  I am going to sell advertising on my digital obituary to make some money for the after life.

Java Update Virus Injection

This is a new virus injection from a hacked site.  I was at a respectable site when all of a sudden, a notice popped up saying that I had to update my java.  I was on a static site and it looked suspicious.  Without clicking on the update link, it never came from Oracle/Java but rather from a domain called Upkendint, which I traced to Panama.


Domain Name: UPKENDINT.COM
Registry Domain ID: 1852189971_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.enom.com
Registrar URL: www.enom.com
Updated Date: 2014-03-27 02:02:05Z
Creation Date: 2014-03-27 09:02:00Z
Registrar Registration Expiration Date: 2015-03-27 09:02:00Z
Registrar: ENOM, INC.
Registrar IANA ID: 48
Registrar Abuse Contact Email: abuse@enom.com
Registrar Abuse Contact Phone: +1.4252744500
Reseller: NAMECHEAP.COM
Domain Status: clientTransferProhibited
Registry Registrant ID:
Registrant Name: WHOISGUARD PROTECTED
Registrant Organization: WHOISGUARD, INC.
Registrant Street: P.O. BOX 0823-03411
Registrant City: PANAMA
Registrant State/Province: PANAMA
Registrant Postal Code: 00000
Registrant Country: PA
Registrant Phone: +507.8365503
Registrant Phone Ext:
Registrant Fax: +51.17057182
Registrant Fax Ext:
Registrant Email: A9DB4936860A4CAD9573A6830797575F.PROTECT@WHOISGUARD.COM
Registry Admin ID:
Admin Name: WHOISGUARD PROTECTED
Admin Organization: WHOISGUARD, INC.
Admin Street: P.O. BOX 0823-03411
Admin City: PANAMA
Admin State/Province: PANAMA
Admin Postal Code: 00000
Admin Country: PA
Admin Phone: +507.8365503
Admin Phone Ext:
Admin Fax: +51.17057182
Admin Fax Ext:
Admin Email: A9DB4936860A4CAD9573A6830797575F.PROTECT@WHOISGUARD.COM
Registry Tech ID:
Tech Name: WHOISGUARD PROTECTED
Tech Organization: WHOISGUARD, INC.
Tech Street: P.O. BOX 0823-03411
Tech City: PANAMA
Tech State/Province: PANAMA
Tech Postal Code: 00000
Tech Country: PA

You really have to be careful these days and verify that what you clicking was actually sent by the entity that they say they are.

Caution.

Mysql infile and outfile, moving data

Well, I had to use these commands again, so I thought that I would refresh yours and my memory.  I had to take messages from one database and transfer them to another.  The easiest way is to dump the necessary rows into a csv file and read them back in to the other database.

Here are the commands:

To copy the data to a file:

SELECT senderId, 
   senderName,
   messageBody,
   showOrNot,
   meId, 
   req,
   whens,
   co  
  INTO OUTFILE '/tmp/msg.csv'
  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
  LINES TERMINATED BY '\n'
  FROM messagetable
  LIMIT 100;

To read it back in using mysql command line:

LOAD DATA LOCAL INFILE 'msg.csv' INTO TABLE messagetable
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n';

Hope this helps someone.