Archive

Archive for the ‘Work’ Category

Food Poisoning, Final Exams & Self Evaluations

December 8th, 2009 Robert 1 comment

So it’s the end of the year, and you know what that means! Yes, it means final exams at the end of my first MBA semester and self evaluations at work!

Food Poisoning

Unfortunately, it also means I got food poisoning… Not that it happens every year around this time. The last time this happened, Laura was either a Copy Editor or the News Editor for The Rebel Yell back when we were both in our undergrad studies at UNLV. That time was really awful, this one was just as bad.

To be truly honest, I’m not sure 100% that it was indeed food poisoning, just as back then I’m not sure what it was either. All I know is that I couldn’t keep any food or water down for very long and there were times (specifically, when I wasn’t keeping said food or water down) that I felt I was going to die. Not the most remarkable experience ever. Thus, I had to stay home from work yesterday, which I didn’t want to do, but hey… Not much I could do about it. I was pretty incapacitated.

Hell, I even considered playing some Call of Duty: Modern Warfare 2 that Laura got for me as a just-because surprise gift (She rocks! Love her!), but I couldn’t focus or concentrate enough to even do that. So I just laid on the couch, intermittently sleeping and “watching” TV and trying to eat and failing.

Today, though, I’m mostly back to normal. Still don’t feel quite right, but I can eat & drink and operate like a regular human being again. I anticipate tomorrow being 100% again.

Final Exams

So enough about food poisoning! Let’s address final exams. Rather, final exam. Just one this time around.

My Organizational Behavior class was structured with an optional final. This means that if you ended up with a decent grade, you shouldn’t take the final simply because if you do worse on the final than the grade you had going into it, you could seriously damage your grade. Thus, I checked my grade. Yeah, with that big beaming A staring me in the face, I’m not taking the final. Boo-yah!

So I only have one final then, and that’s Stats. Ugh. Not the class I want to be taking a final in. I’ve been doing alright in there and I have a shot at an A, it seems, but my group project needs to be pretty solid and I need to get roughly a C or so on the final to get the A. I think I can do it, and I really want to. I’m aiming to have the best grades of my educational career in the MBA program. So far I’ve accomplished bettering my grades at every level, having gotten a 3.4 (unweighted) in high school and a 3.56 in undergrad. If I can better that getting my MBA, then you could say I get better with age. ;)

Self Evaluation

So it’s the end of the year and self evaluations are floating around work. That doesn’t really make me the happiest man on the planet, as I get to sift through an entire year’s worth of work to figure out what I’ve done well, what I haven’t and to note any accomplishments. That, and I’m not particularly good at being assertive and promoting myself very well.

These are things I’ve been working on improving in myself lately, with some mixed success. I figure this self evaluation will be one of my first opportunities to be more assertive and sell myself better within the company. I still haven’t moved up and I want to, so this is a prime opportunity to voice that.

I’m also never really sure how to rate myself. I never have been, really. Like when asked what my level of experience is with different technologies, such as HTML, CSS, PHP, Java, etc. I never know what to say beyond Intermediate. I want to say Expert, but when I say Expert, I take that as meaning I’m leaps and bounds better than your average programmer with those skills and technologies. When I say I’m an expert at something, I intend to convey that I’m THE FUCKING MAN.

Indeed, that feeds into my assertiveness and self promotion. I really should give myself more credit than I usually do. I know that I’m an integral, vital part of my department here at work and that a lot of the stability here is due to me (and my tremendous boss Randy Kochis, to be sure).

I do feel that since I’ve got such an effective boss that I’m a bit overshadowed and get pigeonholed too easily. I just feel that it’s difficult to really shine in my department here at work because Randy is so good at what he does and can take on more and more responsibilities easily. He’s actually one of the people I’m trying to model some of my career after, not a bad example if I do say so myself.

So yeah, my whole point here is that self evaluations are around again and I just hope I don’t over- or under-value myself too much this year. The first year I did these I undervalued myself pretty badly when compared to my superiors’ evaluations of me, and last year I overvalued myself just slightly…

Maybe I’m just destined to be a code monkey the rest of my life??

Sphere: Related Content

