I’m John C Bland II

Husband, Father, Tech Author, Deacon.
Founder ofΒ Katapult Media, and full-stack polyglot developer.
Political Free Agents Podcast Host.

I create. I launch.

YouTube Channel

I post regular fun on YouTube like me playing the bass and anything else I find fun.Β 

Get Something Built

All project work goes through Katapult Media. Business is open. Let’s chat.

Flash CS5 export to iPhone: Solutions Convo

I’ve talked about this a few times but wanted to put it on “paper” to hopefully spark a convo.

Pretty much all of the interwebs have heard about Flash CS5 exporting iPhone apps. Just peep the Bing results to see how many folks have already commented. With over 245,000 search results, why make it 245,001? Well…I have some thoughts and I feel as a hardcode Flash dude it might be an interesting perspective.

Beyond just pointing out + and – points I want to offer suggestions. Everything, almost literally, I’ve seen has either been HOORAH or THIS SUCKS but not much between the fold and very little suggestions on how to convert some THIS SUCKS folks to the HOORAH side. Hopefully my perspective and suggestions will help do just that, if Adobe listens.
(more…)

Comcast Update

Two techs left about 30 minutes ago and my connection is still good. They went through a million changes though: changed connectors, ran new cable to main box (two houses down since one behind us has a bee hive), replaced outside splitter, replaced modem battery, replaced inside splitter, etc.

Through all of that I’m still nervous as all get out because they tried leaving 3 times and the connection dropped. I’m not at all convinced but time will tell. I still have to be here from 8 am to 8 pm on Friday (nice time slot Comcast!!) so they can bury the cable under ground. Until then we have a cable line running through our yard and two others. πŸ™

Comcast has me unhappy!!!! (off-topic; venting)

I’m not the one to blast service providers because things happen, even with Katapult and our customers, but today just took the wind from my sails. At this point I’m irritated beyond belief with their bad service.

Quick History

  • I wanted AT&T U-verse since Verizon Fios wasn’t available but neither was U-verse. πŸ™ The only service in our area is Comcast. They’re reputable and have long history so should be just fine, right? So I signed up.
  • Signed on July 3, 2009 (or something like that)
  • Service was scheduled to cut on July 10, 2009
  • My brother knows a tech so he got someone out for me on July 9, 2009 (last Thursday)

I was happy as ALL get out on Thursday. I mean…I had internet!! WOO HOO! Being in a new house with nothing but an AT&T 3G card (which is a whole other story) is not how I planned on starting my new life in Houston but hey…was only required until I was connected and on Thursday…I had my connection!

Friday morning I woke up, grabbed my laptop with slight glee in my heart, and commenced to read Gmail (a morning ritual for me) before I started my morning. Well…this was odd…I couldn’t connect. Hrmm…weird. I went through troubleshooting my laptop because I surely couldn’t have service problems less than 12 hours from initial connect…right? πŸ™ Sadly {insert sigh here} my connection was down. I called Comcast, they sent the signal, and we were off and running. I figured…”ehh…just a glitch in the matrix.”

Saturday morning I woke up, grabbed my laptop with slight fear in my heart, and commenced to read Gmail and again…no connection. This time I went straight to the modem. Down!! I had to drive from Houston to Sinton to grab my worldly possessions from storage so I said “Whatever!” and kept trucking through my day. Got back that night (after a trailer wreck, tow, and unloading of the trailer; eventually at 5 AM) and fooled with the modem a bit. No go.

Sunday morning I woke up and skipped even trying to connect. I went straight to the modem and tried the troubleshooting tasks I learned through the years (unplug, wait N seconds, power up, try again) and nothing worked. I called Comcast. They sent the signal, fooled with stuff, etc and it came back up. I complained big time about the inconvenience so they credited our account. We were good then…DOWN! I called back and they couldn’t restore service so I was down all day. Later that day I thought I’d try again. We got it back that night so I just knew we’d be good the next day. A tech couldn’t come out until Tuesday (which they scheduled on the first call) so I was sure I’d be good the next day since we were connected Sunday night.

Monday morning I woke up scared as heck! It was an actual work day and I was afraid I’d spend a day without internet again but this time it would hurt my productivity. Well…I did. I was without a connection all day. Then I remembered…”I have an online session scheduled for 8!” CRAP! I couldn’t do it on 3G without terrible lag, etc so I called Comcast. Service came up at 7:20’sh. Called into tech support since service went down at 7:40’sh. Service was up and good throughout the session (don’t ask how but it was) and didn’t go down until 10:30’sh. At this point I’m like “Whatever!” again since the tech was coming today. I let it go and went 3G for the night.

