Adobe Solution Partner

March 22, 2011

iPhone 4 Otterbox Defender Extreme Displeasure versus iPhone 3G

Filed under: ColdFusion — Nat Papovich @ 1:52 pm

I have used the Otterbox Defender case for iPhone 3G for the past two and a half years. I love it and heartily recommend it to folks who need a very protective case. There might be a more protective case for the iPhone 3G, but I don’t need it. Whenever I open up the case and take out the phone (once every couple months) it’s as clean as can be expected. The phone has withstood being left outside overnight in the rain (twice, face down), dropped in the toilet (don’t ask), and of course countless drops from a variety of heights. When it regularly hits the ground, I never, ever think twice about it. The phone goes with me in my rock climbing bag and is used at the crag which is a dirty, rocky, unforgiving place as well as my mountain biking bag which is less dirty but more prone to hitting the ground (or a tree). I’m adept at using my tongue on the touch screen since as you probably know, iPhones screens don’t respond to gloved fingers. But they don’t work too well with a lot of moisture on the screen so I try not to slobber too much.

The most important feature of the Otterbox Defender for iPhone 3G case (for me) is the dust and dirt protection. When I’m not sitting at the computer, I’m typically doing dirty things – remodeling my 105 year old house, gardening, woodworking projects, the aforementioned climbing and biking, generally being outside. The phone is usually in my pocket which almost always has a layer of dirt in the bottom of the pocket. This month, I handed-down the iPhone and case to my almost seven year old daughter and she promises to keep up the abuse of the case and phone. She has been abusing it alongside me ever since I bought it so knows what the case is capable of protecting against (basically everything).

I loved the old Otterbox Defender case so much that I’ve actually purchased three of them over the years. I’m so hard on cases that I wear them out. But I’ve been happy to pay for a new Otterbox case about every year.

All this Otterbox love changed for the worse (worst?) when I got my new iPhone 4 (Verizon) and bought the new Otterbox Defender for Verizon iPhone 4 case for it during checkout from the Verizon store online. I was so convinced of the miraculous powers of the Otterbox case that I bought it sight-unseen without reading any reviews. I should have. In short, it sucks.

The rubber outer is not tight, even out of the box. Pulling the phone out of my pocket requires me to reseat the rubber every time. The tabs that cover the power port, mute switch and headphone jack do not seal well and come open at every opportunity, as if they were spring-mounted. Mysteriously, Otterbox chose to leave some actual holes in the case so dirt slips right in. In the Otterbox Defender for iPhone 3G case, the top/face and bottom speaker and microphone ports were covered with cloth-like material so dust couldn’t get in but sound still permeates. Now they’re right open to the air and thus the dirt, along with the top “ambient noise microphone”. On my iPhone 4, the little silver speaker and microphone grills on the bottom are chock full of dust. The same deficiencies exist with the front and back cameras and proximity sensor. There is exactly zero protection over them.

To be fair, the camera on the old Otterbox Defender for iPhone 3G case made crappy pictures with a plastic-y haze to them because, well, it was covered by hazy plastic. But that’s a price I was happy to pay. And the hard plastic guard around the proximity sensor collected dirt so my iPhone 3G generally didn’t do automatic brightness adjustment.

The new case is so different than the old one that I don’t feel they’re comparable. Today I opened up the case to investigate the results of a roll-around in the dirt that occurred while re-plumbing a friend’s house on Sunday. The phone is more covered in dirt and the ports more full of crap than in the two and a half years I had the old case. (We were in the crawlspace when I heard my phone ringing. I couldn’t find it in my pockets so assumed it was directly above us in the bathroom, but my friend found it completely buried in fluffy dirt. It was an “oops” moment, but not uncommon for me.)

