Archive

Archive for the ‘Technology’ Category

Emergency CPU Fan-dectomy

February 25th, 2010

Yesterday morning was definitely an interesting morning. But before I’m able to explain it, I have to give you some background information on my Linux machine at home, which is my development machine.

Last fall I started hearing CPU fan noise from the machine. Fan noise generally indicates that a bearing is wearing out, something of that nature. It concerned me, so I popped the side of the case off and looked at it. The fan was still running, so that was good, and if I pressed on certain parts of it I could generate the noise. Thus, to eliminate the noise and head off any potential overheating issues, I decided to get a replacement fan.

Only I never really did. I knew I needed one, so I just popped one on my Amazon wish list, which ended up being used as my Christmas list for all of my friends and family. And someone got the CPU fan off of it for me. Haha.

I never ended up putting the fan on, because at some point the noise stopped. And since the machine never overheated and shut off, I figured the issue had worked itself out somehow. It’s rare, but it can happen, so I never investigated further.

There’s background on the CPU fan. Now for the background on how the machine was operating…

My standard development machine is my Linux box, so I have all sorts of tools on it that I use. It’s actually very similar to my setup at work. I run three different Java applications (IDE, SQL client and SVN client) as well as Firefox for web browsing and a bunch of Bash terminals. And this all runs on KDE4.

I feel like KDE4 is a bit more of a memory and resource hog than KDE3, but that’s ok. So when I upgraded to KDE4, I attributed my decreased performance to the upgrade. But there would be times when my machine would get really sluggish and sometimes programs would simply get killed at the operating system level. I thought this was due to a memory issue, since Firefox can be a really damn big resource hog too.

I’d been having trouble with recompilations too. Again, I attributed this to memory allocation issues, and I’ve considered increasing the memory on that machine (I probably will be now, I just have to find out what’s already in there so I order the same stick). So some of my recompilations have caused KDE4 to come down entirely, so I’d started doing recompiles in a TTY without KDE4 running.

So a week ago I started a recompilation of Firefox to its newest version because I thought there may be a chance it would have better memory usage. I left the machine alone to recompile while I did other things. I did this from within a terminal in KDE4 because I turned off most of the other applications running.

So now onto yesterday morning… Working remotely from home.

The machine was at the KDE4 login screen. So I knew the compilation brought down KDE4. I didn’t think much of it, because if the compilation fails then the existing application you’re recompiling will still work. So I logged into the box and started all of my applications up. Yet Firefox… bombed. It would begin startup then just stop and never get anywhere… Hurray.

So I started a recompilation of Firefox from within KDE4 because I was signed on to the company Jabber server. I could still get some things done without Firefox, such as moving batch files from server to server and running other things on our batch process server. And then it happened.

The machine turned off. I was like.. WTF!

At this point, I switched to working from my Windows laptop, where my productivity is greatly reduced. I figured I’d try to recompile Firefox one more time in a TTY while I did work on my laptop. Low and behold… Powered off again.

It was at this point that I knew the CPU fan was toast. I temporarily took some time out to pull the box from my desk, pop off the side and pull the old CPU fan out. Holy crap was the heatsink mega hot, so I knew the fan wasn’t working correctly. Popped the new one in and started it up.

Everything booted up correctly, however I still stopped KDE4 and recompiled Firefox from a TTY. And this time it went much, much faster than it had been in the past. And it went all the way through finish.

So I started up KDE4 and all of my applications, and things seemed to be running faster and more efficiently. Firefox started up just fine, so I moved all of my work back to my Linux machine and worked from it for the rest of the day. No issues from thereon out.

Actually, I didn’t detect any of that common sluggishness that I had been before. So I wonder if my performance issues were related to high heat on the CPU… I don’t necessarily think so, but I guess it’s possible.

So I didn’t end up getting to work 100% from my Linux machine yesterday until 9am, which is 2 hours after I start work. However, I did get plenty of work and standard early-morning monitoring done during that 2-hour period, so I feel like I really only lost about 15-20 minutes or so of working time.

Had the machine powered down during Firefox recompilation after I had replaced the CPU fan, I would have cut my losses and actually headed in to work from the office. Thankfully, my Linux machine’s issues appear to be fixed.

Now all I have to do is send my Windows laptop in to HP to have a fan replaced as well. I can’t replace it myself and it causes overheating and noise issues too. Dammit!

Sphere: Related Content

Robert Technology , , ,

iPad Thoughts

January 28th, 2010

I understand there are plenty of voices out there with varying opinions on Apple’s new iPad, announced yesterday. For some inexplicable reason I want to voice my opinions too! Hey, I’m a nerd, I’m allowed to voice my opinion on matters such as these because I’m somewhat knowledgeable. That, and I’m a consumer of technology so my opinion does indeed matter.

Interface & Input

My first thought on the iPad is: looks neat. Really, it does. I think this style of computing could be the future. Now I know what you’re saying. You’re saying it’s been tried before, most notably by Microsoft, and it never took off. Well, a couple things regarding this point:

  1. Digital MP3 players didn’t take off until Apple released one with a good interface.
  2. Smartphones didn’t really take off until Apple released one with a good interface.