Today I woke up and within a few minutes the tech rang the doorbell. SWEET! He came in checked signals, connections, etc and determined my coax was the problem from the wall to the router. Changed the coax, restarted modem, and my connection was GOLDEN! πŸ˜€ {insert “Singing in the Rain” video clip here since, mentally, I was swinging from pillars}

I talked to the rep about my connection speed. I have only tested at a max of 11 megs down but was sold on a plan including 21 megs down. I WANT MY EXTRA 10 MEGS!! He said I’m only setup for the Performance plan not the Performance Plus and the fastest Comcast offers is 16 megs down. WHAT!??!?!?!? He says he can order the upgrade but it is best I do it. I told him that’s not what I was sold so I will call in and check on everything.

When I called in I got to tech support and let them know about my speed issues. While on the phone with Comcast, which was an hour later, my connection…{sigh}…died. πŸ™ So I had the rep put in an order for another tech to come out, which is scheduled for tomorrow, as well as expedite a tech to come out today. Supposedly the tech will address my speed issues but the most I’ll get is the 16 unless a faster speed is available in my area, which is unlikely or at least an easy excuse for them to say “16 is it buddy!” I’ll fight it though since we were sold on a 21 megs down plan that, apparently, doesn’t exist.

5 days + intermittent internetΒ  = one seriously frustrated customer who uses the web to live

I won’t say don’t get Comcast. Once they get me fixed up I’m sure all will flow well but my experience has been CRAP. It is unfortunate many people are having the same or similar problems. I would expect much more from a reputable company like Comcast. Their service should be much stronger than it is.

Adobe Flex Development Primer – Recording URL

https://experts.na3.acrobat.com/p35104921/

The session ended up covering Flash Builder 4 (briefly just to explain what we were looking at), mxml vs AS differences (ie – how to do the same thing either way), a brief on custom components, event architecture, data binding, and we started to go into custom events but decided to roll with a part 2. I will update the my schedule with a date/time for part 2. It’ll most likely be next Monday at the same bat time.

Take a look at it and let me know what you want to see in part 2.

Thanks to all who attended!

Join me for “Adobe Flex Development Primer” Session

My good buddy Guillermo (gman) asked me about some Flex info. He’s a solid PHP’er and said he wanted to get into Flex so I hit him back with some info on where to get started. I also, as I typically do, jumped on the opportunity to do a Connect session to help him ramp up. Last time I did this for a friend it was one on one. This time…I’m opening it up to the public.

Session Description
The Flex Dev Primer is a pure development session (don’t expect theory and graphics although you might get some) focused on helping non-flex developers ramp up to become comfortable with Flex in a short period of time. We will focus on Flex 3/Halo but will spend the last while discussing the shift in Flex 4/Spark.

This session will be recorded.

Connect URL
https://experts.na3.acrobat.com/flexdevprimer/

Session Details
Date: 7/13/2009
Time: 8-9 PM CST

I’ve updated my speaking calendar with the details. I will keep it updated regularly with any and all of my engagements as well as any changes to this session.

Co-authoring Flex 4 in Action

Flex 4 in Action

Flex 4 in Action

I’ve been hesitant to post anything about this ordeal (co-authoring Flex 4 in Action or Fx4iA for short) until things were solid but since things are flowing forward and the light is green…why not? There isn’t a ton of details to give at this point beyond what Tariq Ahmed (author) posted on FlexInAction.com. Manning, so far, is a great publisher to work for and I’m REALLY enjoying their style, support, and overall preparedness for their authors. They really have their stuff together.

For a while now I’ve, as I told Tariq in my initial email to him, “yearned” to write in a Flash Platform specific book. Tariq has a great plan together and it feels like I’m working with an all-star team. Project planning is an art perfected by Tariq and shown evident in this book process. He has the whole thing spec’d to the letter and planned with a full project plan including dates, etc. Along with planning he’s writing and running a team at Amcom Technologies…where does he find the time!!?!?? πŸ™‚

Dan Orlando and I met a bit ago on the interwebs and, little did i know, this dude is a Flash Platform PIMP! (shameless plug: get your pimp shirts here) What’s crazy is, when I resided in AZ, I lived probably ~10 minutes from him and didn’t know him. πŸ™ I’m excited to work with him in this capacity. Dan is writing all over the place in all sorts of magazines and online pub’s all the while holding down a consulting gig. Rock on!

