Entries : Category [ Programming and Software ]
[Miscellaneous]  [Computers and Technology]  [Travel]  [Education]  [Hacks]  [Robotics]  [Science]  [Programming and Software]  [iPhone]  [Digital TV and Video]  [Intellectual Property & Copyright]  [Personal] 

16 July

Last week I was at the Google Faculty Summit in New York City. It is was interesting how careful the Google people were about avoiding "creepy" applications. They purposely avoid a lot of data cross linking just to be "clean", more so than I had expected or realized. This was especially important in the context of their new social network Google Plus (which I get to below). There are cool things they could do, maybe even easily, but which they avoid just to stay on the safe side of what people are comfortable with. That's quite impressive as a policy, and an interesting tradeoff between medium term coolness and long term continuance of user trust.

I think making users trusting is, rightly, a top priority for Google since everything else is dependent on that. Simply providing fantastic serve: that's a relatively easy thing, but trust is this evanescent ineffable thing you can't buy.

One of the topics they talked about was the challenge of keeping the huge legions of Google servers efficiently deployed. John Wilkes talk amount this configuration management issue in the context of their upcoming new system for handling it called Omega.

New York, of course, was the crazy exciting hub of activity is always has been. I stayed in the Standard Hotel in the meat packing district, which is a hub of the fashion industry, and right near the

