urllib2 - The
The Python manual's section on Extending and Embedding the
- Doxygen, a
cross-platform, JavaDoc-like documentation system for C++, C,
Objective-C, C#, Java, IDL, Python, and PHP. Doxygen can be used to
generate an on-line class browser (in HTML) and/or an off-line
reference manual (in LaTeX or RTF) from a set of source files. Doxygen
can also be configured to extract the code-structure from undocumented
source files. This includes dependency graphs, class diagrams and
hyperlinked source code. This type of information can be very useful to
quickly find your way in large source distributions.
doxypy is an input filter for Doxygen.
GCC the GNU C++ compiler,
the C++ FAQ
the C FAQ, Boost a site for C++ libraries, Standard C Library
documentation, The GNU
C Library documentation, strmode(3)
returns archive flag state, see also chflags.
Real Quick C++
guide. C++ in Action,
a book by Bartosz Milewski is available on-line at Reliable Software, along with a tutorial on Win32
from Elenco look
like a good way to introduce kids to electronics. The kits are also
"upgradable", they appear to sell a "delta-kit" that contains the parts
you need to take your current kit and upgrade it to the next level in
the series - they have
even set up the manuals this way, so when you buy the level 2 kit you
get two manuals
the first contains the experiments that the level 1 kit can do and the
additional experiments that are unique to the level 2 kit.. and so
on... There's even a computer interface in the higher level kits, but I'm not
sure what its based on (parallel, USB or serial). Actually according to this page
its probably using the microphone port on your computer's sound card
and it includes some basic oscilliscope software to allow one to see
what is happening.
is offering prizes for prior art that can invalidate some patents
BountyQuest may be disappearing
some day soon). BustPatents.com
is also watching and reporting on this mess. Scientific American ran this
article on four very bad patents (imagine patenting the "training
Here is a claim
that may invalidate the BritishTelecom patent on the web. There may
be a way around all gene based patents.
The GIMP is a free
photo editing package, an extended manual is available called Grokking the GIMP
- The Samsung SPH-9200 UMPC (the cute flip and fold split keyboard design) is getting closer, its manual has been leaked. 
A Slashdot book review of, CSS: The
Missing Manual, by David Sawyer McFarland, ISBN: 0596526873. 
One professional photographer's idea of what would make a great compact camera.
This is an interesting specification here are some thoughts about it:
- he calls for an APS-C sized sensor, which would be a very
good thing from the noise perspective (but this will make the lens
larger so he accepts a smaller zoom range). The resulting zoom
range of 28-70mm is useful for much photography (especially landscape
type work) but the 70mm end is going to be too short to appeal to a lot
of people. I have found that with the 28-210mm range of my Minolta A2 I
rarely need more zoom, and in the times I do I'm looking at something
so far away that I'd probably need a 500 or 1000mm lens to get a decent
photo anyway. Back in the late 70s and 80s when I did 35mm film
photography I typically found 135mm adequate and considered the 200mm
telephoto "exotic". The Minolta A2's lens is about the same
physical size as may 35mm camera's 50mm lens, largely because of the
film-size issue, the A2 has a smaller sensor that APS-C (but its larger
than somthing like the Canon G series), and I'm sure today that a
sensor of this size could be made with low noise up to at least
- I don't see much need for additional screw in optics (i.e
a 2x converter) as they tend to be so bulky (as big as this camera!) that
you're not going to be carrying them with you - it is better to make
the basic lens a bit bigger to get a bit more zoom range (using a
folded optical path you probably could fit a 28-150 or even 200 lens
with a bigger sensor in a pocket size camera).
- I agree with the need for standard screw-in filters, I
often make good use of a polarizing filter.
- I find his specification of only having a live-view LCD
and no optical view finder built in refreshing, he's missing two points
though, first you need the view finder to be articulated, both so you
can look down when shooting waist level and so you can look up at the
camera for an overhead shot; the second point is for you to be able to
do manual focusing the Minolta A2 shows you need at least a 900K pixel
resolution (and even then that's often not enough).
- The internal buffer should hold 10 shots in RAW, and in
motor drive mode it should pre-capture some frames (i.e. once the focus
is locked it should capture frames even before you finish pressing the
button) and save a number of these at the start of each sequence.
- The battery pack should be standard AA size (not another
custom lithium pack that needs a custom charger), using two NiMH cells
normally and regular AA cells if you get caught in a tight spot, I
wouldn't mind only getting 200-300 shots out of a single pair of NiMH
cells as they are so cheap you can always carry a few sets with you to
do something big.
- Philips' AJL308 is a clock radio combined with a photo frame. From the product brochure and owner's manual it appears that you can select a song to wake up to. 
how to demote
a Windows PDC to BDC, also discussed here,
A Howto manual for Debian
and DVD burning software for Linux
- GIT (main
page here) is the revision control
system initially developed by Linus for the Linux kernel (manual page here), he
mentions it briefly in this article. A
talk by Linus on GIT is here,
in which he rants against CVS and SVN (some of which is quite well
deserved) and even Google. Currently it it requires Cygwin to run under
Windows, and as
such, it runs slower under Windows than on a Linux host. GIT gets
here along with a discussion of branch merging in Subversion. A brief
comparison of mercurial and git. Another comparison that
talks about how git's branching is more powerful than mercurial's. GitPython is a Python library that can work with Git repositories, so if you need to do something tedious or complicated there is a chance you could automate it with this and some Python code.
- Panasonic is working on a sensor that will facilitate high dynamic range (HDR) photography, they do this by getting the sensor to take a sequence of three photographs with three greatly different exposure times and then combining the data. They have been able to expand the dynamic range from 60dB to 140dB with this technique, note that dB scales are logarithmic so this is not a simple factor of 2.3 increase, with each 3dB the linear range is doubled (i.e. an f-stop or factor of 2 change in shutter speed) so that's an exposure range increase of 26 f-stops (or changing from , with this you could probably set up a manual shutter speed and f-stop indoors and then go outside into sunlight and shoot without changing anything and still get a usable photograph. If you hold your f-stop fixed this range is equivalent to changing your shutter speed from 1/8000th of a second to over 8000 seconds. Of course their test sensor is only 177x144 pixels, but there's no reason this sort of technique could not be applied to a modern sensor pretty soon. 
The CWnd class has the necessary functions for traversal of the child/parent/sibling window lists (and since CDialog inherits
from CWnd it has all these too). Traversal in TAB key order (within dialogs) gets more complex because there
are sub windows that do not have TABSTOP set on them, so they get skipped. Plus the tabbing
logic knows to skip any windows that are disabled. The tab logic will always descend into
dialog windows that have the WS_EX_CONTROLPARENT set (this might happen even if there are no windows in them that have tabstop set, which can make for a tab traversal that seems to stop and catch the tab).
Getting out of a sub dialog, by hitting the tab can be done by trapping the tab key
and putting in some code to manually move the focus out of the dialog to another window. If you really want this behavior the best thing to do would be to override CDialog::PreTranslateMsg() to handle the tab key and then use that version of CDialog as your base class for dialogs.
Using the Spy++ tool can help understand the window tabbing order because the tabbing order is the order that
windows appear in its view (i.e. the order they are constructed and chained together).
The win32 function ::GetWindow(HWND, UINT) can be used to find the first child
window of a given window when UINT == GW_CHILD. It can also be used to find the first (among several) sibling windows when UINT == GW_HWNDFIRST. There is a CWnd::GetWindow() equivalent function.
an old manual typewriter to a computer keyboard
- Slashdot discusses hacking Canon point-and-shoot cameras, there is now software (called CHDK) that can do this without having to re-flash the camera allowing for safe experimentation. There is now a project to improve the firmware of the Canon 5D Mark II DSLR. There is now a book called The Canon Camera Hackers Manual (ISBN: 9781933952581) for those who would like to read about this.  
- matplotlib is a very powerful system for producing publication quality 2D graphics (including contour plots). It also has a mode (called pyloab) that emulates matlab graphics. If you do a manual install of this you'll need to install numpy and then matplotlib. Their official How To is here. 
- SUN's VirtualBox is an x86 virtual machine system capable of hosting 32 or 64 Linux, Windows XP, Vista, 98, OpenSolaris or even DOS. It gets discussed here on Slashdot. I ran into problems with installing Windows 2000 Pro in VirtualBox 2.1.4, what would happen is that the installation would work up to the point you are asked if the machine should be in a workgroup or domain, at this point pressing "Next" should take you to the setting up windows phase, instead the machine just rebooted and that part of the install would just repeat. After reading the manual (imagine that!) for a bit I found section "11.2.2 Windows 2000 installation failures", which suggests issuing the command:
VBoxManage setextradata VMNAME "VBoxInternal/Devices/piix3ide/0/Config/IRQDelay" 1
I shut down VirtualBox, opened a DOS window, changed directory to "C:\Program Files\Sun\xVM VirtualBox" and then issued the command replacing "VMNAME" with the name of my virtual machine. Then I restarted VirtualBox and continued the installation. This time the install completed properly. 
- In Aug'08 Olympus and Panasonic announced the Micro FourThirds lens system. The objective of this is to bring the larger 4/3rds sensor size and interchangeable lenses into a small (perhaps point and shoot sized) body by eliminating the optical view finder and mirror box. Since the sensor remains the same size existing 4/3rds lenses will be able to be used on these new cameras by an extension tube style adapter. This design will also result in a reduction in size of the lenses, since the rear optics can be much closer to the sensor. About a month later Samsung announced plans for a similar system called Samsung Hybrid based on the larger APS-C sized sensor. I wonder when Canon or Nikon will try the same thing, perhaps introducing a sensor that is smaller than APS-C (yet larger than the typical digicam sensor to reduce noise), this way they can introduce a new line of smaller lenses to sell to a new consumer group. This way your initial $200 digicam purchase gradually builds to $1000 as you buy a few lenses and, when you replace the camera in a few years, you stick with the same company because of the set of lenses you now own.
The Panasonic Lumix G1 (also here on PhotographyBLOG) will be the first of the micro 4/3rds cameras, it will have a flip out 3 inch display (it looks like it is fully articulated and can be turned face in to protect it, yeay! this was a feature I really loved on my Canon G1) with a 460K pixel resolution (which still might not be enough for manual focusing). It has a very high 1.44 million pixel resolution viewfinder (so that might be enough to do manual focusing on, but I found that the 900K pixel view finder on the Minolta A2 was not enough for this so I am expecting this will will not be enough, however Panasonic is using a different technology which effectively stacks the RGB pixels so it might be a much sharper display than the traditional pixel count implies.). It got HDMI output too, so you can inflict painful hours of slide shows on your friends and relatives. Digital Photography Review has a preview of it here.
The Panasonic Lumix DMC-G1 started shipping at the end of Oct'08 (actually a little ahead of schedule) and the first full review of a production model is here. 
- Dell has let loose its Mini 9 (also discussed here on Slashdot), with pricing that start at $349 and climbs to about $499. Time for most of the recent netbooks to get repriced (though the Acer Aspire One and MSI Wind are pretty competitive with this). Engadget has a collection of early reviews of the Mini 9. The Dell service manual for the Mini-9 has been posted online, let the modding being. An unboxing of it here includes some good comparisons with other laptop and small devices to give you a feel of its size. Engadget asks its readers how they would change the Mini 9. The Mini 9 has been hacked to run Apple's OS X, so if you want a mini Mac notebook this might be a route to take. 
- The Drools Solver can be used to solve some types of constraint-based problems such as planning problems like lesson and exam scheduling. 
- An example of using Chaco to produce an interactive graph to show a simulation of the Van Der Waal's Equation. 
- The Linksys WRT54GL is a Linux-based wireless router (the wireless section can be disabled if you just want a wired router) that is well supported by a number of open source projects:
Tomato the manual is here. This installs very easily over the original Linksys firmware, just download and unpack one file then go into the administration section of the interface and upload the new firmware.
A Botnet Worm has been identified that targets modems and MIPS-processor routers based on Linux (such as the OpenWRT, DD-WRT or Tomato firmware). Discussed here on Slashdot. It looks like power cycling the device will clean it, but then you should also change passwords and disable any administrative access from the WAN (which is how it gets infected - though presumably if you have WiFi enabled it could get infected from that network too). 
- How to Photograph Mixed Light talks about taking photographs at dawn or dusk with a mixture of both natural and artificial light (which are at very dissimilar colour temperatures). This can be used to good effect in pictures of houses to create an inviting warm glow. The only real tricks to this are that there is only a relatively narrow window of time (about 10 minutes) and that you may need to manually set your camera's white balance to "sunny" (which will cause the blues of the sky and the yellows of the artificial light to get intensified). 
- The Palm Pre might be off to a good start with independent developers, with the root image of webOS leaking out, also here on Engadget. Apparently flashing new firmware onto the Pre is quite simple. A NES emulator and Doom have been ported to the Pre. Unfortunately Palm says the webOS SDK will not be available until the end of Summer - this reminds me of the early Amiga days when the ROM Kernel Manuals were a long time coming. Despite the lack of an SDK some developers have figured out how to install applications on normal Pre phones. Installing small apps can apparently be done through email.