Fantasy football: temporary trades, borrowing, and collusion

Here’s the scenario: player A has two QBs on a bye in Week 8, and player B has two QBs on a bye in Week 9. Both players want to keep their QBs, but they also need to cover their respective bye weeks. To solve the problem, they work a temporary trade where they swap one of their quarterbacks before Week 8, then swap back after Week 9. Is this collusion? Is this a legal trade?

Intuition says that something fishy is going on, but producing a rational argument is difficult. The arguments I found on the web were frustrating, boiling down to nothing-statements like, “It’s illegal because it’s unfair.” The problem is that the classical example of collusion involves a lopsided trade, where Team A becomes weaker in order to make Team B stronger. But in the case where the teams are borrowing from each other at equal value, the balance of the trade is even.

So I was left trying find a logical reason behind the following two assertions:

  • ALLOWED: a permanent trade that is mutually beneficial to both owners.
  • NOT ALLOWED: a temporary trade that is mutually beneficial to both owners.

For me, the key was to view the trade graphically. Consider two teams, each having a roster of 9 players. Here are what the teams look like before a trade:

Two teams prior to a trade

When dealing with a permanent trade, any number of players move from one team to the other, but the teams are still separate entities:

Two teams perform a permanent trade

But when we deal with a temporary trade, then during the time period in question, the two teams are overlapping their rosters:

Two teams overlapping their rosters via a temporary trade

By performing a temporary trade, these two teams have effectively done the following:

  • circumvented the roster limit by storing a player on each other’s bench.
  • gained access to quality players at no cost.
  • formed an alliance that, while acceptable in a game like Risk, really is not in the spirit of fantasy football.

I think those reasons are sufficient to nullify any temporary/mutual borrowing trades.

If you’re curious, I originally began exploring this idea when commenting on this blog entry.

Posted in Fantasy Football | 6 Comments

The annual fantasy football woes

Just like last year, I am finding that what I thought was an awesome draft has turned out to be less than mediocre. The season is halfway over in my 16-team league, and I remain unimpressed with my top 10 draft picks:

  1. Matt Forte (7th overall) – I thought I was getting a great deal by having Forte drop out of the top 5 and into my hands. Drew Brees was on the board, but my thought was that an elite RB was too good to pass up. Of course, what has happened is that Forte has been a bust – you don’t spend a 1st round pick on the #30 RB in fantasy point (FP) production.
  2. Andre Johnson – an exception to my poor draft, the first WR off the board has paid off. Johnson is the #1 WR in my league, meaning that finally one of my players has lived up to their draft expectations. If only this happened more frequently for me…
  3. Greg Jennings – deciding to secure two elite wideouts, I took the 5th WR in the draft with Jennings. Yes 5th off the board, but currently 32nd in FP production. Roddy White, Marques Colston, and Chad Ochocinco are all looking really good in hindsight.
  4. Jason Witten – my league has no TE position, but does have a WR/TE slot. My thought was that Witten should produce like a high-end receiver, but being the #59 WR/TE isn’t what I had in mind with a fourth-round pick. Witten consistently gets a number of short targets by Tony Romo, but the TE’s last three FP totals of {3, 4, 5} just aren’t cutting it.
  5. Willie Parker – ugh, see my 10th pick.
  6. Carson Palmer – there was a big run on QBs early in the draft, but I decided to be patient and go for a middle-tier QB later on. Palmer is currently the #7 QB in the league and just came off a 5 TD game. He’s been up and down throughout the season but I’ll feel pretty good if I end up with a top 10 QB in the sixth round.
  7. Marshawn Lynch – Lynch fell really far in the draft due to the suspension. When Fred Jackson performed well in his absence, I began to worry that Lynch was not going to pay off in the way I had hoped. His post-suspension output of {4, 12, 7, 10} isn’t spectacular, but certainly nice for a 7th rounder.
  8. Kevin Walter – I just dropped Walter this week. Coming back from the injury with a 16-FP game, I thought I might have something good on my hands. However, I can’t reserve a bench spot for a WR whose last four games have been {4, 3, 2, 2}.
  9. Matt Cassel – meh, a low-end draft pick for a low-end QB. Can’t really complain about this one, especially since I’ve just traded him away for Matt Hasselbeck who hopefully turns things around and stays healthy.
  10. Rashard Mendenhall – I had the foresight to draft Parker’s handcuff, but not the patience to retain him on my bench. In the early goings of the season, it looked like Parker would be the guy for the Steelers. Now Mendenhall is the #16 RB and playing for one of my opponents.

Despite the lackluster draft and the Mendenhall blunder, my team is still 4-3. I’ve made good moves with free agent DSTs, cashing in on a 25-FP performance from Denver, and a massive 43-FP from the 49ers. Surprisingly, kicker Lawrence Tynes has been a solid free agent acquisition, averaging over 10 FP/game. I also managed to have a good run with Glen Coffee, using the RB to help me through a couple of bye weeks.

The second half of the fantasy football season is going to be crucial for my team, the Shambling Corpses. If Forte, Jennings, and Witten can get going, then I should be playoff bound. If not, then I’m just going to have to keep hitting that DST lottery.

Posted in Fantasy Football | Leave a comment

Tales of Monkey Island: Launch of the Screaming Narwhal

I was very excited when I learned that the Curse of Monkey Island franchise had been given new life by Tellgame Games in the form of the episodic Tales of Monkey Island. My excitement grew when I learned that I could download the first chapter, “Launch of the Screaming Narwhal”, on the Wii for $10 dollars. Then I actually played the game and my excitement stumbled to the erratic rhythm of the game’s poor performance.

I really thought that the Wii would be a perfect fit for Monkey Island‘s vibrant graphics and slow puzzle/adventure pacing. But the game is somewhat choppy with load times that, while not outlandish, seem a little excessive given the content they’re serving up. If you run across the screen, the seams really begin to split open as the video shifts violently and the audio hiccups and repeats. While not a console powerhouse like the PS3 or XBox, the Wii does run Super Mario Galaxy just fine… I would think it should be able to handle the relatively pedestrian needs of Launch of the Screaming Narwhal. My best guess is that the game just isn’t optimized for the Wii; perhaps they wrote the PC version, then used some sort of generic porting utility to get it running on the Wii.

Performance aside, the look and feel of a Monkey Island game is duplicated quite well. The music, characters, Caribbean backdrops, entertaining puzzles, and amusing dialogue are all present – even Dominic Armato is back to voice Guybrush Threepwood, Mighty PirateTM. And yes, annoyingly the TM symbol appears in the dialogue subtitles. The game’s sense of humor wasn’t as good as I remember it, but perhaps I’m just viewing the past with rose-tinted glasses. Though certainly, Launch of the Screaming Narwhal is clever, funny, and includes a few “LOL” moments. Graphically… well, when your non-techie girlfriend says, “These graphics suck, can we play Fallout?”, you know they aren’t exactly brilliant. I thought they were fine, but I did expect them to be a little higher-res.

Quite a lot of complaining for a game that’s only $10, huh? There was enough content there to last me somewhere around 6-10 hours, so the price is well worth it. I definitely intend to purchase the next chapter, and am hoping to see some performance enhancements on the Wii, though I’m not holding my breath for that. Overall, I found Launch of the Screaming Narwhal to be relaxing, lighthearted, and fun – just want you want from the Monkey Island franchise.

Posted in Video Games | Leave a comment

Volume discounts with PayPal Merchant Services

You’re probably not going to like this solution very much.

To set the scene, PayPal’s “Merchant Services” contains a fairly straightforward webapp to generate “Buy Now” and other such buttons. When we needed to sell a product at work, I figured that the steps would be as simple as:

  1. Generate the button
  2. Slap it on our website

Unfortunately for me, we were offering a volume discount (AKA, bulk rate) so that the price of the item was different depending on the quantity. After much mucking around in help pages and documentation, I found the “solution” in the PayPal Developer Community forums: Volume Discount with Shopping Carts

Long story short:

  1. Don’t use PayPal’s button generator
  2. Download the zipped HTML file referenced in the forum
  3. Read the HTML file and its source, giving you the knowledge to:
    1. Add some generically-written javascript functions to your site
    2. Create a custom HTML button (i.e., not generated by PayPal)
    3. Add the HTML inputs and inline javascript needed to drive the functions
  4. Tell your bookkeeper to double-check the payment amounts because any tech-savvy person could submit a form with whatever prices they please

The problem is that when using your own custom buttons, PayPal cannot do any validations on their end. You send them item names and amounts, and they’ll happily charge the customer for whatever happens to come across the wire. From my limited research, I think you can do this more cleanly if you implement your own shopping cart, and interface with PayPal in a more secure way.