There are a ton of isolated Otterbox Defender reviews for each version of the iPhone along with comparisons of similar cases but there aren’t enough Otterbox fans complaining loudly enough about the massive downgrade from the Defender case for 3G to 4. If you like the Otterbox Defender case for iPhone 3G, do yourself a favor and do not buy the same case for iPhone 4. If you want an iPhone 4 case as truly protective as the 3G case, you need something better. (Griffin Survivor? LifeProof?) If you felt like the Defender for 3G was a little too much protection, then get something slimmer and cheaper.

I wish it weren’t true, but the Defender for iPhone 4 fits no category of case protection and should fully satisfy no one.

October 7, 2010

ColdFusion Alive and Well – eWeek Article

Filed under: Business of Software, ColdFusion, General Development, Performance — Patrick Quinn @ 12:59 pm

I recently posted an article about ColdFusion performance myths (“(Bollox to) ColdFusion is Slow“), and a related myth we hear quite often is in the “ColdFusion is dying” category (or even more amusing is the already-dead variation). If you haven’t seen it yet, there’s a piece in eWeek magazine showcasing ColdFusion. I’m an eWeek subscriber, and it’s a very mainstream publication, which means it’s very good news that ColdFusion is being discussed there. Another thing I really like about the piece is that it highlights ColdFusion’s “middleware” (in the strict sense) and application development capabilities, which we believe will increase demand for ColdFusion in the future. As the Web and Internet mature, technologies that can integrate content and data from multiple sources will be even more essential than they are today (“mashups” on steroids, basically). Also, business process automation and data mining and visualization will become more and more important over time. ColdFusion excels in these key areas, along with many others, too. ColdFusion’s future is bright, indeed.

Here’s a link to the eWeek article:

http://www.eweek.com/c/a/Application-Development/Adobe-Cold-Fusion-8-Reasons-Why-It-Is-Still-Relevant-229088/

September 30, 2010

When ColdFusion Hits The Wall

Filed under: ColdFusion, Performance — Patrick Quinn @ 4:18 pm

There’s an immutable law of the performance engineering universe, and it’s this: Performance degrades linearly, up to a point, and then it degrades exponentially. In other words, every server has a wall, and will hit it, eventually. As we’ve seen on thousands of servers over the years in providing our ColdFusion performance engineering services, a simplified diagram of the phenomenon looks like this:

When Servers Hit The Wall

When Servers Hit The Wall

Figuring out where “the wall” is for any given server is actually a pretty complex process that’s specific to all the hardware and software elements that make up that system—RAM, CPU, network, disks (and I/O speeds), threads, database drivers, application code/architecture, etc., etc. The focus of our performance engineering services is to keep our customers’ systems from reaching that point-of-no-return threshold. The best way to do this, by far, is proactively. Waiting until a system has hit the wall to start tuning it is much more complex, and thus costly, than doing the tried-and-true regular maintenance that’s required to keep a system running smoothly over time. We’ve evolved a very well-honed methodology for finding, prioritizing (not all offenders are equally threatening) and fixing the causes of performance and stability problems. As part of our approach, we’ve developed a way of thinking about performance that we call the “PASS”—Performance and Stability Stack. This is a conceptual view of the “stack” of network, hardware and software components that make up ColdFusion performance and stability (or lack thereof, as the case may be), and I’ll be writing about this soon.

In the meantime, if you’re having performance and/or stability problems (sometimes they’re synonymous, sometimes not), contact us to discuss our leading-edge ColdFusion performance engineering services.

August 5, 2010

Integrating ColdFusion with FogBugz results in cfhttp conx failure

Filed under: ColdFusion, General Development, JVM & Java — Nat Papovich @ 3:13 pm

The development team at Webapper has been using FogBugz for a couple years now and we like it well enough not to bother switching to anything else. One thing I found lacking is a “customer portal” – a way for our clients to review the status of open tickets we’re tracking for their projects. Our old system, OnTime, had this feature and it seems pretty basic. FogBugz does have a weak “anonymous user” feature but it doesn’t work how we need it to work. So we built a custom ColdFusion front-end using the FogBugz API. It has its own user table and user-project table, and the rest is just calls to FogBugz for tickets in a project, details about a ticket, etc.