See the theme? Good interfaces. And this is yet again the difference that Apple has created with the iPad when compared to all other tablet-style computers that have come out before. If there’s one thing Apple is really good at, it’s interfaces. Sure, their interfaces might not hold up under the test of time when newer ideas and technology comes out, but when Apple does release new interfaces for products, usually it’s either groundbreaking in some manner.

And that’s where the iPad shines whereas previous Windows-based tablets never took off. They designed the interactions of the software around the input style of multitouch with contextual keyboards. The Windows-based tablets were just touch capabilities tacked on to the existing Windows platform, which didn’t work because the existing Windows platform was designed for a keyboard and mouse. The iPad’s interface is totally redesigned from normal computing. That, and it’s based off of the iPhone’s advances, which uses the same touch interface so they had a base of success to start with here.

Revolutionary? I think this is the start of a new wave of computing. Interacting more intuitively with technology is the way to go. I can just imagine humankind eventually getting to the style of computing seen in Minority Report and other movies that show more physically-based interactions with technology than using peripherals. I like the idea of using an iPad in the manner shown, as well as the keyboard attachment because it will likely be necessary at times.

E-Books

So let’s move on to the whole e-books concept. I got Laura a Kindle for Christmas because I knew she’d like it and she loves to read. I won’t get into the many reasons I got her the Kindle beyond that. I knew at the time of the rampant rumors surrounding Apple’s mythical tablet device and decided that I didn’t think the Kindle would be killed. So will it?

No, I don’t think so. First of all, the iPad will use DRM-enabled books like the Kindle does. Secondly, the Kindle is function-specific. Sure, the iPhone is multifunction as well and that’s one of the successful pieces of it. I’m sure it will be the same way with the iPad. But the Kindle is also much cheaper and will likely get cheaper still with the iPad announcement.

One other thing that the Kindle has going for it: the e-ink display. I know some people don’t like the refresh of an e-ink display, but e-ink requires no backlight. As a result, it is much better on the eyes. Additionally, the Kindle’s battery life is phenomenal compared to the iPad, again in part because of the lack of a backlight. And if the books are all available on the Kindle as well, it will always have a market.

I think the only way the Kindle dies out entirely is if books aren’t available on it but are for the iPad. I’m pretty sure that’s the only way that will happen. People want these devices for their content, so where the content is the device sales will go. I, for one, hope that books keep coming out on the Kindle so Laura can keep getting them. Even if they’re available on both systems, because the Kindle is smaller and easier on the eyes. Laura can carry it in her purse, but couldn’t with the iPad.

One more thing about e-books. There’s talk of textbooks appearing in the iBookstore for the iPad. If that’s the case and my textbooks starting this fall are actually available for the device, that may prompt be to buy it, so long as I can do book-like things with them, like bookmarks, highlighting, notes, etc. My textbooks for this spring semester weren’t available on the Kindle, but an older edition of one of them was, for $110 less. That’s why I want textbooks on a digital reader. Cheaper and much more portable.

Judging by what I saw of the book-related functionality, that seems almost like an add-on, “Oh, let’s try and take this market over too!” thing. The book-related functionality was definitely not the focus. I don’t necessarily think it was an afterthought, but Apple doesn’t seem intent on taking it over in quite the same way they’ve taken music over. But ultimately, who knows. Maybe they want to pwn Amazon after all.

Wifi & 3G

I find the whole $130 more to get 3G abilities a bit much. If I were to get one, I’m not sure I’d opt for the 3G capabilities. Not when I have an iPhone too, anyway. I can just tether it. But the pricing on the 3G monthly rates is good, especially with the lack of a contract.

Name

Yeah, the name sucks. They need a new one but it won’t happen. Oh well. I think even iAwesomeness would have been better…

Price

I touched on the 3G price hike a bit, but at $499 for the base model, that’s phenomenal given what you actually get for the iPad. And the iWork apps for $10 each is an excellent value as well. I’d probably opt for the mid- to high-range storage capacities myself, si”d spend anywhere from $600-$700 on an iPad. I guess I’d consider the 3G connectivity a little bit, but I just don’t see the pressing need for it… Although now just thinking about it, enabling tethering on the iPhone is expensive with AT&T, so maybe I’d pony up the $130.

Final Thoughts

Yeah, I like it. Enough that I’d consider getting an iPad over a MacBook Pro, which is what I want my next technology purchase to be so I have a more portable laptop than my current behemoth. I don’t really need an MBP, so an iPad might fit the bill for the kinds of things I’d want to use it for. Like I said, if this fall rolls around and my textbooks are available on the iPad, and significantly cheaper to purchase for it than in print… Likely I would become a new iPad owner.

Sphere: Related Content

Robert School, Technology , ,

Arizona, Christmas and Cleaning

December 28th, 2009