Overall I’m thoroughly excited, if you can’t tell, and gracious for the opportunity. I’m going to do my best to put down some great writing to help each and every reader get from 0 to 60 in as short a time as possible! That is our goal as a whole and I’m taking it personally. πŸ˜‰

[in my best infomercial voice] BUT WAIT!

You don’t have to wait for the book to come out…”Buy now through MEAP (Manning Early Access Program) and get early access to the book, chapter by chapter, as soon as they become available.”

Support us in our venture. Let us know how we can make it better and we will!

Comment response delay, my bad

I changed mail servers a lil’ bit ago and I have yet to get WordPress sending emails properly again. Well…to be honest…I haven’t tried due to time.

I’ll keep an eye out for comments and try to get my email fixed soon.

Objective-C: What is .m?

This was a bit odd for me but I just got the answer I wanted.

When you create a class you create a .h (where applicable) and a .m. The .h is your interface. No sweat…seen these before. Hrmm…what does the “m” stand for though?

.m = implementation file

That makes sense. I mean I knew it was the @implementation code but I didn’t know what the “m” in the filename stood for.

Nothing mind-blowing…just blogging a note. πŸ˜‰

Objective-C: [[Class alloc] init] Alternative

Reading more in the book I found what makes more sense to me in terms of instantiating a class.

My previous post showed this as the way:

MyClass myClassInstance = [[MyClass alloc] init];

…effectively calling the alloc and init methods on the class then the class instance, respectively.

I see now you can simply do this:

MyClass myClassInstance = [MyClass new];

This makes WAYYY more since coming from ECMA where you’d do:

MyClass myClassInstance = new MyClass(); //java and C#
var myClassInstance:MyClass = new MyClass(); //as3

The author suggests still using the two step approach, alloc/init, so you know you are calling two distinct methods. I will probably use “new” instead because it is more intuitive to me.

On Chapter 4 (Data Types and Expressions) now. More to come.

AIR 2.0: My Wishlist

I’ve been thinking about AIR a lot more lately and it prompted me to think about what 2.0 might provide us in ways of building better AIR apps. So, here is a short list of items I think AIR needs in order to make me happy.

  1. FTP support
    I know…AS3 provides the tools for ftp support and there are a few libraries started but stop depending on the community Adobe, for this one not everything. We need this natively in AIR. Maybe not SWF but AIR for sure needs this.
  2. External executable interaction
    In the simplest form I want to tell ApplicationX.exe or ApplicationX.app to run and pass parameters to it (blah.exe -param value). I know there are security issues and cross-platform compat’ issues but it’d be great if you figured this one out.
  3. Direct database interaction
    At a minimum MySQL, SQL Server, and Oracle. Make the core extensible so we, the community, can grow the available database support but lay the groundwork. You already have a solid sqlite core so build on top of that code-base and allow us to specify a type or something.
    Pseudo code:
    connection = new SQLConnection(SQLConnection.MYSQL, …)

    I know…buy ColdFusion right? Use PHP? .NET? Java? Nix those assumptions. If we want to use them, great, but not in all cases do we have a web server at our disposal. Keep making server integration better but don’t force a desktop app to use a server.

  4. Email Support
    This is just like the FTP support. I know you guys have the tools in place and say it is possible. Well, show us. Provide us with the tools to email directly from AIR. This is a serious need. We don’t need to setup a full web server just to send emails. In some cases, this isn’t possible or is utterly painful and takes forever (especially at big orgs).

    I should be able to use full smtp, pop, and imap. Those features would provide a TON of support for a solid number of AIR apps. In AIR 3.0 extend it to integrate with Exchange, etc. Heck, do it in 2.0 if you have the time. πŸ˜‰

  5. External library interaction
    This is tricky but would blow my mind if it were possible. Basically let me instantiate a DLL , perl script, etc and have it do something for me. I know DLL isn’t cross-platform and the system may not have perl but those are things we, the developers, will have to account for in our own apps. Give us the rope…let us hang ourselves. πŸ˜‰ No need to allow separate installs bundled with our app (like the .net framework or install perl) but at least being able to use outside code to fill the gaps where AIR lacks.

    If you provide this one, 1-3 above aren’t as important anymore.

  6. Webkit plugins
    Silverlight and Java at a minimum. It isn’t that I want to build a full blown browser or anything…I just want to be able to support the mass majority of sites out there. Think of the press, “Run Silverlight in AIR” would be all over the blogosphere. πŸ˜‰ hint hint, wink wink. lol Ok…bad argument but it would still open AIR to a broader audience of sites.
  7. Better installation bundle
    We REALLY need to be able to default files to specific locations on install. Right now I can bundle config files with my app and on Windows they go to the location as bundled (ex – bundle in configs/ and on they are in [app folder]/configs/ on Windows) but on Mac they are embedded in the .app file. Someone has to know to view the package contents to get to it. Let me specify whether I want it bundled in .app or in a specific location.

    Yes, I know I can use AS to write the files or download then save but that shouldn’t be a requirement. We need more control over the installation.

  8. Multi-“version” export
    This one may be pretty specific but I need to export an AIR file pointing to the QA environment. Once it passes QA, I need the same build pushed to production now pointing to production resources. I’d really like a way to, in the export process, specify different builds. So, a QA build bundled with 1 config and a Production build bundled with another. I know I can simply do two exports right now but I’d prefer to have this functionality native to Flex Builder. This also includes 1 -app.xml vs another. QA may have a different app title or something. I’d like to export these builds accordingly without having to manually change things back and forth each time.
    Now, if the Builder option isn’t available, I’d like a way, on the server, to dynamically update an AIR file so the automated processes for pushing to production is seamless. This does not include building the source again, not a valid option. The process, in my case, is completely automated.