But I encountered an issue right away, using cfhttp to call the FogBugz API. Here is the code I tried:

<cfhttp method="get" url="https://webapper.fogbugz.com/api.asp"></cfhttp>
<cfdump var="#cfhttp.FileContent#">

I kept getting “Connection Failure”. If you’re familiar with the FogBugz API (or if not but you have a good imagination and can take a guess what that URL might do) you might notice I’m not even doing an “action”. You can even try that URL in a browser and see that it displays a message about not being logged in, which is a response from the API. I wasn’t even getting that far. It’s like there was some invisible wall in between my cfhttp call and the API.

Because calls to the FogBugz API need to run over SSL, I thought I had to add the cert to the cacerts store in my JRE to make the SSL bit work. That took a while to do since I’m on a mac and the cacerts never looked right. Eventually though I got a cert added, but the cfhttp call still wouldn’t work. I never did figure out what the root cause was, but I did work around it.

I wrote some java code to do the job:

objUrl = createobject("java","java.net.URL").init("#local.baseURL#&amp;#local.queryString#");
conn = objUrl.openConnection();
...followed by some InputStreamReader and BufferedReader to get the output.

And now it works. So I know my cacerts thing is right and it’s a deficiency in cfhttp itself. What, I can’t be sure, but I don’t care. So if you’re struggling with ColdFusion and FogBugz integration using cfhttp, try this instead. And if you have gotten cfhttp to work with the FogBugz API, please share your code!

July 29, 2010

(Bollox to) ColdFusion is Slow

Filed under: ColdFusion, Databases, JVM & Java, Performance, SeeFusion — Patrick Quinn @ 12:50 pm

We’ve been hearing the “ColdFusion is slow” nonsense for as long as the platform as been around. (Quick history tidbit: We still have support emails from back when Jeremy Allaire was sending them himself!) In our opinion, whenever someone repeats this tripe, that person is instantly branded a software novice, and, probably, one with an anti-ColdFusion axe to grind, too. Since we’ve been ColdFusion performance engineering specialists going all the way back to our days at Allaire, we’ve always known that ColdFusion (which is to say Java) is not inherently slow. Does ColdFusion provide a lot more rope with which developers and system/network administrators can hang themselves (and their ColdFusion systems)? Absolutely. And thus, ColdFusion’s greatest strength has also always been its greatest weakness–its out-of-the-box capabilities and low learning curve are unparalleled. As with life in general, however, with such power always comes great responsibility, too. ColdFusion is just software, and if you’re not following the best practices for developing fast, stable software, then you can program and/or configure any software platform into the ground, performance-wise. That’s basically what we do in our performance engineering practice–we apply (usually retroactively) all of the best practices necessary to create the fastest possible ColdFusion systems.

But, don’t just take my word for it. Let me dazzle you with some real-world numbers. One of the systems that we tuned recently was peaking at 200-300 requests per second. Here’s a screenshot, so you can see for yourself:

ColdFusion Rocks!

Mind you, this was a single 32-bit Windows machine, so it wasn’t even a leading-edge hosting platform. (All of the ColdFusion hosting environments that we design and implement these days are all-64-bit, which makes an enormous difference in terms of CPU utilization, RAM, etc.) All of this performance was coming out of a humble little 1.4GB memory space. When you get things right in terms of properly tuning a ColdFusion system–garbage collection, query activity, etc., etc.–then ColdFusion will stack up against any other Web application platform, or even lead the pack, when it comes to speed.

So, let the word go forth today–the notion that ColdFusion is somehow inherently slow is bollox. For those of you not familiar with British English, the American English translation is: Bullshit! (The title of the blog post is in honor of our British Co-Founder, Mike Brunt, who was the lead performance engineer on this engagement.) Happy tuning to you all, and please give us a ring if you’d like our help making your ColdFusion systems as fast and stable as possible.