Google NYC offices (they own a nice big high-rise building there). Well, staying there (a) made me feel hip, and also (b) made me feel like a poorly-dressed yokel (especially in the evening when the Bugatti's were parked on the street). I did drink the metaphorical Google Kool-Aid and discovered a slew of new Google "products" that I had not known about, or lost track of.

I got in on Google Plus about a week ago, in anticipation of the meeting. As most readers probably know by now, it's the new social network Google has launched.
I must say I am loving it, and find it much nicer than Facebook. While the user community is much narrower, I have found quite a few people I know, respect or am interested in. Of course, it helps that I move in techie circles. Most importantly for me though, it has a much more nuanced find-grained model of privacy. I can share some things with one sub-community (i.e. family members and close friends) and other stuff with my profession community. It also has lots of other nice flourishes like great mobile integration with Android devices and a very nice video conferencing feature. On top of that, it really encourages cross-use of multiple Google "properties" like Google Docs (which is destined to get better and better). All in all, I think this is going to be a very very very good year for Google.

By Gregory Dudek at | Read (2) or Leave a comment |    
18 September

Today I gave a one-hour talk at the IEEE 9th International Symposium on Robotics and Sensor Environments (ROSE). I talked about our work in underwater robotics (as I often do) and specifically dealt with summarization, terrain identification and a tiny bit about human-robot interaction.

One of the components of the talk was work by my former student Philippe Giguere, now a professor and Laval University in Quebec City. He was in the audience which made that part of the presentation feel a bit weird to me -- here I was reminiscing about work he had done with me and almost sharing the odd inside joke with him while this audience was listening. It was a very nice audience and they asked a lot of good questions, which left me with a generally positive vibe. Not a bad way to start a Sunday morning, after all!

The key coauthors of the work I presented, in addition to Philippe, are Yogesh Girdhar and Junaed Sattar.

The summarization part of the talk is covered (at a very high level) in my TEDxMcGIll talk shown here.

By Gregory Dudek at | Leave a comment |    
08 January

Computer science is becoming increasing popular again, after a huge upswing in the 1990's, a lull after the dot-com meltdown in 2001 and a gradual growth since then. In the last few years computer science departments all across the US and Canada have been seeing enrollments grow, and i the last year or two they have ben growing quite a lot. At McGill, we have seen a steady but gradual growth in enrollment for a few year, but it is now becoming a surge.

In the last few days, there are been some notable popular manifestations of this trend. New York City mayor Michael Bloomberg made a New Year's resolution to lead to program and posted it on Twitter:

My New Year's resolution is to learn to code with
Codecademy in 2012! Join me. codeyear.com #codeyear

A major salary survey is about to be released that shows CS salaries have been rising (when many other sectors are not seeing growth) and "Midsize and large companies are both aiming to hire more IT pros. The midsize are seeking IT executives (such as VPs of information services and technical services), as well as programmers, database specialists, systems analysts, and voice/wireless communication pros. Enterprises are moving IT and data center operations back in-house, which means greater demand for data center managers and supervisors."

By Gregory Dudek at | Leave a comment |    
22 August

Today I (again) installed OpenCV 2.4.2 on OS X (Apple MacBook Pro under Darwin). As we all know, OpenCV is that great computer vision and image processing library that is also integrated into ROS. Getting it to compile on OS X, and to work with Apple's Python, can be a hassle (even with macports or homebrew, both of which have had problems when in comes to OpenCV).

The following special tricks were needed to get OpenCV to compile:

  • 1) Download OpenCV.

  • You need to have XCode and CMake installed.
    Go to the OpenCV folder.
    Edit CMakeLists.txt to add these lines( as per blog.yageek.net)

    list(APPEND HIGHGUI_LIBRARIES ${BZIP2_LIBRARIES} -lmp3lame -lbz2 -lfaac)

  • 2) Install libfaad

  • curl -L -o faad2-2.7.tar.gz http://sourceforge.net/projects/faac/files/faad2-src/faad2-2.7/faad2-2.7.tar.gz/download
    tar xvzf faad2-2.7.tar.gz
    cd faad2-2.7
    ./configure --disable-dependency-tracking CFLAGS="-arch i386 -arch x86_64" LDFLAGS="-arch i386 -arch x86_64"
    sudo make install
    cd ..

  • 3) Install lame from http://lame.sourceforge.net/:

  • tar xzvf lame-3.99.5.tar.gz
    cd lame-3.99.5
    sudo make install

  • 4) Install/update ffmpeg

  • curl -O http://ffmpeg.org/releases/ffmpeg-0.11.1.tar.gz
    tar xzvf ffmpeg-0.11.1.tar.gz
    cd ffmpeg-0.11.1
    ./configure --enable-libmp3lame --enable-libfaac --enable-nonfree --enable-shared --enable-pic --disable-mmx --arch=x86_64
    sudo make install
    cd ..

  • 5) Now, for Python compatibility...

  • Use ccmake -G "Unix Makefiles"

    Hit "t" for advanced mode.

    change PYTHON_LIBRARY value to /opt/local/lib/libpython2.6.dylib
    PYTHON_INCLUDE_DIR to /opt/local/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6.
    within ccmake.

    For me to have it work with Python, I also had to assure that the architecture was x86_64 not i386. When done, hit "c" to create the configuration, then "g"to go and create the Makefile.

  • 6) make; make install

  • Many of the special configuration issues for OS X and MacPorts seem to be automatically handled, but
    for MacPorts users, Taylor Squared Designs has a nice post on the issues involved in installing OpenCV.

    By Gregory Dudek at | Read (1) or Leave a comment |    
    04 March

    Cynthia Than reports: There is no gender gap in tech salaries based on a study from the American Association of University Women.

    The study itself is quite complex and does find a difference in pay associated with gender when averaged across all disciplines, but not necessarily a cause-and-effect relationship. The study discusses differences in the hours worked, but also other factors such as the fact that student loan debt, choice of discipline, and other factors also vary by gender. The most important factor associated with salary outcome was the choice of major selected by university students, with computer science being a high paying area that (until recently) was preferred by men.

    For women who do pick computer science, as well as math, engineering, physical science, health care, the life sciences and social services, the study found no pay equity imbalance one year after graduation (page 17).

    By Gregory Dudek at | Read (1) or Leave a comment |    
    10 December

    Sometimes Chrome developers are too autocratic for me

    Starting with Chrome 64, it seem that Chrome will no longer allow videos to auto-play on web sites that you visit. This is not the first time that Chrome has changed in a manner that does not suit my needs and I wanted to stop it from auto-updating.

    Colin Witkamp at Stack Overflow observed that on OS X you can open the Info.plist file inside the app (using "Show Package Contents") and disable auto-update by altering the KSUpdateURL string which provides the URL used to check for updates. Unfortunately, this may stop Chrome from running at all due to code signing (i.e. Chrome can determine that it has been modified). To get around this too, you then need to also delete the folder inside Contents called _CodeSignature.

    A cleaner way to disable auto-update is possible using the Mac OS X Terminal to enter
    "defaults write com.google.Keystone.Agent checkInterval 0"
    which should stop the auto-update process. I chose to do both since I have previously discovered that some applications are very determined to update themselves even when you try and stop them.

    By Gregory Dudek at | Read (1) or Leave a comment |    
    Prev  1   2   [3]