I’ll leave it at that. If AIR beefed up to provide most of these there would be an uproar of praise. If no one else uproared with me, you’d still have an army of 1 supporting you. πŸ˜‰

Let’s see what 2.0 brings. 1.x has been great and I’ve enjoyed working with it but it is time to “beef up” in 2.0. We need much more than what AIR currently offers for true enterprise applications, heck even some small to robust apps need the above.

Objective-C: Declaring and Using Classes

Learning Objective-C for me is about learning how to read the code in comparison to other languages I know. Here is what I know so far about classes.

I may say this in all of my posts but this is just weird to me. I won’t get long winded here but I do want to post a few examples. Keep in mind I’m posting these as I learn so there is a lot of knowledge to be had. With that said, you might see me do a part 2 of this post clarifying something I may have posted here.
(more…)

Learning Objective-C

I took off on a personal venture to learn Objective-C about a week or so ago. I thought, initially, my old C skills would jump in but it has been 10’sh years and Objective-C is NOT, I repeat, NOT like the C I remember. πŸ™‚Β  There are tons of resources online but I couldn’t make heads or tails of it so I turned to a book. The problem, as I see it, is with a weirdly structured language and the tons of crappy code online. Call me spoiled (by ECMA languages, that is) but Objective-C is an ugly language. You have unconventional approaches to calling methods, etc. It is not straight forward like

someClass.someMethod(someParam)

Instead,

[someClass someMethod: someParam]

HUH??!?!?!? πŸ™‚

There are a plethora of Hello World examples online but most of them deal with it on the iPhone or a native OSX app. This is a fundamental problem of learning languages, IMO. Most times we start with the “frameworks” vs looking directly at the code so we get caught in the mix of things. I realized I was doing this exact thing, trying to learn Objective-C while learning iPhone dev, so I thought back to how I learned Java and C#: I read a core book detailing the language intricacies. Well…Java was a design patterns book then I took a training while at Limelight which helped. Either way…started with a book. πŸ˜‰ So I found a book on Objective-C, not iPhone or OSX, and bought it on my Kindle. It touches on them but most of the book is about straight Objective-C code in a terminal window.

So far I believe in this book. It is showing me a lot and, most importantly, it discussing the fine details of the language. Kudos to Stephen Kochan. My plan is to post all of the intricacies here to detail the differences between Objective-C and ActionScript, C#, or Java. I might talk about all three on one posts but might only hit one. Those three are all ECMA so posting about one will be pretty close to posting about the others anyway.

Look for some posts coming soon.

Outage: Switching Mail Servers

I’ve switched mail servers for Katapult and some others I managed to Google Apps (https://www.google.com/apps/intl/en/group/index.html). This has been a GREEEEAAAAAAT decision as my spam has decreased to 0 from 25-50/day (basically 3 to 6 per hour most of the time).

So, my personal email address (tied to this domain) will be down for a bit as I am making the switch right now. I know…middle of the day isn’t the best but spam can push you to places you never thought you’d go. πŸ˜‰ lol.