I’ve been in a bloggy mood lately, so here we go with another round of updates in my mundane life. Maybe I’ll post something other than “here’s what happened!” soon, but who knows. Occasionally I like to have posts like my PHP Soap Timeout post, so maybe I’ll come up with something awesome like that soon. But for now, all you get is life updates.

Arizona

I didn’t mention this before here on my blog, although I did mention it on Twitter and Facebook, but I decided to head down to Arizona for my grandparents’ Christmas Eve party. My grandfather had some health issues this year and I didn’t want to miss a guaranteed time when I’d be able to see him around Christmas. I don’t know how much time he has left with us, be it a few months or fifteen more years (I hope it’s even longer than this!).

In any case, Laura was unable to accompany me on the trip. I took off a half-day on Christmas Eve to make the drive down after I got off of work on the 23rd. My work only had a half-day scheduled for the 24th, so I only had to take off 4 hours. My Dad met me here at work when I got off at 4 and we set off for the Phoenix/Mesa area, replete with gifts and items we’d need to survive the harsh Arizona desert… Rather, clothes and toiletries.

We decided to pit-stop in Boulder City to say hello to Laura. She wasn’t expecting us to drop by before we got out of town, but BC is literally on the route to Phoenix from Vegas, and the diversion from the US-93 to her office isn’t very far. She was happy to see us and we chatted for a bit before finally heading out.

The drive was mostly uneventful. We got held up at the dam for awhile because there were quite a few people driving out south on US-93 and there are security checks at the dam. It took us about 20-25 minutes to get through the checkpoint, then we were off to the races. We didn’t end up behind very many slow people.

There was a point in Wickenburg where US-93 ends and that section was totally rebuilt and included two traffic circles. My Dad was leading the way and hadn’t encountered the rebuild before, so there was a little stopped-in-the-circle action before he figured out what direction was what. Apparently, he also needed to fill up in Wickenburg and he’s got a Chevron card, so he was originally going to stop and get gas there. Unfortunately, his regular Chevron had become a Shell station, so he ended up skipping it. Once we were on the AZ-74, he called me up to use my GPS or iPhone to find the nearest Chevron. We ended up hitting up a Chevron at our connection point from the AZ-74 to the I-17.

The rest of the drive was all highways inside the metro area basically until we got to my grandparents’ place. Once we got there, we unloaded a few things, talked with my grandma for a bit, then headed to bed.

Note: I just noticed I’m already over 500 words. I have three topics to cover and I’m only about 1/4 through the first topic… Are you ready for a much longer read?? I sure am!

The next day was obviously eventful as it was Christmas Eve! The day of the party, the day I’d finally get to see a lot of my Dad’s side of the family that I never get to see. The morning started off slow, with my Dad, my grandma, my cousin Cody and myself all talking about stuff and whatnot. Cody’s still pretty young so I guess he didn’t talk much, rather than act like a kid, but hey. I ended up playing a game of Stratego with him, and he’s pretty good. I haven’t really ever played before and he had some good tactics.

My cousin Dani showed up a bit after noon. She’s turning 18 on New Year’s Eve this year, and holy crap she got tall. Not quite as tall as me, but taller than Laura. We didn’t have a whole lot going on at the time because my Dad was puttering around on his laptop and my grandma was cooking up food for the party that evening. She suggested for Dani and I to go catch a movie, so we did. Ended up seeing The Blind Side. Good flick, I particularly enjoyed it.

Even though I had my iPhone and the GPS in the Prius, I decided to just follow Dani to her place so I could see her parents earlier than they would have made it to the party. Mark & Ricki, I hadn’t seen them in quite some time either, so it was really nice to see them. Mark’s lost quite a bit of weight, I’ve never seen him as light as he is now. I’m not sure how much, but I’m fairly certain it’s around 50 pounds.

Oh, did I forget to mention my grandma also lost over 50 pounds? She’s looking much better too. What is it with all of the weight loss in my family? Apparently my Dad is the only one gaining weight, haha. Love ya Dad.

So I helped them load up gifts and whatnot and we drove on back to my grandparents’ place. My grandfather was finally home from work when we got back, so I caught up with him for awhile. It was really good to, since he was the primary reason I decided to take this trip in the first place and miss Christmas Eve with Laura and potentially screw up time with her on Christmas.

My uncle Brad was also finally there, so we got to trade shots and banter around a bit. It was fun, he always is. He’s one of the four of us look-alikes: My grandfather, my Dad, Brad and me. I dare say I’m the best looking of the group!

The look-alikes! From left: Me, my grandfather, my Dad, Brad. Lower-right, my cousin Cody managed to get part of himself in the photo.

From there the party really started. My cousin Matthew and his wife Danielle showed up, and even he’s lost weight! 60 pounds! He officially weighs less than me, the first time in our lives that had ever happened. Unbelievable. He really looks different, being that light. He’s thinking of entering the police force in Phoenix or, if that doesn’t work out, he’ll see if the military will give him a job. I’d rather him be in the police force myself.