July 27, 2010

ColdFusion Heroes

Filed under: ColdFusion, Fusebox, General Development, JVM & Java, Macintosh, Performance, SeeFusion — Patrick Quinn @ 5:47 pm

As leading ColdFusion performance engineers and application development specialists, we’re pretty good at what we do. Still, it’s comparatively unglamorous work that we do, focused as it is on recondite topics like software frameworks and Java memory utilization patterns. We’ve got thousands of happy customers of our ColdFusion support and development services, and our SeeFusion product. But, it’s not exactly the Cult of Mac around here in terms of effusive enthusiasm on the part of our customers. I suppose you can only get so emotional about applying an especially effective design pattern, or optimizing the throughput of your server.

So, I felt I had to share a recent plug from a customer of our ColdFusion Support Plans. This customer went out of his way to send a postcard (below). Touching, and appreciated beyond words. And, it just goes to show you–ColdFusion best practices can be sexy! I think I’ll go shopping for a black mock turtleneck now…

All kidding aside, kudos to our ColdFusion Support Engineers, and please give us a shout if we can help you maximize your investment in the ColdFusion platform.

ColdFusion Support Testimonial

April 6, 2010

ColdFusion Support Plans

Filed under: Business of Software, ColdFusion, Miscellaneous, Performance — Patrick Quinn @ 2:12 pm

For the past decade, our team here at Webapper has been delivering specialized software services focused on ColdFusion performance and stability. Up until now, we had only offered that expertise in the form of “retail” consulting services. This model works roughly like conventional medicine–wait until you’re sick, then call a doctor. Sure, docs can do some pretty impressive things these days, and similarly our engineers have tuned and stabilized more ColdFusion systems than anyone on the globe over the past decade. But, it sure would be nice not to get sick in the first place! So, in December, we launched formal ColdFusion support plans, designed to provide proactive performance engineering for ColdFusion systems. Here’s how we put the plans together:

  • First, work for 10 years to become the very best at solving ColdFusion performance and stability problems.
  • Along the way, create a suite of services that’s complete–addressing any performance and stability need for a ColdFusion system (application-layer, server-level, data tier, network-layer, etc.).
  • Next, find out what ColdFusion customers really want in terms of support. In 2009, we worked with key ColdFusion hosting partners, and also conducted a survey of our thousands of ColdFusion customers, in order to find out what folks wanted and needed.
  • Refine, rinse, repeat. We put all of this together–our knowledge of the limited effectiveness of the reactive approach to performance and stability problems, the feedback we’d gotten from partners and customers about the “typical” support plan experience, and about the kind of support deemed both useful and flexible–and then we worked with some former senior management for “official” ColdFusion support services from Allaire/Macromedia/Adobe to put together something new, and better.
  • Launch! In December, we launched our formal support plans for ColdFusion.

Here’s a brochure site we put up describing the plans:

There’s a lot of information there, but, please don’t hesitate to contact us to discuss any and all details. We’ve tried to clarify/simplify information about the plans as much as possible, but, nothing beats hearing it live from a ColdFusion performance engineer with 10 years of experience in the trenches of ColdFusion engineering.

November 25, 2009

ColdFusion Survey

Filed under: ColdFusion — Patrick Quinn @ 7:10 pm

Here at Webapper, we’re working on a little somethin’ somethin’ that we think will be a big help to the ColdFusion community. And, though we’re as egomaniacal as the next bunch of engineers, we’d nonetheless never try something new without asking for feedback. So, we’re conducting a survey of ColdFusion users. It has to do with ColdFusion support–getting it, using it, etc. Since one of our thousands of happy customers is a seller of custom, large-sized women’s bras (true story!), we thought we’d come up with some kind of funny spin about “support,” but, while we’re working on that, we’d like to welcome you to complete our survey. As a thank-you, we’re giving away a free copy of SeeFusion Enterprise to the first 100 respondents.

