If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!
So I have the new MacBook all up and running and attached to my nice 20 inch Viewsonic wide screen flat panel. The problem I am running in to is I am using a Microsoft Desktop 2.0 wireless keyboard and mouse that I used with my old laptop. It is working OK but I am not real happy with the feel of the mouse and the fact I don’t have certain mappings on the keyboard. I went to Mac Authority to look at my options and I would really like to go with a wireless keyboard and mouse. I like the mighty mouse just fine but what was Apple thinking with the new wireless keyboard? It is basically a freak’n MacBook keyboard with no number pad which is annoying. Bluetooth on it is nice it but my word it seems really small.
So my question is: What external keyboards do you guys use? Any 3rd party ones that work well?
Mariah Carey’s new video for Touch My Body just dropped and it is hilarious!
I want to be the guy who pitched this treatment… “Ok so Geek Squad shows up at her door and then there is a unicorn and guitar hero… and then it ends with Mariah saying ‘802.11n’” Hot!
Last night at the Nashville Flex 3 and AIR launch event Aaron West recorded a bunch of 30onAir videos and I was one of them. Take a look below:
Web Worker Daily posed the question to it’s readers “Do you care about AIR?” Lots of very interesting comments so far and it will be interesting to see how AIR unveils itself in the future. I think that we really have to come up with the killer app to get the penetration that we need. I am starting the course on Flex 3 on Lynda.com today to really start to dive in to all things Flex and see how I can use it in the applications I already develop.
The ability to deploy to the desktop is something all together new to me and will require me to rethink the way I do web applications. Forever it has been if you can do it on the desktop you can do it on the web. Now my thinking needs to be “Could this be better on the desktop as opposed to the web”.
So I am going to start writing about more then just ColdFusion so I am doing a little cleanup on my RSS feeds. If you want to read my ColdFusion posts only then stay put. If you want to read my other rants from politics to technology to music, just subscribe to:
http://jeremiahx.com/feed
That should give you everything!
One of my favorite blogs OfficeSnapshots, which features photos of Internet related companies across the world, has released a new blog called… HomeOfficeSnapshots. I always love seeing how other people work in their homes and steal ideas from them.
Funny funny stuff…
Picked up my new MacBook from MacAuthority today decked out with 4 gigs of RAM. So far I am stoked and excited to be a Mac guy!
Well I’m off to get Parallels installed and ColdFusion etc. ohhh yeah baby!
Oh and while I was at MacAuthority they had a MacBook Air and it is SWEEEEEET. Yeah the cool factor alone will sell the thing.
I have been doing web programming for about 10 years now… wow it really has been 10 years… and I have worked on a LOT of applications. Large ones, small ones, medium ones. Ones that are screaming fast and ones that are slooooooooooooooooow.
Well lately I have been assigned to upkeep a 4 year old application that is an enterprise level application. It is for a very large big name retail client that I am sure all of you have shopped at once in your life. This application manages a small part of their operations but for that small part it is a huge freak’n deal. The application is extremely slow and there is really no reason for it to be. There are a couple of quarky things about it that slow it down a little bit but they really only add 1-2 seconds on to a page load time so that is bareable. The one thing that really kills it is its database interaction layer. The queries are enormous. I mean I have some pretty sweet SQL skills but these make even MY head spin. I installed FusionReactor on to one of the servers in the cluster just to get an idea of some of the trouble spots in the application. I noticed one that was running on a couple of occasions in the MILLIONS of milliseconds… 1.9 million to be precise. Yes the previous developer would up the timeout on the page and add a “LOADING…” image instead of fixing the REAL issues. The query was a stored procedure so I decided to turn it back in a CFQUERY call so I could dissect it better.
The things I noticed first off was some of the things they did so that it could be a stored procedure. Like doing 2 queries and joining them together… and the second query pulled about 221,000 rows then JOINED the ones it needed which usually was only 1-10 records. Talk about inefficient. Fixing that so that it only pulled what it needed in the subselect trimmed off about 5 seconds from the 45 second page load.
The next thing I started to notice was the really issue. There pretty much was no INNER JOIN’s in the query. The person writing it had done all LEFT OUTER JOIN’s. I started going down the list and noticed that in 8 of the 10 “LOJ’s” it was data that had to be there. Take for instance they LOJ a store table that well you HAVE to have a storeID on every order. I did a quick DB call to find all orders that had a NULL storeID on them and sure enough NONE of them had a NULL storeID. 3 seconds shaved.
I went down the line looking at each LOJ and came to the one that was the killer. It was an authorization table that once again HAD to have data in it for it to return. They LOJ it and then in the code would not display the row if it was NULL… What huh?! Changed to that INNER JOIN… BAM it was now a 4 second query. Exactly 41 seconds shaved off.
So kiddies the moral of the story is DO NOT LEFT OUTER JOIN unless you really really have to. Second moral is that while we all will argue over whether StructKeyExists vs IsDefined is faster or IIF being the demise of the world the issues 90% of the time are not in your CF code but in your database. Be it your SQL queries or your indexes most of your bottleneck is the data getting to your application. Think about that from the beginning and you will have a much better programming life.
Well I have the trifecta of aggregators. MXNA just added me to the family which is really exciting! Now if I can just get feed-squirrel to do it I will have the Oracle of the 4 Seasons completed…