I apologize to the rest of the party attendants, but my short-term memory can be bad and in this case, I can’t remember who all else was there! I suck, I know. Oh, my great-grandma Sigourney was there as well. She’s still going strong, I can’t believe it. She’s in her 80s.

The white elephant gift exchange went well, I ended up walking away with three items. I originally nabbed this storage net you can mount to a wall. At one point during the exchange I mentioned that Laura would like this nice carafe that was out there. My aunt Ricki is the one who originally bought it, and she nabbed it at the end with the expressed purpose of getting it for me. She’s awesome. My grandma also had an ice cream bowl & toppings set she opened that never got stolen, and she let me have it because she knew Laura and I would like it and she wouldn’t use it. Interesting stuff. A few other small gifts were passed out and the party ended.

One thing I did discover during the party — my cousin Dani is a nut. She fits in with this family well. Dani and I have been messaging back and forth in Facebook for awhile now and I never realized just how much like the rest of us crazy people in my family she’s like.

Actually, she was my first recruit into getting my family to call me Robert, and she never slipped up once while I was down there. When I was younger, I went by Bob (and even further back, Bobby) and I’ve long been trying to get my family to make the switch and call me by what I want to be called, Robert (even Rob works, although I never introduce myself as Rob… still get called Rob more than Robert…). My aunt Ricki made an effort, so that was cool. My Dad was also making an effort.

Interestingly, my grandma had always wanted my older sister Katie and me to call her Gran. I had no idea until she mentioned it to me during the trip. Thus, I am now calling her Gran.

I got up at 3:30am Vegas time on Christmas and left at about 4:20am Vegas time. Arizona doesn’t participate in daylight savings time, so they share the Pacific time zone during the summer, and during the winger they share the Mountain time zone. So they were ahead at this point. I filled up my car to the brim with more gas before getting out of town, and I was off!

The drive up was again, relatively uneventful, but as I got closer and closer to Vegas I felt the pressure of making sure I got into town in time to shave, change and get to mass in a presentable manner. I was unkempt and didn’t have a change of good clothes with me, so I was trying to avoid driving straight to mass. So I sped, as we did speed going down to Arizona.

At one point, the US-93 was switching between a single road with a dividing line between north and south lanes and having a median between the two. During one stretch of the median, suddenly there was a car coming head-on at me! Thankfully, I was still barely inside a two-lane stretch so there was room around him, but if I had been about ten seconds further ahead, we would have met in a very narrow one-lane spot… Doofus. Needs to learn how to drive.

Getting through the dam at this point was a breeze. I ended up getting home at 9am with basically 30 minutes to shave & change and get out the door. I went a little longer than I wanted, leaving the house at 9:40, but I still got to mass with about 10 minutes to spare. Thus, Christmas had truly begun for me!

Ah, but wait! A note on miles-per-gallon for the trip for the Prius before I start section 2 for Christmas. Going down to Arizona I got about 48 MPG. Pretty good for highway driving in a Prius, it made me happy! But that should have been an omen. It turns out most of the driving down to Arizona is literally down. Downhill, that is. Driving back to Vegas is pretty much all uphill. I effectively got 36 MPG going back to Vegas, which is abysmal for a Prius. I actually had to fill the tank in Kingman to make it all the way back. It sucked.

Christmas

Note: over 1,800 words so far! Wow… Long.

Mass was good. It was a nice Christmas Mass. I got to sit next to Ron & Priscilla, Laura’s stepdad and mom. Laura sang cantor at Mass as she always does and had an excellent solo near the end. It actually elicited applause from the congregation, which isn’t really supposed to happen. Haha.

Laura and I headed back home after Mass to collect the gifts we needed to track back on over to the Waltons’ place and to change into non-Mass clothes. So we did all that and headed back out.

Opening gifts was fun. Laura got to open her new Amazon Kindle from me, which I wrapped in triplicate — I wrapped the Kindle and its cover, put it in a box, heavily taped that box and wrapped it, then put that box in another, heavily taped and wrapped again. It was pretty funny, if I do say so myself.

I had a pretty good haul myself. Got this new component shelf I was wanting for the bedroom so we could put an “entertainment center” in there with the TV I scored from work for $50. Laura got me this awesome new Harmony remote to replace the one downstairs and move the existing one to the bedroom. I need to customize the new one with a background image and a new font theme. Hells to the yeah! Other goodies came my way, such as a Bionicle Lego set, Left 4 Dead 2, The Hangover and more. I also got this nice cube of photos from Katie and my other Parkers up in upstate New York, which was totally awesome. I love hand-made gifts.

We transitioned to dinner, which was excellent as always. Unfortunately, the Waltons don’t get the NFL Network, so I kept up with the Titans-Chargers game online via the NFL’s website. Unfortunately for the Titans and their playoff hopes, it wasn’t a very merry Christmas and they got handled, so no playoffs this year. Maybe next year, we’ll see.