Timing Out PHP Soap Calls

October 21st, 2009 Robert 6 comments

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

Categories: Technology, Work Tags: , , ,

Protected: Skills vs Experience vs Personality vs…

September 29th, 2009 Robert Enter your password to view comments.

This post is password protected. To view it please enter your password below:


Sphere: Related Content

Just Keep Swimming

August 6th, 2009 Robert No comments

So at some point in Finding Nemo, Dory says “just keep swimming.” She says this in a way to keep Marlin pressing on to find his son. And in Meet the Robinsons, Lewis is quoted (sort-of) as saying “keep moving forward.” Sometimes, these two quotes are what I and many other people need to remember when things aren’t going as well as we’d like.

I’ve been trying to keep these quotes in mind lately. My MBA courses are fast approaching, so my life will be much more hectic soon and I’ll have to start picking and choosing what extra stuff I’ll do outside of work and classes. I’ve been trying to work here and there on OMGN, as well as in general relax here at home. I’ve also had additional work come in from different people I know and friends I have. I’ve apparently developed a decent network of contacts in regards to my professional career. I’ve just got to figure out how to budget time to still get my other ambitions dealt with while I take classes.

So I’m just trying to keep my eye on the prize here. The road may be long and tough, but I’ve just got to keep on swimming and pressing on. This applies to my career as a whole, not only to just taking classes to advance it. I’m at a point in my career where I feel like it’s time to make the next step and move up the ladder. At all of my jobs to date, I’ve never advanced beyond the “entry level” for my career path. That makes sense, as I haven’t really been in the general workforce for decades. I’ve had jobs for about 9 years now and I’ve been working as a professional developer for 5 years. In the grand scheme of things, that’s not very long.

But it doesn’t change the fact that I want this new challenge. I don’t think the opportunity at my current employer exists for me to move up. Part of it is probably this economy, but my employer recently restructured some people above me, and it looks like they’re trying to remove additional people at the tier just above me, the one I strive for. So I have no idea how I can continue to move up. But I’ll just keep on keeping on, because I feel I’m very valuable to them and I’m pretty sure they do indeed value me quite a bit. I think my boss appreciates all of the work I do, and I really like working with him and the people around me.

I’m pretty happy with where I’m at though. All things considered, I’m in a really good spot in my life. I’m just in one of those moods where I want more…

Sphere: Related Content

Categories: Life, Musings, Work Tags:

I’m Alive!

June 16th, 2009 Robert No comments

Hey look, I’m still alive! Whodathunkit after so few updates over such a long time span. Sure looks bad compared to the times I was able to get in 3-4 posts a week, huh…

Basically I’ve been really busy. Obviously. I’ve had all kinds of things going on, such as work, studying for and taking the GMAT, applying for UNLV’s business school… I’ve also taken on a smaller side project with my friend Andrew, getting some of my creative PHP juices going to make a little extra cash on the side. More money is always nice.

I’ve also had a lot of extracurricular activity going on lately. I’ve had knee appointments, dentist appointments… Lunches with Julia (who finally joined Twitter). Indeedy.

Really, I’ve got something interesting to post about today. The other day a good buddy of mine told me that Laura looks really hot now. Well, she does. She always has been hot to me. But he was mostly referencing her weight loss, which now stands somewhere over 20. I think closer to 25 pounds, but I’m not really sure.

This got me to thinking about how awful men have it when their ladies start losing weight… And before I proceed yes, I know I’m leaving out anything besides heterosexual relationships, but it’s just easier to talk about it this way and it’s a classic example. But yes, men really have it awful.

What the hell is a man to say when his woman is losing weight? It’s a catch-22. There isn’t anything you can say that will be 100% solid.

You’re hotter than before. The response to this is “What, was I not hot enough before? Was I not good enough for you?” Whoops.

You look just as great as before. The response: “None of this weight loss has made any effect? I’m still dumpy?!”

You’ve always been hot to me. The response… Well, I can’t think of a specific response to this, but it could be perceived that you never tell the truth about your spouse’s attraction level. But I think this is the best response out of the three.

