Posts by Tom:

    How to find your resources and how to generally find the directory layout

    August 14th, 2011

    To find the main download directory for when you are receiving files, put this snippet of code in a test project or your main project at the point of opening:

     NSArray *pathsForDownloadedFiles = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
     NSString *pathMain = [pathsForDownloadedFiles objectAtIndex:0];
     NSLog(@"main download directory is [%s]", [pathMain UTF8String]);

    The first line lets you allow Apple to put the application download directory anywhere it likes. It will also be able to change it at will, without breaking your program.
    The second line means that there is only one directory you need to access and its the first one. Remember in C arrays are zero based which means the first element of the array is at index number zero not at index number one.
    NSLog will let you run the app in the simulator OR on your device and send logging information back to the debug console in XCode. Nice and integrated.

    An alternative method:

     NSString *mainPath = [self getDataPath];

    Uhhhhh yeah a bit shorter. Its not deprecated from what I see so one can use this method also.

    Finally lets see where our resource is. Again, if you use this method, then XCode will be able to re-layout the resource directory structure anyway it wants without breaking your program. You KNOW they’re going to do this someday and they won’t tell you until its been done. So lets Program Defensively. Just like you drive defensively.
    To find a specific resource that was compiled into your application:

     NSString *resourcePath = [[NSBundle mainBundle] pathForResource:@"mission1" ofType:@"jmf"];
     NSLog(@"Path for mission file is [%s]", [resourcePath UTF8String]);

    The AT (@) sign is the NSString constructor without declaring an NSString. In case you’re wondering.

    Good Luck and God’s Speed to ya mates.

    No Comments "

    XCode FAIL Cannot Browse an SMB Windows Share

    April 29th, 2011

    XCode cannot browse an SMB Windows Share. This has worked in the previous versions of XCode. Current version is 4.02 (4A2002a). Apple Test Engineers you suck. Ummm Yeah I know you hate Windows, but the JOB you took on is to help your customers, i.e. Us lowly programmer serfs. OK???
    DUH yeah don’t test that.
    The share is active, Finder had it open already.
    I opened XCode after Finder had it open. I closed all the Finder windows.
    Just a plain old bug.

    No Comments "

    Droid will not assimilate you. Long live iOS.

    January 17th, 2011

    TechCrunch is reporting that if you’re on iOS there is a 90% chance you have the latest OS version, but get this, if you are using droid, there is only four tenths of one percent chance (yes that’s correct) that you have the latest version of the Android Operating System.

    We have talked about Droid fragmentation and holy smokes this underscores the mess that is called Droid. Read the rest of this entry “

    No Comments "

    Steve Jobs, best of health. Tim Cook its time to man-up.

    January 17th, 2011

    As you all know Steve Jobs has taken a medical leave. While we know he will stay informed of the new features and products at Apple, he needs to concentrate his energy on his health and his family. The only way for him to do that with a clear head is for Tim Cook to step up and control all aspects of Apple in a way that Steve can accept that its being taken care of as if Steve himself were doing it.

    If Steve steps down in a more permanent manner, Tim can take the company in whatever direction he and the board feel it should go. But until then, everyone needs to pull in the same direction that they know Steve would go. Steve is important just because he is Steve, and not because he runs Apple and is the genius behind all of these industries he has dominated. The money, the Apple stock price, the products be damned. They don’t mean anything.

    Our best to you Steve, and we wish strength and wisdom to Tim.

    No Comments "

    Amazon App Store for Droid – developers lose control

    January 16th, 2011

    Amazon is attempting to create a new pricing model and it sucks.

    Currently a manufacturer would set a “list price”. The seller (like Walmart) knew what they bought it for from the manufacturer, typically 35% – 55% discount from the list price. The seller would then set, what they would call, a fair price. Read the rest of this entry “

    1 Comment "

    Dave Ramsey had a guy on that made a full time living from You Tube

    January 16th, 2011

    Dave Ramsey is a financial guy with a radio show. He’s hard hitting, and very logical in the financial plan that he wants you to invoke. Mainly its get out of short term debt so you can make financial and life decisions from a position of strength.

    Anyway, this guy calls up last week (Jan 10-14, but I can’t find the audio clip), and it sounds like he was making more than enough money for a full time job from You Tube videos. The gist of it was that You Tube (i.e. Google) revenue shares when your video goes viral. They monitor this and are proactive by sending you an email when it hits one of their thresholds. Then they put ads on your video and share the revenue with you. Cool.

    Here are a couple of links about how to get started:
    You Tube
    Frank Furness
    Making Hot Ice – Look at the number of views. People want to know how to do things.


    No Comments "

    eBook Lending – my rant

    January 16th, 2011

    The reason I buy dead trees is because I cannot loan eBooks out. Amazon has begun a baby step in the right direction (with the publishers dragged kicking and screaming) but the standard, sub-standard explanation can be found here. (That’s a reference to the original Tron movie which was great and glorious)

    The question is: Once the loaned book is placed back in my library, can I loan it out again? That point is unclear Read the rest of this entry “


    Standard Deviation Explained

    January 16th, 2011

    This is the best explanation I’ve seen so far.
    Kudos to Amar Sagoo

    No Comments "

    Popping up the keyboard on the iPlatform

    August 28th, 2010

    If you want the virtual keyboard to popup when you display a text field in a view do the following:

    In your viewDidLoad or if you call any method to do “things” before displaying then the variable that points to the text field should have the becomeFirstResponder message sent to it.
    In the .h of your viewcontroller or class
    UITextField *tfJoroto;

    In the .m of your viewcontroller or class
    -(void)viewDidLoad {
    [tfJoroto becomeFirstResponder];
    } // viewDidLoad

    This should also set the focus to the UITextField.

    Good hunting.

    No Comments "

    iPad Universal App

    August 14th, 2010

    This is for the uninitiated and for posterity.
    Running XCode 3.2.3.
    Please NOTE: I had forgotten this. If you update the OS of your iPlatform device (pod/phone/pad) then you MUST update the XCode SDK. Now this makes sense in a way, however last night’s (8/13/10) update of the device was NOT matched by and Upgrade notification of the XCode SDK platform. I had to go a lookin. Bottom line is, unless you NEED something from that update, don’t do it in the middle of a project. It waste Humungo time. That means ALOT for you marketing weasels.

    1) Create a View Based app
    2) Name it of course.
    3) Drop down the targets folder in the project explorer. Read the rest of this entry “


    iPad – The Conqueror

    April 24th, 2010

    I went to Best Buy and they had the requisite four iPads to touch and feel and play with. Lots of kids/teens/college age. They were all over everything, the macbooks, iPads, everything that was there. It was “an event” for them. The fun they were having, the giggling, “makes” the sale as much as the device. It was like watching one the “cool, hip” commercials. Read the rest of this entry “


    Flash on the iPlatform

    April 17th, 2010

    Yeah yeah yeah, yet another “why Flash isn’t on the iPlatform” article points out some of the spurious points. The author points out “The facts remain, however, that the iPad will run HTML5 video inline today (and iPhone OS 4 this summer) without even getting warm to the touch while our laptops and multicore desktops turn into noisy miniature blast furnaces Read the rest of this entry “

    No Comments "

    Gruber is not completely correct about Apple’s policy change

    April 11th, 2010

    This post was sent to me about Gruber’s analysis of the new Apple policy (3.3.1) that stated that developers were not allowed to use third party development tools that could target multiple mobile phone platforms. We were looking into these currently and I have to say I’m quite miffed. Read the rest of this entry “


    I quit

    April 2nd, 2010

    I just read an interesting article about it being ok for go-getters and talented individuals to quit. Hmmmm. “Its ok Dave, continue”. . . “Ok I quit. Its not you its me”.
    I’ve had these discussions with more people than I can count. I HATE mediocres. I won’t work with them. At least I “don’t want to” work with them. Sometimes one MUST work with them. I’m not talking about inexperienced people. I’m talking about people who come to work to pick up a check (anyone in this company know whom I am talking about?). Those people need to be fired. They are a drag on the high-fliers.
    You know what you do for the high fliers? Everything. That’s right. You remove EVERY excuse they have for not working as efficiently as they can. And when you do that you tell them to prove it. Prove they are better than 10 mediocre programmers/workers. If you’ve never worked with this type of person, you’ll be amazed because they will absolutely, hands down, prove that they are worth 10 mediocres.
    I liked the above article. It is one of those always relevant pieces of expository that is timeless and succinct.
    So, everyone, fire ONE mediocre person in your organization and let’s get on the path to productivity again. You know who I’m talking about. That person who goes to compile a program that takes 5 minutes to compile, and sits there and waits for it to compile. Doesn’t timeslice to anything else, like documentation, regressions, pick his nose, ANYTHING. That person needs to be fired now. The rest of the employees need to be TOLD why that person was fired. Once the scapegoat is gone, productivity improves. If not start the beatings.

    Mwhahahahhahaaaaaaaaa I LOVE world domination.

    The Dead Sea Effect article is funny because its true. Read that also. Most of us live that article every day. This guy is a good observer. Here’s another observation for you to read. Bruce posted this link to the slashdot thread.

    1 Comment "

    Appfuse – width of web page

    February 15th, 2010

    Ok this took a ton of time to figure out.
    Problem: I don’t like 800×600 pages. I have widescreen LCDs and many other people do too. I will check the stats which is a developer type site, and here which is more general and based on 32,000+ sites.

    Edit the files:
    ./tree/src/main/webapp/styles/simplicity/layout-1col.css and change line 8 to 924 (1024 – 100 which is what it was set to initially). This will set the login.jsp menu to this width. Read the rest of this entry “

    No Comments "

    Appfuse – Test failure

    February 14th, 2010

    Sometimes the tests will fail because you have generated your classes in an order that does not support the tests.
    For example, I have a Base class that is included as an attribute of another class. However, I had made a change in the base class and regenerated the code. This causes the file in ./tree/src/test/resources/sample-data.xml to generate the data in the wrong order. So what happens is that there are zero base class records in the table when the other class runs its test. This second class is, due to me regenerating the base class, now first in the sample data and first to be tested.

    The fix:
    To fix this, just move the data around in the sample-data.xml file. Poof no more Constraint problem.

    Example pseduocode: Read the rest of this entry “

    No Comments "

    Appfuse – Extending your classes

    February 14th, 2010

    I had extended my Event class to include references to other objects. I also created @OneToOne annotations of them.
    All of a sudden the tests wouldn’t run.
    Well the problem lay in the sample data that is loaded into the table during the tests. I was referencing the appfuse User class. During the autogeneration of my Event class, it autogenerates three records into ./tree/src/test/resources/sample-data.xml . However, the original Appfuse where you did the quickstart from the main site, only outputs two User records.
    So I added a third User record and everything fell into place and started working again.

    Peace out.

    No Comments "

    Appfuse – the next step

    February 14th, 2010

    Appfuse – personalizing the app

    Which files to edit in order to personalize the existing app for my company.

    App name is: tree
    Company is:
    Source is in: Read the rest of this entry “

    No Comments "

    Appfuse – quick start guide for newbies.

    February 13th, 2010


    Add classes to initial project creation



    You have done the QuickStart to see if you can get everything to work. This article assumes you DID indeed get the initial project working. You’re excited and want to “add something” to that project and begin working on your own. You need to read through this with a clear head because there is a gotcha once you get past adding ONE java class file. Not sure why but there is a fix.

    Ok here’s the scoop.

    Use the videos for the tutorial. They’re up to date. The other tutorials never worked for me.

    Read the rest of this entry “

    No Comments "

    Management 901 – Why you want to become a manager

    January 29th, 2010

    I’ve come to some realizations while watching some, ummm managers at another company. Yes that’s it.
    One ponders the question “Why do you want to be a manager”.
    1) I’m stupid so I can be a great manager and lead the company to nowhere.
    2) I know how to spend money at home, what’s the difference?
    3) I can budget money, Read the rest of this entry “

    1 Comment "

    iPad – uh yeah great name

    January 29th, 2010

    Open letter to Mr. Steven Jobs:

    This isn’t a pile on session, I’ve seen the ignorant bashing you incessantly.   I’m too tired). I’m not here to do the same.  Well of course I am. Its fun, its the NEW new thing to bash Apple for not providing everyone their own personal spaceship to Mars (see previous blog post).
    iPad: This name, sucks. Read the rest of this entry “

    No Comments "

    Mars needs women

    January 29th, 2010

    Yeah another startup with no babes. Great. We’re geeks and we must be gay.
    Can someone please recruit some hot intelligent women please?
    Eye candy while we wile away our lives working for DA MAN.
    30 hour programming sessions are too long.
    Why is our blog “from the guys”? Cause there aren’t any chicks here. Isn’t that against the law?
    Help me . . . . Spock.


    NO JOY. An OS 3.0 upgrade story

    September 5th, 2009

    Went to the iTunes store to upgrade one of my iPods to the OS 3.0 SDK to see if we can monetize the crap out of it. Hey, I’ve BEEN BUSY, so shutup.
    Anyway, No joy. An UNKNOWN ERROR occurred on my transaction.
    I will report back on this when I solve Apple’s problem (again).
    Update and FIX:
    The error was “An Unknown Error Occurred (1004)”. Read the rest of this entry “



    September 5th, 2009

    Face (our undead President) close your eyes and skip this rant.
    Ok folks, spent the whole $25 in cheeseballs on the OS X upgrade.
    Those *beep* *beep* *BEEPITY* *beeps* (edited by Face) at Apple have completly wiped my XCode links to the SDKs. NOTHING BUILDS NOW!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    HOLY **** Batman!
    I’ll update here about this crap. GREAT! Like we need MORE WORK. Of course WE’LL be blamed for this. Those BEEEEEEeeeeeeeeeeeeeeeeeeeeep (edited by Face).
    Ok my fault, when I upgraded, I should have put XCode 3.2 into A NEW PLACE!!! otherwise it “upgrades” your existing install (assuming you used the defaults) by erasing all your SDKs! How intuitive. Yeah if I RTFM. Ok so the way out is to download the OS 3.0 SDK which “doesn’t have all the 2.x SDKs”. Hmmm Let’s see nope. No more ranting. By this time you want answers.
    I’m doing that right now and its taking 20 minutes for 404MB.
    The original solution is to install the new 3.2 Xcode into A NEW PLACE and DO NOT UPGRADE the existing installation. Well they at least got that part correct.

    No Comments "

    The Matrix for the rest of us – Virtualization for the masses

    August 7th, 2009

    Ok I got one of those stinkin locked down Corporate PCs. Yep one of dem.
    I wanted to put CentOS and my other Linux PC’s image (The one I used until the Corporate Execs caught me. Jack booted thugs).
    Anyway I thought (stupidly of course) let’s give Microsoft’s Virtual PC a try. Nope. Choked and then spit it out. Not what a geek wants from his trusted minion.
    Next up let’s try Sun Microsystems’ Virtual Box. Ahhhh bliss. A free solution to the “You’ll run what WE want whether you like it or not you cubitized pond scum”. LOL I now run Linux “underneath” the corporate package. Network is connected, I’m even sending to the corporate printers. Way cool. I thumb my nose at those dweebs.
    Props for VMWare. I use it at home and it is truly seamless. I don’t run it on the corp PCs so that the suits won’t have even more cause to, umm, flush me. You can see by an other post that they work us hard. Some of us need not work as hard because we’re 10 times more productive than the other 100 mediocre programmers. So we skate and the manager’s lick our boots and think we ARE gods! Mwhwhahahaahahahaaaaaa

    No Comments "

    udev is your friend

    July 23rd, 2009

    I was solving yet another problem with deployment where we replace a printer with one interface (a parallel port /dev/lp0) with the same printer with a different interface (a usb port /dev/usb/lp0). Read the rest of this entry “


    Create an iPhone app splash screen

    July 10th, 2009

    1-Create a .png file with Adobe Fireworks, Adobe Photoshop, Gimp, or any of the graphic programs out there.

    2-Name it Default.png.

    3-Add it to the Resources tab of your Xcode project.

    This will add this splash screen automatically to your program when it runs, and will place this graphic on the screen as your app loads into memory and runs.

    No Comments "

    Codesigning Kumite #92,232

    July 10th, 2009

    Real world example. I’m updating our Lite version of Trisaic to reintroduce to the app store.
    In Xcode but of course.
    Choose distribution.
    Select trisaiclite under the “targets” Read the rest of this entry “

    No Comments "

    Codesign error number 5,202,203,023. Frustrated but undaunted.

    July 10th, 2009

    The AppID in the Dev Central is setup with a specific application id code.
    My app had the product name ${PRODUCT_NAME} as aGauge.
    The capital ‘G’ was the problem. Do you see it? Yep neither did I, Read the rest of this entry “

    No Comments "

    Replacing graphics files in XCode

    July 10th, 2009

    I wanted to replace some graphics files under my resources in the Xcode environment. They are currently symlinks. I wanted them to be actual files in order to zip up and send to other developers. I thought an inexperienced user may appreciate this content.

    Select the graphics files with a click, Read the rest of this entry “

    No Comments "

    iPod/iPhone “No provisioned device” error in XCode

    June 14th, 2009

    In the Organizer in XCode you notice that your iPlatform device (iPod/iPhone) is not recognized as a provisioned device. The little “light” is not green. However iTunes can sync with it and give it a great big kiss.
    Cause: I believe this is due to the iPlatform device being plugged in when the computer goes to sleep.
    1) Unplug the iPlatform device from the USB.
    2) Hold down the top power off and the circle App Exit button at the same time, then release at the same time.
    3) A slide switch appears saying “Power off”. Do so. This is a hard power down of the device.
    4) Now you can just plug the device back into the USB cable. XCode will see it and use it now. This has happened many times to me and this is the exact solution to that.