Speaking of Christmas sports, the UNLV Runnin’ Rebels had a basketball game against USC. Unfortunately for them as well, they lost, bringing their non-conference record to 12-2. That’s a pretty good record and I think they’ll make some noise in the Mountain West Conference this season. I think, unless they totally implode, they’ll make the NCAA tournament this year, making it three times in four years. Getting back to where the program needs to be!

After dinner we just sat and talked and watched TV. Ron and Laura read books from their Kindles and Julia worked on her Christmas gift to her boyfriend Alex. Laura and I got sleepy, so we headed home to get some sleep.

Cleaning

We didn’t end up going to bed right away. Our house was an absolute disaster at this point. Neither of us had any time to keep things clean and neat while we were both getting Christmas gifts ready for people and I was prepping to head out to Arizona, so the place was very messy. I ended up doing a little tidying up and organizing and breaking down boxes while Laura read a bit more on her Kindle. Then we headed to bed.

The 26th wasn’t a day for straight cleaning. I still did a bit here and there throughout the day, but we had a lot going on that didn’t involve cleaning. Laura had breakfast with her friend David, we both had lunch with some of my old friends from high school and we had dinner with her parents at White Chocolate Grill. Tasty goodness, I had this great penne alfredo. Afterwards, we came home and I hooked up our new bedroom “entertainment center.” It contains the TV I bought from work, as well as a Blu-Ray player and DirecTV HD receiver I got from Best Buy (using gift cards from both the Tuckers and Waltons) while Laura was having breakfast with David. To mount the component shelf on the wall, I used this new DeWalt 14.4V drill I got with a Lowe’s gift card my Dad got for me. The drill was very nice, but some of the studs in my house are so difficult to screw into that I actually have to use slightly shorter screws…

I got all that setup and reconfigured our old Harmony remote from downstairs for the new system upstairs, and voila! I’m particularly happy about the Blu-Ray player, as it can connect to Netflix, Pandora and YouTube. So we can now also watch Netflix streaming in the bedroom off of the Blu-Ray player, while downstairs we do that using the Xbox 360. We can’t use Pandora downstairs, so that’s a plus. Although I’m sure I could find a way to stream Pandora downstairs if I wanted to, maybe via a laptop or something. Maybe I will…

Thus, the 27th! Cleaning day! Collected all of our trash, including the now-empty boxes from our new components and gifts. Broke down the rest of our Amazon boxes and stored those and the packing materials away. Cleaned off the living room and dining room tables, put all of our new gifts away, stored our wrapping materials (well, what’s left of them). Cleaned some straggler dishes, put the previously-clean ones sitting int he dishwasher away. Tidied up the bedroom slightly, but there are still some straggler clothes in there. Did cable management on the new “entertainment center” in the bedroom. Took the closet door off (we’re replacing it with a curtain, it got in the way of some racks of clothes and was more of a bother than anything useful). Cleaned up and organized both the library and loft. The library had my bin of cables and technology parts strewn about because I needed to find cables for the components in the bedroom, so that was a chore. Vacuumed downstairs and upstairs, dealt with piles of mail, dealt with piles of stuff to shred.

We still haven’t gotten the empty boxes and non-food trash bags out of the house. Our trash days are Tuesday and Friday and our trash bins were already 100% full, so there’s nowhere outside to put the new trash. We’re taking it to the curb tonight, thankfully.

Hmm… Anything else? Might be, but trust me, that list I just gave you took quite a long time to do. We ended up having people over in the evening, so we were happy we got all of that squared away. We still need to do hard floor cleaning and some dusting and have a new, smaller stack of things to shred, but other than that I think our house actually looks good again.

Anything else you want to know about my four-day weekend? Oh, I’m pending some more CD/DVD/BD jewel cases because we’re really low and I’ve got paintable cable covers for the bedroom coming soon so that’ll look better. Phew. And I need to cut down our coaxial satellite cable, because it’s too long and it’ll look bad because I can’t figure out how to make it look goo otherwise.

Hmm… I do still have a Home Depot card to use…

Over 3,000 words! WTF!

Sphere: Related Content

Robert Home, Life, Technology , , , , , , , , ,

OMGN4

November 25th, 2009

Unfortunately, OMGN has languished over the last couple years. Really, it’s been in the doldrums since the summer of 2005 when we hit up E3.  That was a fun time, let me tell ya.

I’ve been working on a new database structure and recoding for OMGN over the last 4 months. I still have a long ways to go, but I’m hoping that OMGN4, which is what I’m calling the new system, will work very well. The new codebase is much better and more modern, the database design is also much better and streamlined. And the new design in the works is shaping up nicely so far.

I’m really at a crossroads for what to do with the existing content on the site. I keep flipping back and forth on whether or not I want to retain existing content when migrating to the new site. And if I do retain existing content, what to retain.

See, I’m transitioning OMGN to a more fully-fledged video game information website. No more exclusive focus on small-market games, more professional writing and content management systems, better design, etc. A lot of the stuff in OMGN that exists now is either outdated, not even real video game content or just plain bad. The URLs are all going to change and I’m stripping the new site of a lot of functionality that existed before.