So basically, all I’ve been saying to Laura this whole time is yes, she’s hot. Her weight loss does look good but it’s for her, not me. I’ve always been happy with her however she wants to be and am not dissatisfied. Now if I could just figure out what the hell to say…

Oh, on a side note. My weight loss hit a big plateau at about the 190-192 range for over a month, but I believe I’ve finally broken through that barrier because I’ve finally ducked under 190. Hopefully I’ll be posting about my next milestone, 185, here very soon.

I do plan on posting about a variety of subjects soon, so here’s a list that will hopefully keep me on track:

  • San Francisco
  • Chase Auto Finance issues
  • MIT Sloan??
  • Perceptions of programming
  • Deconstructing arguments & conversation
  • Computer building

Sphere: Related Content

Categories: Blog, Development, Life, Musings, Work Tags:

Uber-Buzzy

June 3rd, 2009 Robert No comments

So I know I said that I’d be posting more now that we’ve gotten back from San Francisco, but unfortunately I’ve been really damn busy. With work being more of a mental drain and studying for the GMAT after I get home, I haven’t had much time to hop on here and update you all on life.

I’ll try to soon, I promise! I’m also hoping to tell you about my new awesome powerline adapters I installed at home. :D

Sphere: Related Content

Categories: Blog, Life, Work Tags:

Losing Faith

May 1st, 2009 Robert No comments

Yes, the title is ominous, as it should be. But no, this has nothing to do with religion.

Very recently, a good friend of mine lost faith in their profession. At least, this is the best way I can put this. And it’s not me, so this whole “friend of mine” is not a euphemism for myself. I haven’t lost faith in my profession.

In any case, I had a long discussion with them regarding this. They’ve been a pretty idealistic person for much of their life, as they try to see the good in things and always give people the benefit of the doubt. They believe(d) in their profession and all the good that it could do.

Unfortunately, all of that recently came crashing down. For a lot of their life they’ve had somebody to look up to either personally or professionally. For example, there are plenty of people that IT people look up to, and they’re not named Steve Jobs, Bill Gates, Steve Ballmer or Michael Dell. People like Miguel de Icaza come to mind there.

Sadly, pretty much everybody that outranks my friend has come crashing down to Earth. At least ethically. The high standards and ideals that my friend has set for their profession haven’t been met by anybody but themselves. They’ve reached the point where they are the only person to achieve that pinnacle of hard work, dedication, ethical conduct and excellent production and output. There’s nobody else. Just them.

That really hit my friend hard, and it shocked me too. I always thought that their profession was just chuck-filled with people worth of being looked up to. But maybe not. Apparently not, given how things are shaking out.

I mean, what do you do? What do you do when you’re the hardest worker? When nobody else is as ethical about your job as you? When nobody else cares, when you want guidance and there’s nobody else better than you to give you that guidance? What do you do if you’re in that position and you’re not the top dog? When everybody above you is either incompetent or just doesn’t care?

I can honestly say I’m very happy this has not happened to me. It’s got to be a total system shock, having your faith in your profession crushed and wondering where to go with your career and life. Sure, I’ve dealt with dumbasses and idiots in my career, but there have always been people I’ve been around that hold themselves to that higher standard and actually achieve, rather than fall. I sure hope that if I ever reach the pinnacle and find myself alone, that I’ve reached the top and don’t ever need guidance again. I can’t imagine that feeling.

Sphere: Related Content

Categories: Life, Musings, Work Tags: , , ,

The. Man.

April 28th, 2009 Robert No comments

As many of you are likely aware, I have designs on advancing my career past where I’m at now (i.e. this post, here, this one and yet another). I think the next few weeks, perhaps even months, may go a long way to determining if that is possible.

I currently work in a 3-man development team. PHP software development. It’s fun stuff, especially since my team is totally awesome, easy to get along with, hilarious… Etc. It’s me and another developer and our lead developer. Three guys.

We’ve been pretty tight on a lot of our development since the other developer joined the team (I have more seniority than he does). We’re rarely ever bored with nothing to do and occasionally we have so much to do that we’re unsure if we’ll have to start deploying overtime work.

