
Main Menu

User Info
 Welcome Anonymous

Top Ranked Feeds

Random Feeds
|
View the feed - Edito.qc.ca
Main - Uncategorized - Feeds that are not yet Categorized - Edito.qc.ca
[Comments | Printer Friendly Page | Send to a Friend | Is this your feed/content? | Feature this Feed ]|
Title: | Edito.qc.ca |
| Site URL: | http://edito.qc.ca |
| Feed URL: | http://feeds.feedburner.com/Editoqcca  |
| Subscribe: |
 |
| Description: | Musings of an software engineer
|
| Tags: | None [ Add Tags | What are Tags? ]
|
| Feed Last Updated: | Sun, 07 Jun 2009 13:27:48 +0000 |
| Added on: | 26-Feb-2006 |
| Hits: | 25 |
| Rating: | N/A (0 votes) [ Rate this RSS/Atom Feed ] | Jordo Media is displaying this feed so that you can decide if you wish to subscribe to it or not. We are neither affiliated with the authors of this feed nor responsible for its content. Please report inappropriate content to via the "Report Problem" link above. |
- Links for 2010-01-27 [del.icio.us] - Thu, 28 Jan 2010 00:00:00 PST

- Links for 2010-01-26 [del.icio.us] - Wed, 27 Jan 2010 00:00:00 PST
- HessianKit | Get HessianKit at SourceForge.net
HessianKit is a Framework for Objective-C 2.0 to allow applications for Mac OS X 10.5, and iPhone 2.0 or later to communicate with Hessian web services. The main goals; Be compliant and forgiving, seamless Objective-C experience, and avoid glue-code.

- Links for 2010-01-24 [del.icio.us] - Mon, 25 Jan 2010 00:00:00 PST
- d3o
rheopectic plastic protection

- Links for 2010-01-19 [del.icio.us] - Wed, 20 Jan 2010 00:00:00 PST

- Links for 2010-01-17 [del.icio.us] - Mon, 18 Jan 2010 00:00:00 PST

- Links for 2010-01-16 [del.icio.us] - Sun, 17 Jan 2010 00:00:00 PST

- Links for 2010-01-11 [del.icio.us] - Tue, 12 Jan 2010 00:00:00 PST

- IMG_1996 [Flickr] - Mon, 04 Jan 2010 14:31:36 PST
François @ Edito.qc.ca posted a photo:


- IMG_1995 [Flickr] - Mon, 04 Jan 2010 14:31:30 PST
François @ Edito.qc.ca posted a photo:


- IMG_1993 [Flickr] - Mon, 04 Jan 2010 14:31:21 PST
François @ Edito.qc.ca posted a photo:


- IMG_1992 [Flickr] - Mon, 04 Jan 2010 14:31:16 PST
François @ Edito.qc.ca posted a photo:


- IMG_1991 [Flickr] - Mon, 04 Jan 2010 14:31:07 PST
François @ Edito.qc.ca posted a photo:


- IMG_1990 [Flickr] - Mon, 04 Jan 2010 14:30:56 PST
François @ Edito.qc.ca posted a photo:


- BTrace == Java’s DTrace (i.e. awesome) - Sun, 25 Jan 2009 23:01:50 +0000
I’ve spent the last few days of my job at SFR on improving the build system and moving the integration env. to a 64bit system. While I had my hands under the hood, I also upgraded the platform to Java 6 (JDK 6 actually, you’ll see why). I wanted to try some BTrace scripts to see how useful it would be to debug live production apps running in a Java VM. Having played with DTrace on OpenSolaris last year during my time working for Sun Microsystems, I longed for this kind of dynamic instrumentation tool.
According to the BTrace open source project: “BTrace is a safe, dynamic tracing tool for the Java platform. BTrace can be used to dynamically trace a running Java program (similar to DTrace for OpenSolaris applications and OS). BTrace dynamically instruments the classes of the target application to inject tracing code (”bytecode tracing”). Tracing code is expressed in Java programming language.”.
I don’t know about you, but having this kind of power when trying to pinpoint the source of a weird bug… you know the type that occurs only with the load / bandwidth of a production environment, is pretty useful.
The best part is that, contrary to DTrace, you write you BTrace probes as a simple Java class. You don’t even need to compile it ahead of time, the btrace launcher will compile it for you (that’s partly why you need the JDK, but also because BTrace relies on some advanced bytecode hotswap bit twiddling only available in the JDK hotspot). The overhead is extremely low, albeit you can always kill the instrumented VM by writing lousy probes.
The samples provided in the BTrace distribution are extremely valuable as they provide a good starting point for most needs (e.g. slapping together a simple profiling histogram for method calls count over some packages / classes). BTrace heavily relies on Java 5’s annotations, which leaves very little actual java code for you to write. Obviously, this implies that your probing code runs in constant time and doesn’t modify in any way the state of the probed program. They strongly advocate the use of JSR166’s (java.util.concurrent) Atomic types wrappers and concurrent data structures when doing your profiling stats.
- Big picture, big emotion - Sat, 24 Jan 2009 17:04:46 +0000
I really enjoy looking at the amazing pictures posted on the Boston Globe’s “Big picture” website.
This week they had an amazing coverage of the inauguration of Barack Obama. Some pictures are quite amazing, especially those of people in islamic countries watching the inauguration and the gorgeous pictures of Barack and his beautiful wife Michelle on the dance floor of the inaugural ball.
http://www.boston.com/bigpicture/2009/01/the_inauguration_of_president.html
- iPhone Tech Talk - Sat, 25 Oct 2008 23:11:20 +0000
Last wednesday, I took a day off work to attend the iPhone Tech Talk in Paris. Apple had reserved a couple auditoriums at Université Paris 5 (école de médicine), kind of a weird place for a tech event to happen. Nonetheless, the event was pretty interesting (I unfortunately cannot talk about what happened there, because it is under a NDA). Although, I can say that almost all information giving can be obtained by signing up for free access to the iPhone SDK (then you need a 99$/year subscription if you actually want to submit to the app store).
Now that the iPhone SDK NDA is lifted, I can talk freely about my experience using the tools provided by Apple in building my first app. As of today, my app was downloaded by over 35000 people in the 65 countries where there is an Apple iTunes store. Of course, the majority of the people who downloaded it are from France. I think that I will open source the code on Google Code pretty soon. There are still tons of things I need to improve in this app, but it’s pretty usable for something I wrote in a few days. I received dozens of e-mails suggesting improvements and thanking me for the app. Open sourcing it will simplify contributions and improvements.
The most painful thing about the current iPhone SDK (I’m talking about version 2.1 here), is that Apple does not provide an official framework for mapping. Developers submitting to the the app store cannot rely on the UI components that are used in the official “Maps” app. On the one hand, Apple is strongly encouraging developers to build there app using the standard components they provided and base their UI designs on patterns seen in the Apple-provided apps (iPod, Stocks, Address Book etc…), but they are seriously affecting the overall quality of map-based apps by not providing a clean, fast, simple API for mapping. Most developers had to reinvent the wheel by implementing their own mapping component. For instance, my app uses a Google Code project that basically uses a UIWebKit (a web browser component) to call the Javascript Google Maps API, this is a pretty lousy, slow and inefficient way of showing a map…. but the GMaps license prevents people from calling the map tiles directly. Another project came out recently, this one actually tries to create a full blown Cocoa-based map component by using royalty free base maps (the old MS Virtual Earth tiles or OpenStreetMap). These basemaps look pretty crappy when compared to GMaps, but at least they’re free.
The most exciting thing that Apple did recently is definitely the opening of an official, Apple-sanctioned, developers forum. I hope that developers who feel the same way I do about maps will let Apple know about it.
- Ma première appli iPhone sur l’app store - Mon, 22 Sep 2008 21:43:04 +0000
La première version de mon application (snip) (À la demande de la ville de Paris je ne peux plus mentionner le nom de l’appli depuis qu’elle fut retiré de l’app store) pour iPhone est disponible depuis aujourd’hui sur le app store. J’ai finalement décidé de l’offrir gratuitement parce que je n’étais pas tout à fait satisfait de certaines fonctionnalités (la carte n’est pas très fluide et le chargement est un peu lent). L’application est de de même très utile. Seulement, puisque le SDK de Apple n’offre pas d’accès direct à l’API de cartographie native de l’application Maps, j’ai du me baser sur une abstraction javascript. Essentiellement, mon application intègre un mini web browser (UIWebKit) et fait le pont vers Google Maps en traduisant les évènements en javascript…. Pas très élégant, ni performant comme solution, mais je n’ai pas le choix pour l’instant parce Google Maps ne peut être que utilisé par l’entremise d’un web browser d’après leur licence d’utilisation. J’espère trouver une meilleure solution d’ici à ce qu’Apple améliore le SDK.
C’est par ici pour avoir plus d’infos et un lien direct vers le App store pour télécharger gratuitement l’application. (L’application n’est plus disponible sur l’app store depuis mars 2009)
- Java’s Achilles heel - Mon, 21 Apr 2008 02:16:11 +0000
Many aspects of the Java platform have improved tremendously over the past years. Sun has always focused a lot of energy around improving “business” features. Hopefully, they’ve recently diverted their focus on Desktop issues. In this regard, they’ve adressed performance (Hotspot compiler, refreshed OpenGL / DirectX based Java 2D pipelines), data binding (JSR-295), Swing Application Framework (JSR-296), new look-and-feel (Nimbus) etc… One area where most developers agree that Java is still lagging behind the hip / trendy frameworks (Flex, AIR, .NET 3.0, Silverlight…) is definitely video !
The way I see it, Java’s main advantage is the overall consistency and cleanliness of its APIs, which makes it an ideal academic language and encourages high quality object-oriented designs. After all, it’s not about the programming language itself… even though I generally find Java source code sexier than other languages.
Last summer, when I started working on the mini multitouch table project, I got up to speed with the state of video in Java. I realized that the Java Media Framework hasn’t been updated in ages and its APIs feel pretty old by today’s standards. On the Mac OS X platform, Apple willingly dropped support of the Quicktime for Java bindings, which currently forces Java developers to rely on very very old Quicktime interfaces, that do not benefit from the major Quicktime overhaul made in Tiger (10.4). I’m refering to full access to the features of newer codecs (H.264) and high performance capture interfaces (QTKit).
A few days ago, I attended a couple of the final project (projet synthèse) presentations by students of my university. A friend of mine, François Caron, presented his implementation of an error correcting codec for live H.264 broadcasting (such as live TV feed or mobile videoconferencing). Let me point out that it is a lot more challenging to do error correction in these contexts as you don’t have access to pixels in next frames when correcting the current frame…. unless you buffer the data, which is totally unacceptable for videoconferencing. François implemented a new optional feature available for RTP packets (RFC3984) which allows to specify the decoding order of the macroblocks (top-to-bottom order VS checkered pattern). The benefit is that if, for instance 50% of RTP packets are dropped (or delayed) you still have a lot more chance to have a nicely scattered set of pixels in the buffer. This allows you to apply bilinear interpolation between the macroblocks of the checkered pattern for spatial error correction. Also this increases chances to have more good pixels from previous frames when doing temporal error correction. As I’ve always wanted to experiment more with H.264 in general, I started looking for alternatives to JMF.
FFMpeg, GStreamer and VLC are pretty much de facto open source libraries for C/C++ video development. I was pleased to see that all of them have wrappers for Java: JVLC, FMJ/FFMpeg, GStreamer-Java. The level of support and quality of most of these abstraction is pretty crappy though….
Obviously there is still a lot of work to do and I hope that Sun and Apple will sort this out soon (hint: Java One 2008 is in two weeks). In the meantime, I’ll have to resume learning Objective C and refresh my C++… in any case it’ll be useful to do some more useful iPhone SDK hacking.
- Jeux de génie 2008 - Thu, 10 Apr 2008 15:07:17 +0000
Au début de janvier dernier l’ÉTS était l’hôte des Jeux de génie 2008 et je faisais partie de l’équipe qui a organisé cet événement où plus de 450 étudiants en génie provenant de toutes les facultés de génie du Québec. Pour ma part, j’étais en charge de la compétition académique de Génie logiciel. Dans le cadre des jeux, les participants de chaque délégation devaient contribuer à la construction d’une éolienne. Ainsi, les étudiants de génie mécanique ont fabriqués les pales de l’éolienne, en génie de la construction ils ont fabriqués une base en béton pour soutenir l’éolienne, en génie électrique ils ont fabriqués un circuit pour réguler le courant, en génie de la production automatisée ils ont conçu un logiciel permettant le monitoring. De mon côté, je demandais aux étudiants un logiciel optimisant l’angle d’orientation de l’éolienne pour une période de temps donnée. Pour ce faire, ils devaient utiliser un faux service Web météo fournissant une carte des vents. J’avais également préparé un examen théorique de façon à occuper les 6 membres de chaque délégation pendant les 3 heures dédiées à la compétition. L’examen théorique couvrait un très large spectre de connaissances allant de l’analyse d’algorithmes, les design patterns OO, trouvez les failles de sécurité dans une mini application Web en PHP, déboguer et optimiser du code, analyser du code en Brainfuck, faire la cryptanalyse d’un crytopgramme simple, quelques questions de Geek culture, etc… C’était vraiment cool de préparer cet examen et de voir les étudiants se casser la tête à répondre aux questions.
D’autre part, tout au long de l’événement qui durait 4 jours, j’étais à la tête d’une équipe de 7 photographes et vidéastes. L’école nous a fourni 5 caméras DV professionnelles (Sony DSR-PD170). On filmait tout ce qui se passait (on a accumuler près de 60 heures de footage), on capturait les clips et on faisait le tri des cuts pour le montage à mesure. Ainsi, on a pu présenté un vidéo récapitulatif de 30 minutes au cours du dernier party dans la nuit de dimanche à lundi. Ce fut une expérience incroyable tant au niveau d’améliorer mes techniques de tournage que de montage. Dragan, le directeur du film, a été mon mentor.
- Multitouch: the state of the union. - Thu, 20 Mar 2008 14:14:50 +0000
A couple of days ago, Steve ended the dreadful 6 months wait after he announced that Apple was going to provide a full blown iPhone / iPod Touch SDK. Needless to say that I was among the people who caused the Apple Developer Connection servers to collapse by desperately trying to gain access to the sign-up page for the program. I was really impressed by the announcement and the general quality of the SDK that I got to experience.
Although, I was a bit sad to see that they still havent’ ironed out the issue of providing a clean object-oriented abstraction for multitouch gestures. That has been the source of my nightmares for the past year or so 
Sometime before the iPhone came out last year, I was working on a small scale multitouch project involving the use of dot-matrix LEDs (see Jeff Han’s site to understand what I’m talking about). Unfortunately, I never got around to make it work since it required a deep understanding of microcontrollers and low level electronic circuits timings. I initially wanted to create a cheap reconfigurable multitouch USB device by lighting up specific LEDs designating “soft” sliders and switches. In the meantime, Yamaha came out with the Tenori-On, a musical synthetizer that also uses a grid of LEDs. I’m not sure that actually sensing touch using the technique demonstrated by Han and carefully described in this Carnegie Mellon paper.
Now, I ruminated many times over this problem of abstracting multitouch gestures, especially during the time I worked on my infrared LED-based mini multitouch table project last summer. I still wasn’t satisfied with my design until I saw the GestureMatch sample code provided by Apple with the SDK. Eureka ! The missing piece of the puzzle to complete the abstraction was basically there, in code form ! They are using cubic and quadratic Bezier curves to store the information and they use some geometry to check if the path closely fits the parameters of the curve. It is pretty rough and incomplete code, but seeing how this code works is enough to get ideas flowing in my head on how to generalize and add direction and timing support.
- Smart and Automated Photomontage Tools (SAPT) based on Poisson Image Editing - Fri, 15 Feb 2008 14:13:46 +0000
I briefly touched on the fact that I was working some photo editing software project back in the fall on my blog, but I never got around to discuss how it works and what it does. The project is called SAPT (Smart and Automated Photomontage Tools) and was the term project that my team and I chose to do for the GTI664 (Traitement de signaux numériques) class. I led a team of four people into making this software. I was responsible for the core algorithm based on the “Poisson Image Editing” paper.
The gist is that this software allows you to load a picture, loosely select a portion of it, load an another picture, drop the selection onto it and let the algorithm do its magic…The algorithm, through some black magic solving of a linear system of Poisson differential equations, seamlessly merges the selection in the background, effectively creating a photomontage.