I’m just not sure where to go. There’s some content on the site that I kinda want to retain, such as some of the newer reviews of games, like Shadow Complex. But there’s just so much junk in the old data and issues with old URLs to new URLs and functionality lost, I think the new site might just be brand-new and clean. I’m just not sure what I want to do yet.

Please, this time I want your feedback and ideas.

Sphere: Related Content

Robert Development, Life, Musings, Technology , , ,

Timing Out PHP Soap Calls

October 21st, 2009

So I’ve got an interesting technical post for you today. I know I don’t normally post technical things here on my blog, but I felt this was such an interesting exercise in triumphing over a big issue here at work that I wanted to post about it.

We call several third-party vendors for web-based services in my department. We’re really keen on keeping transaction times low, so we have a set timeout for each vendor to ensure we don’t wait too long. Most of our vendor calls are Curl calls, but we have a couple that use Soap.

Curl has built-in functionality to enable a timeout. PHP’s internal Soap library does not. Thus, PHP’s documentation says to enable the following to set a limit on Soap calls:

ini_set("default_socket_timeout", 5); // 5 seconds

This is all fine and dandy. Or, at least, I thought it was. When we first had an outage with one Soap-based vendor, this timeout mechanism worked correctly. However the second time, it did not. We still waited up to 60 seconds for the call despite our code having not changed. Highly distressing is the word.

I researched this issue at great length, and used one of our own Soap services to test out a theory. I put this into the code:

ob_implicit_flush();
echo " ";
sleep(15);

The ob_implicit_flush() function call forces PHP to send any output as it immediately becomes available. Normally, PHP sends it all at the close of the script, or if you use other output buffering functions. Here, I’m forcing some content to be passed back to the caller then sleeping beyond the wait time of 5 seconds.

The results? It waited. So the socket timeout feature in PHP only applies until you receive content. If you receive any content within the socket timeout interval, it will keep the socket open and continue to wait. The timeout actually serves from the opening of the connection to the reception of content, not the entire length of time the socket will remain open.

Thus, I had to find a new route to keeping our Soap calls short. My next attempt was limiting the script execution time via either of these two functions:

set_time_limit(5); // 5 seconds
ini_set("max_execution_time", 5); // 5 seconds

Unfortunately, this didn’t help. First of all, both of these two functions have the exact same effect and use the same underlying PHP functionality. Secondly, they only set limits for internal PHP execution. Any time you have an external data source or blocking system call, this is not calculated in the execution time (at least on Linux; on Windows everything is considered). So any database calls, Soap calls, system calls… These are untimed.

At this point I was at my wits end. I could not figure out a way to limit Soap calls save for building a barebones script to make the Soap call and calling that script with a Curl call.

I ventured into the Soap documentation on the PHP website to see if there was a way I could use the SoapClient class to build the Soap request XML and to parse a Soap response XML into an object, thus allowing me to transport the XML in whatever way I chose. No dice. However, I did discover something interesting while looking at the documentation.

PHP allows you to extend the SoapClient class, I knew that. What I did not know is that you could override certain functions, one of them being __doRequest(). By overriding this function, you can make the request to the remote server however you like.

So I tested this out. And holy crap, it worked. The input to the function is the actual Soap XML, not a Soap object, and the function simply returns the Soap response XML, not an object. It is also passed a few other things, such as the location of the Soap web service. We’re in business.

I built a class extending SoapClient and enabled timeout functionality. When a timeout is used, it actually uses Curl for the call and sets the timeout there. When no timeout is required, it uses the default mechanism to send the request. See part of my class below. It may not be totally robust, but hey, I just needed a timeout. And I couldn’t give you the entire class functionality either. I gotta save something for myself.

class SoapClientTimeout extends SoapClient
{
	private $timeout;
 
	public function __setTimeout($timeout)
	{
		if (!is_int($timeout) && !is_null($timeout))
		{
			throw new Exception("Invalid timeout value");
		}
 
		$this->timeout = $timeout;
	}
 
	public function __doRequest($request, $location, $action, $version, $one_way = FALSE)
	{
		if (!$this->timeout)
		{
			// Call via parent because we require no timeout
			$response = parent::__doRequest($request, $location, $action, $version, $one_way);
		}
		else
		{
			// Call via Curl and use the timeout
			$curl = curl_init($location);
 
			curl_setopt($curl, CURLOPT_VERBOSE, FALSE);
			curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
			curl_setopt($curl, CURLOPT_POST, TRUE);
			curl_setopt($curl, CURLOPT_POSTFIELDS, $request);
			curl_setopt($curl, CURLOPT_HEADER, FALSE);
			curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: text/xml"));
			curl_setopt($curl, CURLOPT_TIMEOUT, $this->timeout);
 
			$response = curl_exec($curl);
 
			if (curl_errno($curl))
			{
				throw new Exception(curl_error($curl));
			}
 
			curl_close($curl);
		}
 
		// Return?
		if (!$one_way)
		{
			return ($response);
		}
	}
}