Well… He’s leaving. My coworker got a really nice job offer from somewhere else in town that is giving him the position he covets, a Software Architect position for PHP. I’m happy for him, but at the same time, I’m going to miss having him around here, and am slightly worried about life after he’s gone.

Don’t get me wrong. I know I can handle all of the systems and things he did when he was here. His coding style and object-oriented-ness is at least on par with me, in some aspects above me. But I know I can handle all of it and learn everything he did (see this post I already referenced…).

I’m just worried about being able to keep up. It’s like I said, we were pretty tight since he’s been here, and in two Mondays from now, we’ll open up the day without him as an employee for the first time in over a year and a half.

That is the point where I’ll basically be responsible for all of our code and systems. If you read the previous post I already referenced now three times, you’ll see that there is indeed a division of labor and types of responsibilities between me and my lead, so it’s not like all of a sudden I’ll be a lead. But I’ll be the go-to guy for coding the systems, for administering certain things of the systems.

This means I will finally be the man as far as all of our code goes. I’ll be directly responsible for nearly 100% of all of our deployed code and systems. This was the case when I first started here, before they started up the system that my soon-to-be-former coworker currently works on. When they started that one they handed it off to my coworker-at-the-time and he handed it off to my aforementioned soon-to-be-former coworker. Never have I really been responsible for it (and yes, all of that hyphenation was fun).

So this is my chance to really, really shine. To be the f’ing man around here. It’s an exciting prospect and opportunity, really, to have this much responsibility. I mean, I’ve always had a decent level of responsibility around here, but this takes the cake.

So I’m hoping that this reflects really well on me. I know that eventually we’ll have other developers join the team and I’ll no longer have to handle nearly everything as far as the code goes, but I’m really hoping that the higher-ups see the good job I’ll have done by that point and consider me for positions above my current code monkey status. That would rock.

So we’ll see what the future brings!

Sphere: Related Content

The Marathon

April 16th, 2009 Robert No comments

I do apologize if you’re sick about reading about how busy I am. But such is my life as of late, and as we all know, I like to talk about stuff that actually relates to me in my blog.

So today is my marathon day. If I survive the day without going crazy and not breaking any bones, then I’ve accomplished an extraordinary feat. Here is my schedule:

  • 7am-4pm: Work
  • 11:30am: Lunchtime mortgage meeting
  • 5:30pm to, at the latest, 8:15pm – Corporate Challenge Flag Football
  • 9:00pm: Work (evening release)
  • 10:00pm: Indoor Soccer

I’ll probably get home at 11:30, where I’ll probably go immediately to bed and wake up the next morning to get to work at 7am again. Oh. My. God.

So let me explain some of these items. Obviously, I have work. But during my lunch break I’ll be heading to rework our mortgage, probably to a decently lower interest rate, which would rock. If that happens, we’ll likely keep our payments where they’re at now, and if we run into issues in the future, cut how much we’re paying to it. It’ll be a nice buffer should we ever need to use it. Otherwise, we’ll pay off the house much faster.

So we also have Corporate Challenge Flag Football this evening. I’ll get into the reason why, but our earliest game starts at 6:30 and our latest goes until whenever. If we keep winning, we keep playing. But I know for a fact that I can’t play past 8:15 and some other people can’t because we all have evening releases at work. Which, of course, is next on my list.

Our evening release should actually be pretty easy. Normally, when we have Thursday evening releases, if I have an Indoor Soccer game later than 7:30, I won’t play. But this evening’s release shouldn’t take longer than a half-hour. So I’m going to head up to my Dad’s place and do the release from there, which is 5 minutes from the Indoor Soccer facility. As long as the release doesn’t take too much longer than we’re anticipating, I will make my Indoor Soccer game at 10.

Wow. Indoor Soccer at 10. Looking forward to that one too. But that means I’ll have at least played in two games (one football, one soccer) and potentially up to four, depending on how the flag football games shake out. I’ll be dead, dead tired. And let’s not forget all of the other busy-ness I’ll be tackling throughout the day.

