Curse of the programmer 2

August 28, 2007

I wrote part 1 of this series some time ago, in Dutch. In that part, I talked about the social issues that flowed from programming, now I’ll tackle the issue from a different standpoint.

Many ICT projects miss deadlines, and in the entertainment market, these are more often than not the most anticipated projects. (long ago: ) Black & White, (recently: ) GTA IV, (for some time now: ) Spore, (soon: Wiidiaplayer ? ๐Ÿ™‚ ).

At least with the Wiidiaplayer, I can pretty much pinpoint where the problem lies: I like the product. By now the Wiidiaplayer works well enough, for me… There still is a list of things I need to do before I honestly want to show it to anyone else:

  • Deamonize
  • Run as non-root
  • Fix layout

But, again, it works for me. When I get home now, I decide to do some “bug testing” on the Wiidiaplayer, do I grab my Wiimote and switch on the latest Simpsons episode. “Disappointed” that I didn’t find any bugs, I decide to watch something else.

So I wonder, is this the way all these projects go? I imagine Sid Meier going to the office in the morning, and just playing Spores with his friends on the company network all day long.

Then again: I suppose that as soon as you find yourself with this sort of a problem, you know you have a good product!


7 Responses to “Curse of the programmer 2”

  1. Derek Says:

    Nice job, got it working myself (using the SVN link i found somewhere) and it’s really working like a charm!

    The only thing is that if you try to play things like .jpg or an avi which it cannot play (due to no codec or something) you can’t select a valid song or movie, but have to refresh the whole page again. So here you have something to fix ๐Ÿ˜‰

    By the way, can you also upload your .fla file to the SVN, so I can make some adjustments? Ofcourse I will share the adjustments with you! (I can help with developing… Feel free mailing me)

  2. Derek Says:

    Next time I’ve to first read the whole webpage before I ask for something… I saw you are using MTASC, the MTASC eclipse plugin, and swfmill.

    So forget the “upload your .fla file” in my previous message.

  3. wiidiaplayer Says:

    Thanks for trying it out!

    Yes, I found that same problem out as well, as I remember the server crashes or locks up somewhere. I’ll give it a look soon, it shouldn’t be too much of a problem to solve.

  4. Derek Says:

    I also found an other bug… Playing MP3’s, if you want to fast forward or fast rewind (dragging to left or right) it stops playing.

    By the way, the server keeps working on a second client, so it might be only the socket (or session) which locks up or the flash player which won’t react to input anymore (this regarding the MP3 bug and also the above described bug)… But I have to figure your flash script out yet (haven’t had the time to check out that script out).

    I’m trying to make streams (like to work on your wiidiaplayer (shouldn’t be that hard to fix that), I might even consider Live streams, but that’s (I think) a little harder because of the undef time length of it. But I first have to finish some of my own projects before starting on this.

    Verder werkt t nu al helemaal super. Ga zo door, and keep up the good work!

  5. wiidiaplayer Says:

    OK, fixed both bugs. If it encounters a file of which it can’t detect the length, it will continue on the next file now.
    The bug on the mp3 seeking I only introduced a couple of days ago, solved now.

    Whenever the server crashes, it only crashes one connection (the error is caught before it crashes the reactor). The only way to have a problem in one connection affect another is to do a blocking call.

    I also checked in the latest sourcecode for the player, seems like I hadn’t done that for a while, sorry if I sent you looking though old code.

    It shouldn’t be too hard indeed to include code to play streams from uitzendinggemist/youtube. There might be an issue as how to represent the streams in the interface. Perhaps easiest would be to have a directory with files, each file respresenting a stream (how to get and update this directory is another issue). A new subclass of ConvertableFlvStreamProvider should then be created that accepts those files, and knows how to get the stream to an flv file on disk. Then add the class to the flvstreamproviderbase, and you’re done. Perhaps easiest is to start with youtube video’s, since all the commands you need to get the flv is wget.

    I am actually thinking along these lines to view live tv (which seems a little strange, having your server capture tv, convert it, and play in though the Wii on a tv, but it’ll start to make sense when I manage to add timeshift/VCR functionality). But first on my list right now is to make windows-installable version, so that some of my friends can test it as well.

  6. Derek Says:

    Wooow, great job! Tnx it’s working like a charm now! Nice coding as well (both Actionscript and Python).

    I was also working on something using flash (used the JW FLV Player), but then I saw this project which was exactly what I was looking for. So why create something that is allready there…

    The live TV is really a nice idea, I’ve got a spare capture card so can build it into my (non-gui Debian) server. Though I think it isn’t that easy to create something like this (especially to get it working on multiple sorts of capture cards (digital television/software or hardware MPEG decoding by tvcard/and so on).

    But I will keep following this project closely and really looking forward to your live tv extention!

  7. Derek Says:

    I’ve daemonized your wiidiaserver… if you are intrested in the code please give me something to send it to. (I also made a little menu using getopt)

    so something like

    def print_help():
    # Some help information
    print “Usage: [-dvh]”
    print “Options:”
    print ” -d fork daemon process”
    print ” -v print version information”
    print ” -h print this message”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: