google trends = what is on TV?

May 17th, 2008 by bozo

Is it just me, or is google trends to a first approximation just reporting what has recently been on TV? I found the trends an interesting idea to begin with, but seriously, more and more it looks like a very high-tech method for figuring out what was shown on TV a few minutes ago. I guess broadcast media can really push a fraction of the nation’s consciousness around.

firefox flash focus

April 23rd, 2008 by bozo

D’oh! I was having a focus problem on a webpage with an embedded flash object (produced with openlaszlo). If the user set focus on some other part of the page, and then returned to the flash object, focus would not return immediately without some “poking around” — clicking different elements. It turned out this was because the object was embedded using code that contained a title, and therefore a floating tooltip, and that tooltip was stealing focus. The solution for me was just to remove the “title=…” part of the “object classid=…” tag.

binary release of virtual webcam for linux

April 19th, 2008 by bozo

You can now download a binary release of ucanvcam, the free and open-source virtual webcam, here. This release is a command-line version for now, to make the binary more portable. A separate release with the full GUI will be coming soon (you can get it now by compiling from source). Remember, you need the vloopback kernel module to actually output images; however you can test the program without this module.

ucanvcam 0.1.3

April 19th, 2008 by bozo

Version 0.1.3 of ucanvcam is out. It fixes a few issues on Windows, and makes a start for a command-line interface as an alternative to the graphical interface (particularly handy on linux). If you are looking for source code, you’re better off taking it from svn, since it is changing rapidly. The numbered versions are more important for the Windows builds.

new ucanvcam version: just barely usable

April 11th, 2008 by bozo

ucanvcam version 0.1.2 (aka “just barely usable”) is out. MakeSweet is hosting a windows build. ucanvcam is a free-and-open-source virtual webcam project. It currently compiles under windows and linux. On windows it can output via directx to applications such as skype. On linux it can output via a video loopback module, again to applications such as skype. It has some random limits though at the moment (hint: 320×240 images). Screenshot:

Update: there’s now a proper windows installer.

vmware stops shift/ctrl/alt key from working

April 9th, 2008 by bozo

This is a strange one. I’ve noticed that vmware frequently stops my shift key from working when I switch back to other applications (this is on Linux). Finally found a good work-around for the problem, just run:

setxkbmap

And everything is fixed. Magic! Thanks to this thread for the solution.

shadow steps in blender?

March 30th, 2008 by bozo

Getting steps in shadows where you should be getting a smooth gradient in blender? If you are on Linux, make sure your X server is not running with a pixel depth of less than 24. I didn’t expect that this would affect the rendered images, as opposed to how they appear on screen, but it does. This affects flat surfaces with fairly dark shadows - you get a quantization effect that in hindsight should have shouted “pixel depth”…

ffmpeg upgrading

March 18th, 2008 by bozo

Ffmpeg is the most changing-est library I know.

The “img_convert” method is on the way out. The replacement is to use the swscale library. Here’s a rough conversion between the two:

int stable_img_convert (AVPicture *dst, int dst_pix_fmt,
                        const AVPicture *src, int src_pix_fmt,
                        int src_width, int src_height) {
#ifdef OLD_FFMPEG
  return img_convert(dst,dst_pix_fmt,src,src_pix_fmt,src_width,src_height);
#else
  int w = src_width;
  int h = src_height;
  static struct SwsContext *img_convert_ctx = NULL;
  if (img_convert_ctx==NULL) {
    img_convert_ctx = sws_getContext(src_width, src_height,
                                     dst_pix_fmt,
                                     src_width, src_height,
                                     src_pix_fmt,
                                     0, NULL, NULL, NULL);
  }
  if (img_convert_ctx!=NULL) {
    sws_scale(img_convert_ctx, ((AVPicture*)src)->data,
              ((AVPicture*)src)->linesize, 0, src_height,
              ((AVPicture*)dst)->data, ((AVPicture*)dst)->linesize);
  } else {
    fprintf(stderr,“image conversion failed\n);
    return -1;
  }
  return 0;
#endif
}

To convert for real, you’ll need to factor out the static “SwsContext” object that gets created in the middle of the code; as it is you’d have big trouble if you are processing multiple streams or changing sources as you go along.

ucanvcam - building virtual webcams

February 26th, 2008 by bozo

We are collaborating on an open-source free-software project called ucanvcam to help build virtual webcams or add special effects to a webcam stream. A tool based on this should be showing up on makesweet eventually. The basic idea is to make an API for doing webcam video stream manipulation in an OS-neutral way. Support is just Windows and Linux so far though, there’s nothing there for Macs yet. Anyway, ucanvcam should take care of all the messy OS details and leave users of the project free to create fun effects. We’ll be doing our bit to make this happen.

Related projects out there:

Update:
You can now download a binary release of ucanvcam. The release is a GUI for windows, and command-line for Linux. You can download and compile the source to get a GUI for Linux, but we don’t have a portable build for it yet.

Update (2):
Now the GUI is ready and downloadable for both Linux and Windows.

Are you interested in an open-source virtual webcam? If so, why? Leave us a note - the more information we have about interest in this the more we can justify contributing to the development on it.

Our system has experienced a temporary problem

February 25th, 2008 by bozo

We were having a problem with google webmaster verification of a website; it constantly said:

“Our system has experienced a temporary problem”

It turned out that a misconfiguration of wordpress on that site in the main .htaccess file was producing error 500 codes instead of error 404 codes for http requests for non-existent pages.  You can see if you have this problem just by trying to load “/nonexistent.html” for your website.  If that reports error 500, that is the problem you need to fix in order to make google happy, and the place to look is the top level .htaccess page.  In our case, a fantastico installation of wordpress had added the following:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

which wasn’t very helpful given that the wordpress installation was not in that directory at all…