For GetMyTweets Users

I needed a very very very simple Twitter plugin for wordpress, just to show my latest tweet. I found GetMyTweets to be just simple enough. Then I started to get some warnings, and reflexively hit the Google.

But to my surprise, doing a query on “getmytweets” on google got me this:

Picture 5

I recently had a couple of warnings with the GetMyTweets wordpress plug-in. These weren’t the same warnings, but you’ll get the gist of it:

Warning: XMLReader::open()
 [function.XMLReader-open]: php_network_getaddresses:
 getaddrinfo failed:
 Name or service not known in
 /blah/getMyTweets.php on line 38

Warning: XMLReader::open(

http://twitter.com/statuses/user_timeline/joshkim.xml?count=1)

 [function.XMLReader-open]: failed to open stream:
 No such file or directory in /blah/getMyTweets.php on line 38

Warning: XMLReader::open() [function.XMLReader-open]:
 Unable to open source data in /blah/getMyTweets.php on line 38

Warning: XMLReader::read()
 [function.XMLReader-read]: Load Data before trying to read in
 /blah/getMyTweets.php on line 39

(Note to self: Fix <pre><code> later. Sorry about that, to everyone who got this post multiple times.)

Obviously, the problem is with being unable to grab the xml provided by Twitter. Due to it’s ridiculous open architecture, I don’t blame Twitter when it chokes now and then (and not as much as it did when the whole Fail Whale was in vogue). For now, I just decided to hide it. Just append the following at the top of getMyTweets.php, just like with any other PHP warnings.

ini_set("display_errors", 0);

I’m fine with this fix, because I made the title for “Recent Tweets” link up to my twitter page anyway.

Now back to Rails.

Day 3: Regroup

After a normal sleep cycle, I returned to my computer to start cracking.

Of course, life threw its usual curveballs. After church, I had realized that my printer was being wonky. I also realized that NewEgg’s return policy on broken items sucks (you have to pay for shipping for sending it back), which makes me not want to order from them ever again unless it’s something like an.. xbox live 12+1 month card. (Which I didn’t get from them, because buy.com has it better. DO IT.) I’m probably continue to order from Amazon… I love everything about this company, from Prime down to its amazing return policy.

That took a while, then I had a couple hours of fun on the guitar as well as the 360. Eh, it was bound to happen.

Productivity

Then I buckled down. I realized all the physical needs of a human being, including sleeping and eating, really gets in the way of doing some productive work. I worked on and am still working on organizing all the web “properties” I have. I’m talking email addresses to AIM screen names to… you guessed it, domain names. Yesterday night, I did something I should have done a while back.

I finally bought joshk.im. Currently, I’m beta testing something called SweetCron, which is perfect for the purpose of that site. I have this strange feeling this might be a project I look forward to committing some changes to. Yes, even though it’s PHP… but it’s so well written! So pretty! I’ve never seen CodeIgniter code before, and it looks very very clean. I’m only used to seeing the insanity that is Symfony. It might just be that the guy who’s writing this thing, Yong Fook, is quite good. It was interesting to find out that SweetCron was going open source just as I found his blog a couple months ago. I really do hope for great things, if he’s reading this.

But alas, I may do something else with my newly acquired shiny domain name. I’m fresh out of ideas at this point, but I really wanted it to be a site for just that.

So What’s The Next Project?

I’m still figuring this out. I hope to have a list of my requirements for this project. Here’s a preliminary list:

  • Must not depend on advertising as the main stream of revenue
    • Basically comes down to freemiums or charge per use.
  • Must use Rails (if I’m doing a web project)
    • This is to learn Rails, btw… I’m not saying Rails is the end all for web projects.
  • Must be doable by “myself”
    • I’m sure I’ll be hitting up people left and right for help, but largely, it has to be my own.
    • It could be a source of pride, but I need to make sure I can do something on my own.
  • Must not neglect health of body and mind
    • This is like… uber important. Must maintain some kind of healthy habits.
  • Must blog daily progress reports, like this one
    • Accountability: So people can call me out. Important thing is to stay truthful.
    • You’re going to see lots of FAIL on this blog starting from… before this blog started to the day I die. I hope to see more WINs in the days to come, though.
    • Maybe, possibly, someone else is trying to do something like I’m doing. Maybe by doing this, I can find someone else who’s trying to do it his or her own way.

Sidepoint: Blogging Schedule

So I’m looking back on February 2008′s posts, and it seems like I stopped blogging like a madman after I found Twitter. Then this blog turned into, for lack of a better phrase, a Twitter archive. But before then, when I actually contributed to the world with some meaningful posts on the web… ugh… 2.0 market and on life in general, I would have multiple posts in various stages of completion.

I’m back at that stage. I have screenshots and halfway finished posts all over the place. I may need to slow down a bit, but I feel so energized.

I want to have these daily blog entries about the status of the “project”, but that doesn’t mean I won’t be doing some other random updates along the way. I have a feeling something about Rock Band 2 is going to get posted. Effing Braid needs to get a good review also. So many lovely post ideas…

Completely Random

Man, what the heck did I do with all this time I’m using up for the blog? I really have no idea. Must have been watching and playing things… Hmm. If I could have tracked all that lost time… but really, what’s the point then? What’s the point of being meta with things that you can’t change if you’ve already changed and are looking back?

Ah, the meta-life post. [Creates a new draft] I’ve deleted and rewritten this post so many times, physically, electronically, and mentally. ARGH.

Rails & The Hype Cycle

It’s eerie. I feel it. I feel it in the feed posts I should be getting.

There seems to be less and less feed items about Rails in general. I don’t know… maybe it’s just me… Obie Fernandez says otherwise:

Simply browse the ruby links on programming.reddit.com or the list of over 2000 ruby-related links on DZone to disprove that lie.

But I don’t know… just this gut feeling that I can’t shake that there’s this feeling of meh-ness in the community.

A lot of things have been leading up to this point for me. Working with PHP at work and having Java as the core for StatusFix (although I’m not actually doing Java, but just being this near to it… makes me feel a bit different) is helping me see more and more that there really is no silver bullet, no matter how much I want it.

But that’s merely just an aside. The point of this post comes from Global Nerdy.

Rails Hype Cycle

It’s very likely that we’re in or very near the Trough of Disillusionment stage in the hype cycle when it comes to Rails. Makes a lot of sense, if you ask me. The way I see it, the hype has worn off. And thank goodness it has, because finally, the Rails community can get to work on making awesome things and stop defending or attacking other positions.

As a crazed extremist that has to have his way, I feel like I’ve still got quite a long ways to go in maturing as a developer/manager. New technologies will come and go, and picking the right ones… well, that’s the hard part. It’s almost like… the stock market.

WordPress Related Fun: TextMate Blogging Bundle's Time Zone Bug and UltimateTagWarrior

REMINDER TO SELF: Times are finally set to the correct Central Standard Time.

This is more of a summary post on what I’ve been doing with this WordPress installation.

Tags Galore

I’ve finally taken some time with WordPress, and it seems like Ultimate Tag Warrior is no more. Luckily, WordPress has nice importers from people who used other tagging plugins in the past.

There are still a few bugs I have to work out with the code I changed when I did use UTW.

TextMate Time Zone Blogging Bundle Issue

I noticed this a while back, but never really looked into it. After poking around the int3rw3bz0rz, it seems like there was an actual bug with the timestamps.

Sidenote: Blogging Bundle. Holy crap, get some nested comments… or a forum… or SOMETHING ELSE. This is seriously why I think blog comments are broken, but that’s another project idea for another day.

Regardless, this is what you want. From the MacroMates wiki:

Specifying Date Created

There has been a few problems related to correct dates. This comes from the fact that the dateCreated argument (in the XML-RPC protocol) has no time zone info, and until WordPress 2.2 it was interpreted mostly as server time.

Starting with WordPress 2.2 this field is GMT and dates should be offset correctly.

Unfortunately WordPress 2.2.1 introduced a Z in the date format which breaks Ruby 1.8.2’s XML-RPC parser — so if you use WordPress 2.2.1 then you need to update your installed Ruby version. If you have MacPorts installed then you can run sudo port install ruby and update your PATH. See RubyVersionIssues for help with that.

Even more unfortunately, the next version of WordPress will revert its date handling to before 2.2 and so, after that release, dates will again use the wrong offset.

Just need to be really careful and just set the timestamp in the “Date” field by adding the appropriate amount of offset. For this post, I would have to add 6 hours to the hour every time I update to make sure I’m not adding a 6 hour offset.

WordPress 2.3.2

Updated. Feels good to be back in the blogging game.

PHP and RSS

Why is it that the top two searches for the string “php rss” shows up as this:

php rss search on google

If you take some time to actually look at Magpie RSS and LastRSS (which I didn’t… silly me), you’ll see that they haven’t been updated since 2005 and 2004, respectively. For some silly reason, I didn’t think about PHP actually having an xml_rss function built into it, and it was only after out of frustration at these libraries not doing what I wanted that I stumbled onto the third link, the IBM article.

This just points out the fact that I’m still living in PHP4 land. Hooray for PEAR.

The More I Look Into the Past…

… the more I see the importance of what’s to come. And yet, it’s funny… I keep just staring into the past for more clues about the future.

I definitely had the case of the Tuesdays, if you get my drift. Things picked up at the end, but man, it just wasn’t a good day. Legacy code kills.

Just recently, I’ve been talking to a lot of people I’ve lost in contact with. I had mixed feelings whilst talking to them… a concoction of happiness and anger, intermixed with a twinge of bittersweetness.

My left wrist is definitely acting up. I feel like I should see a doctor lest I be crippled for life with carpel tunnel. And that wouldn’t bode too well with the career I have in everything Internet ever.

I’ve been voraciously reading up on the feeds. There are a few technical stories you should be on top of. Hopefully, my Google Reader feed is doing you guys a favor.

As with everything else that isn’t PHP or Symfony, I’ve not really had time to dive too deep into it. It might be because Rails was my first MVC framework or that Symfony is basically a not-so-perfect copy of Rails, but I feel pain every time I encounter a roadblock in programming in Symfony. Routing really annoying in Symfony, and the folders… they still annoy me. Maybe I’ll get used to it still.

I guess I should put something of interest with this post. I guess I’ll leave you with this picture from the Minnesota State Fair.

Deep Fried... Snickers Bar... on a STICK

Suffice to say, it was one of the most ridiculous things I’ve ever digested. I’m glad I just got to nibble on it, at least… so I could still be alive to tell the tale.

Yeap. It’s another random post.

Silliness in Siebel

Chalupa, Part 3

There goes the diet.

Been at Siebel for about 9 hours.

Instead of looking at the business-related “documentation” I’ve accumulated over the past couple of days (I cannot believe how useful my Entrepreneurship class notes packet is…), I’ve decided to go and wear the coding hat again.

More and more, I see these two natures battling within me. I really want to be able to wear the two hats well… do I really have to pick? Can’t I be both?

Leveraging Extreme: The Josh Kim Story, Part 2

Continuing from: Part 1

Pendulum: a weight hung from a fixed point so that it can swing freely backward and forward, esp. a rod with a weight at the end that regulates the mechanism of a clock.

  • Figurative used to refer to the tendency of a situation or state of affairs to oscillate regularly between one extreme and another : the pendulum of fashion.

There. Properly defined. JK = Pendulum.

On Caffeine

Oh… that fateful day when Craig and Alex decided to be Venture Capitalists (more like… drug pushers…) in my journey to stunt my growth… I still remember it quite vividly. Front row, Honors Physics, Refrigerator in the back room… Yikes.

Caffeine has become synonymous with hardcore programming. I mean it. You have to be a caffeine junkie to be an awesome programmer it seems. The healthy programmers are few and far in between, and those are the pansy ones. (I’m kidding!)

During my crazy PHP coding years (senior year in high school, freshman year in college), I probably… drank… quite a bit of Dew. I feel like I needed to be up at 7 AM, writing code to properly handle FTP through a HTTP GET request. I remember that Saturday to this day… and how aggravating it was, unable to keep my hands steady as I typed away.

Sophomore and Junior year… not so much. Junior year I got caught up with being all healthy, and so that’s when I reverted back to going hardcore non-carbonated/non-caffeinated. This is the first pendulum swing of this story.

Bawls!

But when Senior year hit… I found these. And I started keeping them in a nice little box, until the day I moved out of my apartment in August of 2006.

I have no clue how many bottles of Bawls I drank that year. I remember some crazy Operating Systems MP (Machine Problems, what UIUC calls programming assignments) which required some Buffalo Wild Wings and two bottles of these lovelies. (Kurt Becker, I miss you!) I remember some crazy case studies I had to pull out for some of my business classes… only brought to you by these blue bottles.

Sidenote: The reasons why I like Bawls so much is that they:

  • Taste Great: I hate Red Bull for this reason. They taste like crap. Bawls, though, taste fruity and delicious. You don’t know that you’re getting jacked out of your mind
  • Bottle: Plastic bottle FTL. Glass dimpled bottles FTW
  • Guarana: Much less jittery than normal caffeine, IMHO.

Very recently, I fell in love with these 59 cent fountain drinks at the nearby gas station. Derek and I would hit them up while we had our Spinter Cell: Choas Theory Co-op fun. Then… I bought three 2 liters, just to start drinking STRAIGHT OUT OF THE BOTTLE. How recently? Try… last month.

However, I’ve gone hardcore hard turkey again. Only things that I drink are milk, water, and juice.

Second pendulum swing.

Maybe the next time I start taking caffeine again, it’ll be in small doses… I mean, come on, caffeine does help when you need that extra kick!

Oh right… I like tea, though. Tea and honey makes me all happy and warm inside.

On Lessons

I’m a proponent for growth. I think this is why I love learning: ANYTHING. I’m afraid I’ll find something that I don’t want to learn… but that’s going off on a tangent.

But as I desire growth in life, I think I’m unsatisfied at times at how slowly I’m growing. Even then, regardless of the pace at which I’m growing, I feel like there are lessons to be learned.

I can’t stop shaking the undeniable fact that I won’t be able to learn all of the lessons. This is why I started writing really really long entries in my journals to begin with: It’s because I wanted to write them down, so that maybe I’ll figure it out, then and there, who I am and why I’m doing such and such. I wanted to find the equations to Josh Kim… more like… the Josh Kim algorithm.

if (JoshKim.getEmotion() == X)) return Y; else return Z;

But it all goes back to pride: I want to be able to tell myself, “Yes, Josh Kim, you did it all on your own. You used logic and philosophy to deduce what the next step is to come.”

What the heck? I have to learn to understand that if I miss the big lesson the first time, it’ll come back and hit me again. The little ones… just stop worrying about them. Prioritize your issues, and then attack them top-down.

Wow, Josh Kim, you’re quite the motivational speaker, even to yourself!

Irony

The irony is that as I just typed that last paragraph, I felt just a little bit better about myself. Yes… I feel like writing is my escape: Heck, it’s the only “art” form I can be somewhat coherent at. I can’t draw, take pictures, make movies… even though I want to… learn…

Maybe one day my dreams of becoming xkcd with a programmer’s twist will be realized. But until then… JK^extreme.

Time to get myself to the gym, and then sleep to the extreme.

More SOAP Related issues

I’ve pretty much given up on this project (Going to be doing the AJAX calls for Google Search… definitely going to be posting another happy post later…). Thinking through Marc’s Question/Comment of why I didn’t use the SOAP libraries that PHP came with, I decided to change a single line in the PHP code to make things work.

From:

$soapclient = new Soap_Client('http://api.google.com/search/beta2');

To:

$soapclient = new SoapClient('http://api.google.com/search/beta2');