Sphere: Related Content

Robert Technology, Work , , ,

Personal Tech Support [2 Updates]

September 17th, 2009

I began my technological career with a job in technical support. I used to work for CSN (called CCSN back then, for Community College of Southern Nevada). I was a lab assistant, where I helped college students with their computer issues. Scanning a picture, email not loading, basically anything that a paying college student needed help with on the computers.

This is a similar start in tech support for just about any techie. Almost all of us have a job doing tech support at some point, and it’s usually one of the first jobs that a techie will have, since it’s an entry-level-type position.

I moved on from that job after about 2 1/2 years to start my first programming job. So I’d progressed in my career to doing what I really wanted to do, and I didn’t have to do tech support anymore. This made me very happy, as tech support isn’t something very many people enjoy. In fact, a lot of techies hate it. I’m now in my second programming job and have been programming for over 5 years professionally now, 9 years personally. I’m also pursuing my MBA.

So why do people still consider me their tech support? Most of the people these days that consider me their personal tech support never knew me in my lab assistant capacity, although Robert Silas (a friend of mine) first met me when I started as a lab assistant, and I still help him with computer things from time to time. I did earlier this week, actually. But he’s an exception because I’ve known him so long and have been helping him for years.

But seeing as most people that ask me for tech support these days never knew me back then, it stands to reason that they assume I’m good at tech support because I’m into computers and am a programmer. Fine, in my case, that’s a valid assumption. But it doesn’t always hold true. I’ve known plenty of computer-savvy people that weren’t good with the people side of tech support. And there are some programmers that really just aren’t very good at general tech support.

So this is starting to irritate me. I apologize if you feel that you, the reader, are the reason I’m posting this particular post on my blog, but this feeling has just been accumulating within me. I really don’t like the fact that friends and family will often just assume that if they have a computer issue, they can call me up whenever to ask me to look at the issue or run things by me in a call. Often, this advice I give is free, and sometimes the actual work on a computer I’ll do is free.

But do you really think that a professional programmer and MBA student wants to do tech support all of the time? I get paid well as a programmer and tech support does not pay nearly as well, especially since people come to me because they don’t want to go pay the outrageous fees that Geek Squad charges, which means they’re expecting me to cut them a deal. My time is worth money, and doing tech support is underpaying me for my time.

Really, what bothers me is people asking if I’m busy on any given night because they need tech support help. I had that asked of me today, actually. And yes, I am really damn busy today. Today is a mega-busy day for me. I have a doctor’s appointment, work, an MBA career services appointment, Julia’s birthday dinner and, depending on how long dinner goes, indoor soccer (unlikely, unfortunately). So yes, I’m busy tonight and cannot be at your beck and call to fix your computer issue, the third one you’ve had this year.

I’m not trying to come across as a jackass here, but I just want people to understand that techies get irritated at being asked for tech support all the time, especially if that’s not their professional field (like me), and especially if they’re busy. I’m curious to see what happens when I’m a technological manager someday (yes, I’m assuming it will happen, but hey, I will get my MBA!).

That’s like asking some manager at a GM plant to come over and work on your car. Seriously folks, that’s what that would be like.

In any case, I’m not averse to helping friends and family with tech support issues, especially not averse to helping family. Just don’t assume that I have all this free time lying around to help you get that virus off your computer, and don’t assume that I have to help you out of the goodness of my heart and get paid very little. It’s not fair to me.

[Update 1]

After a comment from Andrew, I need to amend this article. Well, really, just make sure to read the comments!

[Update 2]

Some people are confused as to what I’m talking about in this post. Don’t be alarmed! If you’re a totally cool person that appreciates any help I give you and tries to pay me back in some or other (even if it’s just, say, lunch), then I’m not talking about you. I’m talking about people that take advantage of the fact that they know me and that I know technology, yet never really offer me anything in return, despite repeatedly asking for help.

Really, I’m just irritated at people that use and abuse my kindness. Most people don’t.

Sphere: Related Content

Robert Life, Musings, Technology

Alarms of Warcraft

August 2nd, 2009

So this is a dual blog post apparently… I thought about splitting it into two, but neither subject is really long enough to devote its own blog post to, unless they’re short posts.

Basically, today had a 45-minute window of blog posty goodness. I called up my Mom to talk to her while I finished up some things here at home and while I drove to church afterwards. A short time after I left my house, I asked her what she was doing at that moment, and she said she was playing World of Warcraft… Yes, seriously. My Mom was playing World of Warcraft. She’s been playing MMOs for a few years now. She started with a couple Disney MMOs, Toontown and Pirates, I believe. Her guild leader in Pirates apparently suggested repeatedly for her to give WoW a try, so she acquiesced and got an account.

