Recently in Work Category
One of the latest and last projects I was involved in at CBC/Radio-Canada was with the integration of pCDN, a pilot project that consists in contents delivery through peer-to-peer, and implemented on Bande à part's (aka the French CBC Radio 3) summer podcast feed. Here is the website that was launched this week by Bande à part: https://bandeapart.fm/pcdn/.
pCDN was developed by the Network Systems Lab at Simon Fraser University in the Vancouver area, along with CBC/Radio-Canada's Strategy & Planning based in Montreal. Here is a published paper written for the company's technology review by the main people involved in the project.
Bernard has told me that peer-to-peer delivery systems were already common in the USA. I remember using a system developed at CNN during the night of Obama's win. pCDN is just for progressive downloads, as far as I know.
The idea of using "BitTorrent"-like delivery helps alleviate traffic between users and contents delivery servers by redistributing it between users. It's a win-win situation for both the users and the big contents providers. It's potentially an alternative to today's pervasive, but costly, mirroring services such as Akamai.
It remains to see if it actually speeds up downloading. From an observer's point of view, it will become most noticeable when server-to-peer becomes a bottleneck. From a geek-user's point-of-view, I can't wait for when/if we extend the service to other potentially downloadable contents (full-length shows anyone?).
I'm on Linux (Ubuntu Jaunty) and tried pCDN on this platform. pCDN's source code is in Java, thus it's cross-platform. I downloaded this package and tried the links on the pCDN-specific podcast feed. Extract the archive (it's going to be a hidden folder named .cbc-pcdn) and in your terminal or otherwise, execute "launch.sh". This starts pCDN on your local computer and makes it "ready" to receive requests to download (and upload back), as you would for any P2P program like uTorrent or Transmission.
After starting pCDN, make sure to upgrade to the latest version (right-click the icon for "Mise à jour").
You will notice that the links in the podcast feed are all in the form of "localhost:54321/__SOME_HASH__.extension". When you click on them, they call pCDN and it is checked through the system whether this file is available among other connected peers. If not, it will download from some central "seed" server. Tadaa!
(The feed itself is a must-listen... It's music selected by Pascal Asselin, a electronic music artist better known as Quebec City's Millimetrik.)
CBC/Radio-Canada announced some 800 job cuts this morning. Of those, 335 affected French services. Of those, they said 9 of them would affect Radio-Canada.ca, perhaps the largest French-language media website in the country. And one of those nine jobs turned out to be my position. =(
If you are looking to hire an IT specialist, with experience and a special interest in developing new means of communicating information, then here's my CV:
https://docs.google.com/Doc?id=dfn5mmm7_116g6cprdd6
I've done a few interesting things while I was there and learned a few technical things (rich Javascript apps, GIS) and a few more intangible things (working under pressure, working with real professionals). Great deal of stuff that I still want to do.
While I'm preparing to live on sprouted beans, ground pork and rice for the next few weeks, I'm also going to give my self-made projects a few more days of work before launching. I've really become obsessed with maps and other renderings of statistical data into something graphically appealing. The technical side is absolutely fascinating - the editorial one is even more so. Anyways, it's just talk for now. Stay tuned, then!
L'autre jour, notre PDG Hubert T Lacroix a fait une apparition à l'émission matinale sur la Première Chaîne.
La dernière de Bernard Derome, la démission de Mario Dumont, la courte majorité de Jean Charest... Mais je ne peux pas m'empêcher de ploguer les cartes de Michel C. "Jean Roy" Auger:
Mise à jour (2008-12-11)
Je suis à la photo #26 de cet album par Luc Lavigne.
De plus, je me suis permis de ripper pour YouTube les quatre utilisations de la carte après le call:
Ben, c'est ça, mes collègues de la production info ont travaillé bien fort et ont livré aujourd'hui la toute nouvelle Zone Audio-Vidéo complètement redessinée. Véritable solution faite maison, avec un mélange savant de Javascript, Flash (ou Silverlight sur Windows) et de vidéo embeddée non-FLV (aucun scoop là-dedans).
J'ai testé live sur ma Linux, et ça marchait plutôt bien, malgré des interruptions non-reliées à la console, mais plutôt au plugin déficient de mplayer pour mozilla. Les plugins Xine et Totem pour mozilla vont bien aussi, mais ne montreront pas les contrôles supportés via Javascript par l'interface Flash (je ne sais pas si elles s'interrompent).
Si le plugin commence à lire, mais s'arrête immédiatement après une fraction de seconde, c'est qu'il y a eu un problème du côté de la request (pour ceux qui aiment fouiller, essayez d'accéder aux médias par telnet, et vous verrez). Il faut juste essayer de reloader le média et ça se peut que ça ne marche pas quelques fois consécutivement, mais il ne faut pas désespérer! Malheureusement (ça sera à corriger sûrement), si c'est un clip audio qui stalle, la barre d'état en Flash continuera de penser que la connection est en train de s'établir.
J'espère que cet article ne sera plus le plus populaire de ce site!
In English: new release of the Audio-Video Zone. Great job of hybridizing javascript, Flash (or Silverlight) and embedded video together.
This Thursday, Friday and Saturday was Input II at Radio-Canada, an event that captures the best of the great pilgrimage of public television, Input (in Lugano, Switzerland, this year), and retransmits it to its Montreal-based artisans. One of the sessions on Friday was on fiction, and the meat of it was a 77" piece by John Hsu, that was originally aired by the Taiwan Public Television Service (English site). It is called "Real Online" or 請登入線實 in Chinese.
Real Online would probably sell better to a Fantasia 2008 audience than one of television buffs, but provided fodder to an animated post-screening discussion. Real Online introduces us to a cast of six main characters who lead real lives in Taipei, Taiwan, and online lives in the "Real Online" game (or 理想Online, which translates literally instead to "Wishes Online").
Radio-Canada Nouveaux Médias is rebranded Radio-Canada Internet et Services Numériques, and Geneviève Rossier, interim first director for the past two months, since taking over from Yann Paquet and Jean-François Rioux (interim), was officially crowned as its new directrice générale. Ms Rossier has been with Radio-Canada since 1984, and might be best remembered by the general public as a reporter for SRC Information.
From what was previously a "first director" top dog position at the New Medias, the bearer of the internet general director title is now on par with its radio, television, comm, sales, etc, counterparts.
Sort of reasserting my presence online tonight, so here is my cubicle. It's picture taken a month ago, and the stuffs on the walls don't belong to me:
Also, a view of the CDI, the "Centre de l'Information", where RDI (CBC Newsworld's French counterpart), Le Téléjournal (R-C's flagship news program) and Montreal CBC News at Six are shot from:
I will write this entry (after this paragraph) in French, because it concerns a French-speaking audience. On Linux, people typically use the mplayer browser plugin to read ASX playlists. Perhaps like other sites, when a playlist is read, the plugin doesn't take into account that it may point to other ASX playlists, thus stopping before it played the media clip of interest. That is the case on Radio-Canada's excellent audio-video zone, which unfortunately makes it virtually unaccessible to Linux users with a standard setup (there must be ways to use other plugins or hack your mplayer to bypass this). In fact, some clips are read correctly since a couple of weeks, because of a change in the syntax of ASX files, and they are the ones with only one ASX under the playlist.
Counting in three hours of transportation, but that's about it. Everyone does the same, so it's just to say that I'm doing what anyone at my age should be doing.
I don't know what to say. I'd like to think that I can work better, so that I can work less. Is that the biggest lie of capitalism? I read a paper with which I agreed heartily, in which the author was pointing out how the young professionals generation in HK would work these crazy 14-hour shifts, six days a week, and how they'd do it per peer pressure, and per influence from a boss that'd stay well past dinnertime. They could work better, and work for shorter hours, then, and spend their daily time better. Bosses would be compelled to do the same, just to give the example, and thus would benefit general productivity. Presenteeism is worse than absentheeism, in that it's better to skip a day of work to nurse a common cold, than be stuck the rest of the month suffering from the effects of a now-chronic-ish neglected illness.
In fact, a day at work is always more satisfying when you slept nine hours the night before, which I'll probably attempt to do for tomorrow.
Of course, being more productive to work less is probably a big lie. How do you sell working exactly no more than 7 hours per day to youngsters with precarious first jobs? :P
For the first time in a while, I felt very passionate about learning something new technically (besides the stuff obviously related to my line of work). At lunchtime, was fake-consulting away for my friends at CTF on something I didn't know (LDAP auth on Apache, and then for replacing NIS on UNIX), but which I should really dip my feet into, also b/c it might come in handy for eventual real work.
Javascript is untempting, b/c it works despite the flagrant lack of standards in the actual use of it. Maybe it's a thing of the past, b/c it really just fairly looks and works like any other object-oriented programming language. Also, AJAX is cool. So, it's fine to try it for loading more than half a page, but it's exactly not for that that it exists.
I bought two books from Amazon today. Not bedside reading: Programming PHP and Ajax In Action, both of which I will probably let sit on bookshelf, desk, to collect dust. No, it's alright actually, but so many books/websites I want/should read - and I am lying to myself flagrantly.
"To your left, you may see how the LJ feed's html tags are decomposing as the incoherent gt and lt signs are applied; and now, if you turn to your right, this LJ clone isn't faring much better, thinking that the last few words were in fact attribute of themselves in some giant multi-attributes square-braketed tag."
Getting rush of adrenaline from work is extraordinary. Not sure if it's an aperçu of the proverbial work-hard-party-hard(er), or what, but seriously, having to crash my way through to the finish line is simply almost like living a Habs comeback from a 3-1 deficit in first-round series. Gosh, I even squeezed in 15 minutes at the pool!
The intricacies of properly building your application. I wonder what are the tricks of the trade, golden rules and whatnot that would make the most stupid tasks always work at once, and not have me stand there figuring out something else instead.
Intense work makes me want to ... produce music mixes.
I tend to think of coding as arranging more or less minute bits of machinery - screws and bolts, or bunches of gears placed together and hopefully turning to produce useful work... such is the grunt work of coding. I would also think that somewhere in the future some people (surely ourselves) would make our work deal with larger, more self-contained sorts of machinery. The same way that the people who came up with relatively high-level languages made writing in assembly code something you just see in class, or if you work on electronic devices that aren't standard computers. Something like that.
Let's ponder on this: Montreal's cold, but not as cold as it'd be in the north pole, or London if the Gulf Stream went counterclockwise.
Damn, I hate it when I feel as if reinventing the wheel. Holy grail of programming anyone? (A: the machine that codes for you) Now some Dilbert.
Slashed...
(Edit: And like last month's other Life Baddie, this doesn't seem so bad at all first hand as 1) it was not caused directly per my incompetence (funding in research is an unstable thing) although I'm sure if I were really really efficient, they'd hypothetically find a way to keep me - the self-depreciating self talking - and that 2) it opens up new opportunities I never would've thought 'honourable' pursuing. That is my philosophical take on being slashed... Yeah. Good lord. but I guess the emoticon is truthfully a vast overstatement right now.)
("and you may now build killer webapps to destroy your opponents!")
[music: some electro song with a Hubert Reeves interview (about humans destroying the planet, no less) sampled in the bg??]
(Bande à Part, which is really the French equivalent of CBC Radio 3, is the best indie muse playing on the radio 12 to 4 (AM, that is). Besides being a show on regular radio wave radio show past midnight, it's also a complete radio station at normal hours on Sirius (with podcasts - which are in other words, for non-iPod-havers like me, legally free phat-ass music files!).)
As I read the preview to Design Patterns, I recall that it was the recommended textbook for the object-oriented software design course (and true bible for all software programmers), one that I almost failed b/c I kept on not listening and fooling around in class (yes, even a senior undergrad...). The course, even if taught in Python, would've been infinitely useful today, as I get another design panic attack.
It is not so difficult: sleep a good night of sleep, get a hot choco - if you had a laptop, find the most comfortable sofa-chair at the nearest coffee shop, put a pen in your mouth and think.
So, I have memory leak problems. That's probably with the webserver setup, or something abusive in my program (my personality points me to #1). Hmm, I need a picture-viewing-submitting applet tied up to the framework. I have an insane obsession with clean elegant code - somewhat that seems to me necessary to be a good programmer, just that too much of it leads one to design panic attacks.
I guess it's not even a problem of knowing how to do it (it's all there in the docs), but just one of knowing the steps to take to solve a problem (any given sort of problem). Some people adopt a head-first attitude - which is not bad when you are unexperienced (and learn from your errors). You could over-prepare, out of insecurity, and nowhere will you ever get. Same goes for social interactions...
Sleep, I have vainquished you!
On my desk:
-Giant mug with water (will soon be replaced with a café au lait one)
-A bar of dark choco
-A pair of mittens
-Cell phone turned off
-A copy of the Economist
-A box of Civilization 4 (which I shouldn't touch for the next few hours)
-A Canadiens schedule
On my monitor:
-Lab-grade stopwatch
-Mini Stanley Cup
-Model-size airplane
-A mini flag of Singapore (what the...)
-A box of untouched Chung Hwa pencils
(Like the song / car ad) Just b/c there are no more freakin' features to add, nowhere to go with this, argh! I'll watch the Grey Cup, gather myself together in time for Monday. I'm lagging behind... I don't know what exactly I'm lagging behind. Have not seen coworkers for three weeks, or the end-user for months. :/
(Well, shows what I would want to improve; like self-motivation? I mean, it isn't hard... Write a kickass application that generalizes to any form of data. *That* would be super awesome.)
Open invitation: Musée d'art comtemporain - a photo exhibit on urban space. This Wednesday, no entrance fee that day.
I wanted to work 40+ hours per week, so let's do that ok.
InputStream, OutputStream. InputStream, OutputStream. In principle, you think, why don't people just manipulate files as files in applications. I upload a file, therefore I deal with a file, which I can therefore insert on the server's filesystem. But NO, the file you get is in fact an abstract mass of bytes with headers, and which needs to be invoked as an InputStream to be usable by a program, and if you need to save it somewhere, you then need to convert it to an OutputStream, which will then be taken and saved where a file can be created... (and nicely enough, some frameworks from a file uploaded will even give you the bytecode to be directly used in an output stream) Why isn't computing like in Tron, or worse, like in Swordfish? T_T
(I always liked 'Eugenie' as a daughter's name - b/c it reminds me of Imperatrice Eugenie, Napoleon III's wife, and on whom everyone seemed to have a crush on (including the sovereign of Egypt). It's ancient enough to be a hit for people of my generation to name their kids after. Like 'Rose' or 'Ada'. Or 'Rosaire' for a boy's name? Hmm. In fact, I'd like Chinese names best. Give me a moment to think about this...)
The current look of my dual monitor system. My favourite clouds picture so far.
It was my first real day at work today. Not the most productive one yet I think, but it's about long as I wished them to be (9 to 7, and I've actually been downtown for 11 hours!). I've been given sudo root, and access to all the code. I can really work now.
[music: Superpitcher - Happiness (M Mayer Mix)]
Currently at work. Would not hate to eat out somewhere (it *is* Friday night, after all). The weather is so... wet. Hurray to me for bringing my phat golf umbrella from Hell.