Notice the difference? I guess there really wasn’t a reason to even look at NuSOAP, but I really didn’t know too much SOAP back then, and didn’t even know that there was a native PHP library for it.

Now the problem is this error that I keep getting, regardless of using the core PHP implementation of SOAP or NuSOAP:

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn’t find in ‘http://api.google.com/search/beta2′ in /Users/jk/Sites/google/index.php:32 Stack trace: #0 /Users/jk/Sites/google/index.php(32): SoapClient->SoapClient(‘http://api.goog…’) #1 {main} thrown in /Users/jk/Sites/google/index.php on line 32

If anyone has any insight on what the heck this is talking about, do leave me some love. From this point on, if this problem does get fixed, it’ll just purely be for fun, and not for an actual project. I mean, the Google API Key that I have for this project isn’t even mine anyway: It’s from a co-worker.

wasdfps

Lent commitment included nothing about games… crap. Games stopped “playing” (Pun! YES! BINGO!) any discernible role in my life maybe a year ago, so I guess I kinda left them out.

Okay, let me vent a little bit, before I go back and start to cry, looking at my code.

Right now, I feel like my code is shooting me in the face. With an AWP. (Oh, I miss those days… sorta kinda… all those wasted hours on a silly game from the 90s…) I have no weapons to speak of. (Do I get points for really bad metaphors, too?) I’m having one of the hardest times figuring out why my “include” and “require” aren’t doing as they’re supposed to be.

Sidenote: Currently working on: Google SOAP calls to customize the Google search page. All I have to do is include NuSOAP. What the heck is going on? (And like half the links to the sourceforge for NuSOAP is down for some random reason…)

Now… Wasn’t That Roundabout

Okay, back to the point of the post.

  • WASD: the four buttons needed for any first person shooter game
  • ASDF: just another ridiculous computer nerd “joke”… I love typing “asdf”…
  • FPS: first person shooter

Add the three together to get: wasdfps. I have no idea why this is funny. In about 30 seconds, I’m going to look back and say, “who wrote this garbage?”.

Regardless, this sucker’s copyrighted JK 2007 style.

Okay, back to work.