But for the “simple” stuff, the best way to get started would be by perusing the PayPal Developer Central’s Simple Integration section. I found the HTML Variables for Website Payments Standard to be particularly useful. It really wouldn’t be that hard for PayPal to implement volume discount functionality on their end, but I suspect that maybe it’s something they are trying to sell in a “Pro” version.

Posted in HOW-TOs, Programming | 2 Comments

Rainbows End by Vernor Vinge

When I saw that one of my favorite scifi authors, Vernor Vinge, grabbed the 2007 Hugo Award for Rainbows End, I had to pick up a copy. Heh, I was just about to compare the book to Neuromancer and Snow Crash when I flipped it over and saw a quote starting with: “In the grand tradition of William Gibson and Neal Stephenson…”

Anyway, yes, this is definitely something of a hacker book, though not with the dark passion of Neuromancer, nor the wild ride of Snow Crash. This book is basically a very educated projection of what the world will look like in 2025. The key technology is advanced contact lenses that can provide a virtual reality overlay and Internet access – smart clothing helps to create an interface that is faster and more powerful than the traditional keyboard and mouse. As a computer scientist, Vinge is able to create a very believable view of around 15-20 years into our future.

For me, the best part of this book were all the computer references – I think my favorite was, if I’m not mistaken, a shout out to GNU Hurd. Rainbows End is a far cry away setting-wise from the likes of A Fire Upon the Deep and A Deepness in the Sky, but we do wind up getting at least a peripheral view of some of Vinge’s past themes: artificial intelligence and mind control.

Overall, this was not my favorite of Vinge’s work. It’s a good scifi book to be sure; perhaps I’m looking for a level of escapism that Rainbows End‘s near-future setting didn’t provide for me. Anyway, time to figure out where to slot this one in my SciFi Leaderboard

Posted in Books | Leave a comment

BioShock

BioShock is an astounding addition to the top tier single-player FPS’s that I have played (Metroid Prime and Resident Evil 4 come to mind). This post will not contain any spoilers because the story is something that you really need to experience for yourself. Set in a dark Ayn Randian hellscape in a decaying underwater habitat called “Rapture”, BioShock has arguably the eeriest, scariest atmosphere in any video game to date.

And that horrific atmosphere is the reason why I’m glad that I finally beat the game (with the “good” ending). I have always found video gaming to be an immersive experience, and this is especially so when dealing with a high quality of realism and art. The downside is that wandering through a bloody nightmare with twisted creatures jumping out at me isn’t exactly relaxing. Near the beginning of the game, you’re plunged right into the surgery center – I think you can guess what sort of horrors awaited me there. I initially thought that BioShock might be a little too gruesome a pursuit for me.

But like Resident Evil 4, the quality was just so good that I eventually had to pick up the controller and keep going. In the early goings, the enemies were raking me over the coals, but the tables soon turned, especially when I realized that you can effectively pause the game when switching between your weapons or your plasmids (read: magic). As the game progressed, I found myself frustratingly full of ammo and money – no survival horror going on here. My OCD juices began taking over as I carefully scoured and explored each map, hacking every machine, collecting every item, and hunting high and low to leave nothing behind. On the plus side, such behavior lets me see all the details, graphics, and artwork that the BioShock team put together.

Often when I do my “pack rat” routine with video games I wind up being ridiculously over equipped, and this was no exception. I took a cue from some of the tips on the loading screens and started to use my arsenal a little more, but I didn’t have nearly the amount of fun I should have. One of the tips wanted you to toss a proximity mine on the ceiling, then use a cyclone trap to send an enemy skyward into the mine. I guess I was too focused on efficiently killing the enemies to start thinking about setting up contrived death scenes. Though I did enjoy freezing them and then using a shotgun blast to shatter their frozen forms.

One thing I was a little surprised about was that the game would get laggy every now and then. Obviously the PS3 was having some difficulty in keeping up with the action at certain points. The worst was a moment when I was tracking a spider splicer on the ceiling – a security bot I’d hacked was attacking it, and I was blasting the splicer with my shotgun. The game floundered to like, one frame per second, before the splicer finally fell dead to the floor and the regular pacing resumed.

