The RubeTube

Life's a cube.  Solve it.


February 09, 2007
As you can probably imagine, a lot of people (including my dear friends) misspell "Punzki", intentionally or otherwise. This has led to the creation of such monstrosities as "Poonski", "Punsky", and--God forbid--"Funskie".

(I do realize that this is partly my fault because I don't usually spell out my name when I introduce myself to others as Punzki. But you could have asked, right? I don't bite.)

Let's dissect the parts of my moniker and discuss the common mistakes when spelling them:
  • F instead of P in Punzki, e.g., "Funzki"

    When people do this, they are usually just trying to be cute, but I get irritated with this particular intentional bastardization of my name.

  • oo instead of u in Punzki, e.g., "Foonzki"

    Again, not cute.

  • The n in Punzki is mandatory. You absolutely cannot get this wrong.

  • s instead of z in Punzki, e.g., "Punski"

    Conditionally excusable. The exception is when you know what my real name is, which has no letter S in it at all, and you realize that Punzki is derived from my family name.

  • Not putting a k in Punzki, e.g., "Punzi"

    Partly excusable, because sometimes the strong "z" sound can overpower the "k" sound and you end up not hearing it. On a side note, my brother's nickname/Net handle is "Punzie".

  • ie or y instead of i in Punzki, e.g., "Punzkie", "Punzky"

    Acceptable, although "ie" is very close to qualifying as asking-for-it.
Now if you are any good in discrete math, you will realize that given these parameters, there are 48 possible ways that you can screw up my name (48 = 2 x 2 x 2 x 2 x 3). Take your pick, please (the ones in bold are palatable for me, most are toward the end):
  • Foonsi
  • Foonsie
  • Foonski
  • Foonskie
  • Foonsky
  • Foonsy
  • Foonzi
  • Foonzie
  • Foonzki
  • Foonzkie
  • Foonzky
  • Foonzy
  • Funsi
  • Funsie
  • Funski
  • Funskie
  • Funsky
  • Funsy
  • Funzi
  • Funzie
  • Funzki
  • Funzkie
  • Funzky
  • Funzy
  • Poonsi
  • Poonsie
  • Poonski
  • Poonskie
  • Poonsky
  • Poonsy
  • Poonzi
  • Poonzie
  • Poonzki
  • Poonzkie
  • Poonzky
  • Poonzy
  • Punsi
  • Punsie
  • Punski
  • Punskie
  • Punsky
  • Punsy
  • Punzi
  • Punzie
  • Punzki
  • Punzkie
  • Punzky
  • Punzy
Of course, I didn't generate those names myself... I wrote a program to generate those. Steal the source code, if you wish. (I decided to use C++ because all I've been doing lately is C# and Java and I was afraid I was getting rusty.) The Punzki nickname generator is pretty flexible, so if you have an oft-misspelled nickname as well, you can change the source code and compile and run it yourself, but be sure to let me know about the results!

Labels: , , , , ,

January 28, 2007
I've mentioned before that I'm terribly hooked to Yahoo Fantasy NBA. I tune into the Yahoo NBA boxscores every morning to see the stats of my players (and I have four teams to check up on!). But I find it annoying to have to open the boxscore page of every game and collate the stats of my players just to see how my team is doing. Yeah, I could wait until the end of the day, but I'm afraid my level of addiction can't afford me that much patience.

I've had enough of doing this so I came up with a solution: create my own tool to gather the stats of my players in real-time and put them all on one page. So I've been spending my spare time the past two weeks not blogging and instead working on my pet project. And here's the finished product: Fantasy Sports Live!

Fantasy Sports Live!
(a.k.a. "FSLive") lets you see your fantasy team's stats as the day's games are being played, without having to pay for "premium" services like Yahoo's StatTracker. It's completely free to use and it's pretty fast too! I use it every day, of course. It's only for Yahoo Fantasy NBA players right now. If you're a Yahoo fantasy baller, check it out and let me know what you think.

Whether FSLive ends up as a commercial success or not, I've certainly had a lot of fun just working on it. This project has allowed me to merge two of my biggest passions: fantasy NBA and programming. And it's also helped me learn a ton of new things along the way. Here's a partial list of the technologies and techniques that FSLive is built upon:
  • C#
  • ASP.NET 2.0
  • ASP.NET AJAX 1.0 (formerly Codename "Atlas")
  • The big three: HTML, CSS, JavaScript
  • Screen scraping techniques
  • A heavy dose of regular expressions
  • A small dose of ASP.NET caching
  • RSA encryption in .NET and in JavaScript (learn how!)
Currently it's hosted for free on AspSpider.NET but I've recently purchased my own domain (punzki.com, not yet up!) and web hosting, courtesy of Philhosting.net. My account there is not yet set up, but it's already paid for and I'll be moving everything there (FSLive and The RubeTube!) soon. For now the actual URL for FSLive is http://fslive.notlong.com which simply redirects to AspSpider. Funny, it took the FSLive project for me to go and get my own domain and ASP.NET 2.0 space. Really should've done that earlier.

Before I end this entry, I'd like to thank Borgy for helping me test, promote, and improve FSLive. FSLive is already getting hits from people around the world thanks to Borgy's effort in spreading the word. If you'd like to help promote FSLive, find out how. FSLive for teh win, baby!

Labels: , , , , , , , ,

January 18, 2007
(Warning: No one but the geekiest of IT professionals will appreciate this anecdote I am about to share. Prepare to be excited.)