Oh, I figured I should give you a quick wrap-up to my odd breathing issue. Yesterday it started getting better as the day went on, and when I woke up this morning, it was gone! I’ve had a suggestion that it could have been allergies from a shitload of dust that was kicked up over the last couple days by high winds, as well as hyperventilation, in addition to those thoughts that I listed on the post yesterday. If it happens again, I’ll have to see if I can identify any similar and dissimilar conditions between the two occurrences to see if I can come to a better conclusion.

So as for the reason we’re playing Flag Football tonight — we won last night! But that will be a blog post later today, likely, as I want to expand upon that subject.

Also, Wyatt Gallagher had a pretty interesting post on the state of the USA right now…

Sphere: Related Content

Corporate Challenge Soccer

April 8th, 2009 Robert No comments

So today’s Wednesday. This means that the pool play portion of Corporate Challenge Soccer has ended! So, how did Selling Source fare?

Actually, I’m quite proud of the team. We had issues getting enough women on the team, so we weren’t even sure if we’d be able to play. We ended up actually having 5 women on the roster, but one of the ladies, Celeste, had just given birth, so there was no way she’d be able to play.

Complicating matters, another lady, Emerald, would be unable to play the first two of the three pool-play matches because she would be attending a wedding that evening. So we’d have three women for the first two games and four for the third… Well, not so fast. Initially it seemed like another woman, Melissa, would be unable to play the third game of pool play and any potential matches in the playoffs. We got that cleared up so she’d be able to play, however.

Although this is getting ahead of myself a bit, that wasn’t the end of it. Another of our ladies, Adrienne, wasn’t able to make the third game because something came up at the last moment, so we played all three pool play games with three women. Since we were playing 6v6 and were required to keep three women on the field at all times, our ladies had to play the entire game without a sub… Wow.

So what about the men? No issues, really. We had 6 guys and all 6 made each game. So obviously, the men did the heavy lifting on running up and down the field, but the women really, really contributed.

Now on to the results! We dropped our first game to AAA to the tune of 6-2. It wasn’t as bad a loss as the score suggests really. We were still in the mode of learning how we all played and getting people in the right positions on the field.

The second game we won 6-4 over Nevada Cancer Institute. We felt really good about this win and we gelled pretty well, I thought. Unfortunately, we were eliminated from the playoffs after our second game, as AAA defeated Konami and had a 2-0 record. They held the tiebreakers over both us and Konami because they beat us both, and Konami defeated Nevada Cancer Institute, so we had no way to get ahead of AAA in the standings.

Our final game was against Konami and we took it, 4-3. So we ended with a 2-1 pool play record and a -1 goal differential. Not bad!

I’d like to give shoutouts to all of our players:

  • Melissa – She played keeper the second and third matches and had some great saves. We wouldn’t have won without her back there!
  • Adrienne – Adrienne’s ankle was hurting after the first game but she toughed out the second game and totally mixed it up on offense and defense, getting in the way and breaking up tons of plays.
  • Emerald – She was only able to make the third game, but she made it count with great aggressive play that helped us maintain possession of the ball and pressure the other team.
  • Beth – Beth, like Melissa, played all minutes of all games and was instrumental in defending the opposing women. She made a bunch of great plays and had several bang-up passes.
  • Matt – Matt was always running to the ball and always applying offensive and defensive pressure. His high motor always kept the rest of us giving it our all.
  • Eric – Eric, despite the final score, made several great saves in our first game as keeper. Afterwards, he was a great all-around player on the field filling whatever position was necessary on the field.
  • Ray – Ray had some great footwork and offensive work to setup scores for us. He wouldn’t back down from any challenge and made sure to give it his all on the field every time.
  • Alec – Our resident Brit, Alec played a variety of roles on the team and always came in to assist on defending against more skilled players. His great ball handling and vision of the field opened up many good scoring opportunities.
  • Demin – Demin was by far our scoring machine. He had 8 of our 12 goals, I think. He also had really great ball handling skills and was able to slice his way through opposing defenses.
  • Me – Um… I had an assist on a Matt Piper goal once. :)

The ladies on the team were troopers for sure, and despite playing a lot of time, they still made plays in all three games the whole match. I’m really proud of this team considered the circumstances, and it being our first year for Corporate Challenge Soccer. I hope to be able to play with as many of them as possible in the future.

Sphere: Related Content