Update: Since the response has been so overwhelming, we’ve decided to up the giveaway limit to the first 200 respondents!

Thanks so much in advance, and a Happy Thanksgiving to all!

November 13, 2009

Connecting to SQL Server 2008 (Express) from OS X

Filed under: ColdFusion, Databases, Macintosh — Perry Woodin @ 1:26 pm

This is for anyone having trouble connecting to SQL Server on Parallels from ColdFusion on Mac OS X.

Each time I’ve installed a new version of SQL server — be it 2005 or 2008 — it took me a bit a random clicking to get a ColdFusion datasource connected to SQL Server.

Here are some tips.

  1. Make sure the service is running. Well duh… but this has tripped me up before, so just check and save yourself the headache.
  2. Make sure that TCP/IP is enabled.  To do this, open Start => All Programs => Microsoft SQL Server 2008 => Configuration Tools => SQL Server Configuration Manager. In the left column, expand SQL Server Network Configuration. Select your SQL Server instance (note the instance name e.g. SQLEXPRESS) and then double-click TCP/IP in the right column to open the TCP/IP Properties. Under the Protocol tab, make sure Enabled is Yes.
    TCP/IP Properties
  3. While you’ve go the TCP/IP Properties window open, click the IP Addresses tab. From this tab, you can see what IP address SQL server is running on. Equally important, you will see the Port Number. The default port number is 1433, but I’ve got three versions of SQL Server running and each one uses a different port number.
    IP Addresses
  4. Login to your ColdFusion administrator and create a new SQL Server Datasource. The Server will be the IP Address (e.g. 10.0.1.6) followed by a colon (:), followed by the instance name (e.g. SQLEXPRESS). You get the port number from the IP Properties window in step 3 above (e.g. 1094).
    ColdFusion Datasource

That’s it. If you’ve got Windows Firewall running, make sure you can accept traffic over the port being used by SQL Server.

October 19, 2009

1-Day ColdFusion TNT Audit

One of the advantages of our decades of combined experience is speed—we identify, prioritize and fix the causes of performance and stability problems as quickly and effectively as humanly possible. If you’ve got ColdFusion performance and/or stability problems, and you haven’t yet hired us for consulting, then I’d like to invite you to try our 1-Day ColdFusion TNT Audit. This is an abbreviated version of our more in-depth TNT engagement.

ColdFusion TNT Engagement Report

ColdFusion TNT

The 1-Day ColdFusion TNT Audit is the fastest possible way to begin to identify, prioritze and fix the causes of ColdFusion performance and stability problems. Here’s what we deliver in just one day of effort:

  • A review of your SeeFusion configuration, in particular query monitoring and database logging settings.
  • A review of your JVM configuration, in particular memory utilization settings.
  • A review of your ColdFusion log files, stack traces, and any other diagnostic information you’ve gathered.
  • A review of your ColdFusion Administrator settings.
  • An analysis of your SeeFusion metrics.
  • A written report detailing and prioritizing your system’s bottlenecks, complete with extensive data in tables and charts sorted by a variety of methods.
ColdFusion TNT Engagement Report

ColdFusion TNT

If your ColdFusion systems are experiencing performance or stability problems, contact us today.

Important Note: The 1-Day TNT Audit is not ideal for customers with specific and/or severe performance/stability problems. For those situations, our comprehensive TNT engagement is the best solution. The TNT Audit is intended as a way to get to know us while considering additional services, and to obtain a very useful “snapshot” of your system. It is not the intensive investigative/problem-solving engagement that our standard TNT Services represent.

Older Posts »

Server Down?

Maximize Web application uptime by drawing upon Webapper's years of experience tuning and stabilizing many of the world's largest ColdFusion Web applications. Contact us today!