In the end, I was tremendously impressed with this vision of an Ayn Rand society gone bad. The political philosophies of Rapture, the 1950s style ads and decor, the creativity behind constructing this crumbling city beneath the ocean, the voice talent and dialog, the excellent plot complete with genuine surprises… BioShock is quite a production. Take the best and the brightest, and allow them to build a society without restrictions of government and societal convention. Atlas Shrugged, indeed. 9/10.

Posted in Video Games | Leave a comment

Online play in Tiger Woods 10: a miserable failure

I picked up two copies of Tiger Woods PGA Tour 10 for the Wii as a Father’s Day gift. The idea was that I could spend some quality online time with Dad by playing a round of golf every now and then. To start with, I dropped by the parents’ house and we played a few rounds in their living room. It was a blast. A little smack talk, admiring the courses, exploring the game mechanics, playing the front nine at Pebble Beach – we had a great time.

Setting our phones on speaker, I figured we could have a similar atmosphere remotely, watching the action online from our respective 50″ plasmas. We started a “Simultaneous Play” game, only to quit in disgust after about two minutes. Desperate for a decent round of golf, I hopped in the car and made the 20-minute burn over to the parents’ place.

Here is what the manual says about simultaneous play:

Play with 2-4 players in a Stroke Play match without having to wait for the other golfers to shoot before hitting your shot. The all-new Simultaneous Play lets you play quickly, as if you were playing by yourself, while each opponent’s shot is indicated with a real-time, uniquely colored shot arc.

If the game is like “playing by yourself”, then what the hell is the point of playing online!? As if that weren’t bad enough, the game throws a 30-second timer on the screen at the start of every shot. Instead of the leisurely, interactive experience I was hoping for, EA Sports has given me a goddamn assembly line. I am not alone in these complaints.

Perhaps when considering this game I should have put more research into how the online component was implemented. From a technical standpoint, I can understand why they chose to go this route; network traffic is probably nil when the only information you’re sending back and forth is a single shot arc every 30 seconds. And you’ll definitely close those network connections in a timely manner when the shot clock is pushing you along. EA seems to have chosen the laziest possible way to create online play – barely one step ahead of playing chess by email.

In the end, EA Sports has produced an online experience that completely eliminates the fun of playing with a live opponent. I thought that perhaps the “10” in the title indicated a level of maturity that would include every feature you could possibly want. While the game itself is awesome, it looks like I’ll have to wait to see if version 11 will provide actual online play.

Posted in Video Games | 1 Comment

sh: read: -p: no coprocess

Just thought I’d throw this out there since I don’t see many google hits on it. The problem (on OpenBSD 4.4):

$ read -p "Enter input: " MYVAR
sh: read: -p: no coprocess

Oh, of course, “no coprocess”! Surely, if I can somehow just add a “coprocess” then my read command will work… </sarcasm>

Anyway, I dug through info sh to see how the read command works on my OpenBSD system. Apparently one needs to format the command like this:

read MYVAR?"Enter input: "

Posted in HOW-TOs | 1 Comment

I hate licensed software

Speaking as the “IT guy” for my workplace, I hate obtaining/installing/upgrading licensed software. This hatred has little to do with the monetary cost or purchasing process; it’s the backbreaking overhead that one incurs when dealing with licensing. The pain is even more acute when you compare it with the ease of open source software:

zypper in OpenOffice_org

The above command installs a fully-functioning office productivity suite on an openSUSE system. Of course you could do the equivalent through a GUI if you aren’t comfortable with the command line. You can probably guess that obtaining and installing Microsoft Office takes quite a few more steps than that.

Back to the subject of licensing overhead, I can slot my complaints into a few categories:

Hiccups

I’m defining “hiccups” as all the little stumbling blocks toward obtaining licensed software even after you’ve gone through the purchasing process. Example:

  1. Purchase a volume license for MS Office.
  2. HICCUP! I need an eOpen account.
  3. HICCUP! I have to use Internet Explorer.
  4. HICCUP! The eOpen account that I created months ago, and even have a confirmation email for, does not seem to work.
  5. HICCUP! Create a new eOpen account and associate my volume license with said account.
  6. HICCUP! No product keys found.
  7. HICCUP! Call the original vendor; they suggest problem is due to <NONSENSICAL REASON>; they email me the product key.

Can you see how much time this wastes? I have so much stuff to do – I just want to toss MS Office on this person’s computer and move on, but I’ve got to grind through all these obnoxious problems.