Now she’s hooked on WoW. And it floors me. My Mom, playing World of Warcraft? How the hell did this happen? The most popular MMO and she’s playing it. Not only that, I’m not playing it! The reason I try not to play MMOs is because I know I’d get addicted. I have in the past. I played Earth and Beyond for quite some time after its release and I played it just about every moment I didn’t have something very important to do. There’s just too much time required to play MMOs. But here my Mom is, playing a game not even I play.

It’s just a little strange to me… I’m supposed to be the gamer, you know?

In any case, a few minutes before I hung up to head into church, I got a call from a 1-800 number and ignored it. I didn’t recognize the number and I was talking to my Mom for the remaining moment I had before walking in to church (which is nearly midway through service at this moment). Laura called me right as I hung up the phone with my Mom and told me that ADT called her about our alarm going off. Well, I knew who the 1-800 number was now.

I started driving back home and gave ADT a call. Our motion sensor had tripped and they’d already alerted the local police about 10 minutes before I got a real person on the phone there. I let them know I was on my way home and they took down my vehicle information so that the cops would know I was the homeowner.

So I got home before the police arrived and tentatively entered my home… Nothing out of place. No sign of entry, nothing moved, the dog happy as a clam to see me, the cat upstairs. Nada. The motion sensor is downstairs overlooking the dining and living rooms… How on earth it could have gotten tripped without any other zones going off is beyond me. The cat only weighs 10 pounds at the most, and the motion detector requires 50 pounds to set it off. So I have no clue what the hell happened.

I called ADT back and let them know it was a false alarm… And decided to write this blog post in the meantime. I think that the police still have to show up because the call was made, but I’m not sure. We’ll see later today if they show up.

Sphere: Related Content

Robert Home, Life, Technology, Video Games , , , ,

Kochis Computer Graphics

May 13th, 2009

This is pretty cool. My boss had some of his art featured in a highly tech-heavy publication from IEEE called Computer Graphics.

Sphere: Related Content

Robert Technology , ,

webOS

May 7th, 2009

So I’ve kinda wanted to develop applications for the iPhone, but it’s so saturated… I don’t know Objective-C and there are already tons of applications for the iPhone and shitloads of awesome developers for it.

Enter the Palm Pre. It’s built on webOS, which uses HTML, CSS and Javascript to get the job done. This is great for me, since I’ve been a web developer for quite some time.

I’ve just applied to the beta program to develop for the Palm Pre. I’ve got a couple of ideas I want to try, so hopefully they’ll admit me to the program. I’m also curious to see if they’re handing out development-model Pres to work with. That would be cool too, I’d like that.

Let’s hope I get in the program and develop that killer app that’ll make me rich. Haha!

Sphere: Related Content

Robert Technology ,

Trouble

March 10th, 2009

I’m having trouble figuring out what to talk about today for my blog post. There’s not a whole lot on my mind right now that I feel like posting about.

I already talked about Watchmen… And it’s sticking with me. Sometimes media will stick with me after I’ve “consumed” it, be it movies, books, music or video games. When I say sticking with me, I mean it kind-of takes up a temporary residence in my memory. Spoiler Alert Like the scene in Gears of War 2 where Dom finds his wife and basically has to kill her because she’s been broken by torture, that stuck with me for about a day End Spoiler Alert. So Watchmen has stuck with me for a bunch of reasons, be it the story, the romance between two characters… Even the graphic novel stuck with me.

I can’t talk yet about the photo shoot that Laura and I did last night for Project: FH – March 2009. Although you can preview it a little with this post on her blog. The final result of that shoot will be awesome.

I did see No Country For Old Men the other day on my XBox 360 via Netflix. It was a good movie, but the ending wasn’t quite what I was looking for. But oh well, it’s a Cohen brothers’ movie.

Let’s see, what to talk about… I think I’m going to get a wireless bridge for the entertainment center downstairs, that way I can network all of the devices there to our wireless network. Our wireless router sits upstairs and I’m not running cable all the way down to network, so a bridge will suffice. Want to get coach lights and bar lights for the house sometime soon… Blu-Ray player and home theater PC eventually…

I wouldn’t mind getting Street Fighter IV either, as well as The Lost and the Damned expansion for GTA IV. I’ve chewed through a good deal of my Christmas video game haul thusly:

  1. Beat Fallout 3
  2. Guitar Hero: World Tour play continues on
  3. I’m done with Need for Speed Undercover
  4. Not done with Dead Space, but it’s intermittent when I play for various reasons (creepiness indeed!)
  5. Defeated Gears of War 2 campaign and have moved on to online play (Horde mode FTW)

I’ve got some other XBox Live Arcade games I’m in the middle of a bit too:

  1. Braid, I’m a few worlds in on this one
  2. Portal, I want to start doing some of the challenges

Well, there’s a recap for you. :)

Oh, and I tried to make an artistic look at my Zoolander photo from Project: FH – February 2009. I couldn’t make one work very well, there’s too much detail that needs to be kept from the original photo to make it work. Sorry Katie & Sarah!

Sphere: Related Content

Robert Entertainment, Humor, Life, Movies, Musings, Technology, Video Games , , , , , , , , , , ,