One of the projects I'm involved in at work right now requires the hosting of a number of files on an intranet web server. After going through the proper channels and a considerable amount of red tape, a Windows Server 2003 machine was provided for us. However, it was completely useless for our purposes as it did not have IIS installed. (What use is Windows Server 2003 without IIS?!?)

As the lone resource allocated to the project, I was given admin access to the server so I was able to connect to it remotely. I attempted to install IIS (by adding the Application Server role) but the installation files were not to be found anywhere on the server. I had a choice to make. I could
  1. Go through the proper channels, get stuck in more red tape, and have the experts install IIS on the server; or
  2. Be the hero and find my own way to install IIS.
I initially tried Option 1, but since our client needed the files hosted as soon as possible, I realized there's no way I can wait for the cavalry to arrive. Equipped with the right tools and a couple admin passwords at my disposal, I decided to give Option 2 a try. I tried out different methods.


Method #1 - The brute force approach (Kids, do not try this at home!)

I couldn't find an installation disc for Win2K3 anywhere around the office and I didn't want to download the whole thing off of MSDN. All I needed were the IIS files. So I thought that maybe the installer can use the files off of an existing IIS 6.0 installation.

I had remote admin access to another Win2K3 machine which I knew had IIS installed. This second server was on the same network as the one I was setting up. A file search revealed that most of the files the installer was looking for were to be found in the WINNT folder and its sub-folders. So what I did was point the installer in right direction by telling it to look in the ADMIN$ share (which by default points to WINNT) of the second Win2K3 machine. I had to change the source path from time to time, but it was less of a hassle than the alternative.

I thought it was smooth sailing from there on in, until I reached the halfway point of the progress bar, when the installer started asking for "iis6.cab". But of course, iis6.cab didn't exist on the second machine because it only contains the contents of iis6.cab, not iis6.cab itself because it didn't have the actual installation files. Sadly, I had to abort the operation.


Method #2 - Slightly less brute brute force (Do not attempt without adult supervision)

I was resigned to having the experts install IIS when I realized another resource. I had dabbled a some time ago in researching on BizTalk and for testing purposes, I used a virtual machine which I downloaded from here. I remembered that it had Win2K3 installed, and more importantly, it had all the installation files on disk (for evaluating the different server functions).

I couldn't access the virtual machine from the remote server (VPN reasons) so I first copied all the installation files (around 700 MB) from the virtual machine to a folder on my local machine. I shared this folder over the network and I pointed the installer to this share. Because of the slow connection, I waited half an hour, but it worked! IIS was installed!


Post-installation

One of the requirements for the project was hosting some videos on a website. For this, I decided to use FLVs and FlowPlayer, a free embeddable FLV player. I got the FLVs and FlowPlayer up on the freshly installed web server, but somehow, the FLVs weren't being served and I was getting "Page cannot be found" errors. In another funky solution to a funky problem, the Wikipedia article on FLVs revealed a hint: the MIME type for FLVs was "video/x-flv".

(You can configure MIME types for a website by opening its properties page in the IIS snap-in, going to the "HTTP Headers" tab, and clicking on the "MIME Types..." button.)

I got around to telling the proper channels that their help was no longer necessary and was lauded for my brilliantly creative yet unorthodox solution.

Labels: , , ,

December 25, 2006
By the N-th day of Christmas my true love will have given to me

F(N-1) + ((N * (N+1)) / 2) gifts,

where F(N) = total gifts received by the N-th day, given that F(0) = 0.

MERRY CHRISTMAS!!!

(Before you rebut with your mathematical arguments, please take note: the formula refers to the cumulative total number of gifts received by the N-th day. Also, if anyone will do me the favor of converting the recurrence relation into an explicit formula, that'd be an awesome Christmas present.)

Labels: , ,

December 17, 2006
Last Thursday night, Simon's team had a Christmas party (#3 in my marathon) at Simon's house. We had agreed at the previous week's team meeting that we'd do an exchange gift at the party.

Being the total geek that I am, I volunteered to write a program to generate the exchange gift assignments. I fired up Visual Studio 2005 and coughed up a C# exchange gift program in less than 15 minutes, whose source code you can download free of charge. Granted, automating the process is not as fun as drawing names from a jar, but it does have its advantages:
  1. It doesn't require everyone to be physically present at the assignment drawing.
  2. It's faster than the manual process.
  3. By allowing the user input of a seed for the random, the assignments can be recreated in the future.
  4. I had much more fun than if we had drawn names from a jar.
I had Ian give me a seed which I inputted into my program to generate the assignments, which I then emailed to the whole team. There were some who complained of "luto" when they saw that Simon (our ever-thoughtful manager) was my exchange gift "parent", but hey, it's (literally) just the luck of the draw.

Labels: , , , , , ,


About me



Mark Punzalan
a.k.a. "Punzki"
Location: Redmond, WA
Occupation: Softie

Current tag-line:
I'm alive!
Now reading:
The Bible (really!)
Latest obsession:
NBA playoffs (via streaming)

Around the web:
punzki @ punzki.com
punzki @ Blogger
punzki @ del.icio.us
punzki @ LinkedIn
punzki @ Friendster
punzki @ Bloglines
punzki @ YouTube
punzki @ Multiply

Email me: punzki@gmail.com

Search

RSS feed



What is RSS?

AdSense


Et cetera




Locations of visitors to this page


Pinoy Top Blogs
Fantasy Sports Live!
Firefox 2

Creative Commons License
This work is licensed under a Creative Commons License.

Powered by Blogger
and Blogger Templates