Another example:

  1. Purchase downloadable copy of some chemistry software.
  2. HICCUP! I don’t get the email containing the download link until over two hours later.
  3. HICCUP! The link doesn’t work; yes, I’m very carefully copying the URL.
  4. HICCUP! Call customer service; am told to forward the email to them.
  5. HICCUP! After one hour, still waiting on a reply.

And there are plenty of other examples. Maybe the problem is that vendors are still struggling to streamline their digital distribution procedures. All I know is that their efforts to protect their product are burning my time into ash.

License tracking becomes my responsibility

Yeah, this is probably part of any IT guy’s job, but I have to make sure that I keep track of all software versions, product keys, and installations. Some licensing sites will do that for you, but then you just have more places you need to look.

My gripe is that because the software happens to have a license associated with it, I have to do extra work. For whatever reason, this is far more annoying to me than the work I do to track a physical item, like an LCD monitor. Perhaps the reason is that I can move the monitor anywhere and use it for any purpose – without worrying about entering a product key or thinking about previous installations.

User education/enforcement

No, just because we have a copy of Photoshop doesn’t mean that we have an infinite volume license. The license agreement is for a single user. Yes, it allows you to install multiple places because 1) a single user often has a desktop, a laptop, and maybe a home computer, 2) that single user may need to reinstall the software, and 3) trying to limit installs with some sort of copy protection is probably more trouble than it’s worth.

In my small workplace with many computer-savvy, independent thinkers, I’ve had to work to pull the reins in on licensed software. Example:

CONVERSATION BEFORE ME:

Person A: Where are the install disks for software X?
Person B: Here.

CONVERSATION AFTER ME:

Person A: Where are the install disks for software X?
Me: We have a single license for software X that is currently in use. If you need software X, then I can purchase a license for you.

Conclusion

This is a rant so maybe not everything I’ve said is entirely rational. Or maybe I’m just venting over the nature of the beast. Certainly I’ve had some good experiences with licensing; for example, AVG has consistently been trouble free. My hope is that we begin to see a greater adoption of open source software, and perhaps a homogenization of the way licensing is done. Perhaps software vendors, especially the smaller ones, could outsource their licensing needs to external companies, much like they do with digital distribution (I see lots of companies using DigitalRiver). They’d simply add the “E-Z License” module to their code or something. I don’t know… just blowing some steam while I wait to hear back about that broken download link.

Posted in Rants | 1 Comment

Seeker by Jack McDevitt

Seeker, a story about two adventurous antiquarians searching for a lost colony, won author Jack McDevitt the 2006 Nebula Award. Some of the praise for McDevitt that I see on the jacket cover is pretty effusive:

“The logical heir to Isaac Asimov and Arthur C. Clarke.”
-Stephen King

“‘Why read Jack McDevitt?’ The question should be: ‘Who among us is such a slow pony that s/he isn’t reading McDevitt?'”
-Harlan Ellison

Having read the book, I’m not fully prepared to describe Jack McDevitt as a glowing creature of pure energy who communes directly with my soul in a starburst language of mesmerizing telepathy. But I guess every paperback is stamped with whatever hyperbole the publisher could fish out of humanity. This other quote from the cover mirrors my thoughts a little more closely:

“[A] classy riff on the familiar lost-colony theme.”
-Publishers Weekly

Seeker is set about 10,000 years in the future when humanity has FTL, advanced (but subservient) AI, virtual reality that approaches holodeck immersion, colonies throughout the galaxy, and relatively peaceful contact with the one sentient alien race. Overall, a good mix of science fiction that serves as the setting for the characters’ hunt for the 9,000-year-old lost colony of Margolia.

The book reads like a detective novel, told in a first-person narrative by the capable interstellar pilot Chase Kolpath. Chase is female so I was intrigued to see how McDevitt would handle filling out a character of the opposite sex. What you get is someone that reminded me of “the Major” from Ghost in the Shell – business-like, skilled, sexy, and relatively emotionless. To me, the narrative came across as intelligent, but oddly detached. McDevitt doesn’t spend a lot of time fleshing out the cast, but he keeps the character construction subtle and tasteful.

Going back to the detective theme, the book really does have that feel. The characters slowly gather clues; a murderous plot begins to unfold; the pieces fall into place at a greater rate as the pages go by; an exciting conclusion is reached in the end. Seeker didn’t necessarily blow me away, but McDevitt has produced a very smart and engaging science fiction novel.

Posted in Books | Leave a comment