This was an amazing coding challenge for me as it was quite probably one of the most complicated piece of software that I’ve had to write from scratch. Amazingly enough, our project is still, to this day, the first open implementation of this algorithm.
Now, this algorithm has its flaws as it can’t do a great job at smoothly computing the edges if you happen to hit high-energy chunks of pixels near the borders (i.e where the divergence is too strong). What’s nice is that we’ve designed the software architecture to be really flexible and let us (or others) build upon the existing algorithm. In fact, when I get some spare time I wish to implement a preconditionning algorithm detailed in the “Drag and drop pasting” paper. This preconditionner runs a shortest path algorithm (Dijkstra or A-*) along the edges of the selection (dropping the inner portion) to find the flow of pixels that minimizes the divergence (i.e the Laplacian of the scalar field of pixels). I’m really proud that I was able to come up with an all-Java efficient design (generally selection of 100×100 pixels take less 3 seconds to compute on a Core Duo proc.). Thanks to my use of the Java 5 concurrency framework, it was a breeze to parallelize the computation.
You can try an early beta version, the one that our professor used for correcting the project in december (You’ll need Java 5 or later). As I said, it is far from perfection, but I had a lot of fun developing it last fall.
- Free media from the commons to you. - Fri, 18 Jan 2008 13:27:59 +0000
I’ve been wanting to blog about this for a quite a while… I first read about the Public Resource project back in November 2007 when they announced that they were releasing loads of media under the Creative Commons CC-0 license (i.e. signaling that there are no copyrights or other related rights attached to the content). I find this initiative quite gutsy and brilliant. We undoubtedly need more of clever, pro bono and open-minded lawyers like Lawrence Lessig.
http://public.resource.org/
http://creativecommons.org/weblog/entry/7828
More recently, Flickr announced that they are going to release photographic treasures hidden at the gorgeous LOC (Library of Congress) in Washington, D.C. I was fortunate enough to visit this jewel of architecture when I stayed in D.C. over the Thanksgiving 2006 break.
http://www.flickr.com/commons
I’ll end this post with one of my favorite quote by Lessig:
“
Creativity and innovation always builds on the past.
The past always tries to control the creativity that builds upon it.
Free societies enable the future by limiting this power of the past.
Ours is less and less a free society.
- iPhone / iPod Touch SDK - The lord has spoken - Sat, 20 Oct 2007 19:35:53 +0000
As you probably know by now, Steve said the magic words this week. Yes, there will be an official Apple-sanctioned SDK for the iPhone (and the iPod Touch!), but that won’t be until february. We’ll probably get to see some highlights at Macworld 2008, but I doubt he will dive into details since it is consumer-oriented as opposed to the WWDC developer-oriented keynote. Anyhow, in the meantime, I got to jailbreak the heck out of my iTouch last week. I now have a variety of third party apps, which, for the most part, are open source (interestingly enough, all the projects are hosted on Google Code). I’ve set up the unofficial toolchain (ARM-compatible GCC producing Mach-O formatted binaries) and glanced at some of the source code. Unfortunately, up to now I haven’t found a single example of how gestures are implemented in their framework. The simplest gestures (like the scrollbar, togglebuttons and sliders) are all abstracted in UIKit’s components.
I have a few ideas:
- Compiling some auditing toolkit: nmap … (like a mobile Backtrack) and create some straight forward UIs for auditing networks.
- Hacking the 802.11 Stumbler code to port the locationning algorithm I wrote for iFIND (though, I doubt this would actually be any useful… it’s just for the thrill)
Obviously, this implies that I’ll have to learn Objective C and Cocoa-style programming along the way.
|
|