2008 Jan 18 - Fri
C++ Tools: Face Detection, Artificial Neural Networks
Today I came across a couple of C++ projects relating to Neural Network usage. One is located
at CodeProject called Face Detection C++ Library with Skin and Motion Analysis. The author has used
a number of interesting statistical and analytical methods for face detection. To quote his
mouth-full: "An understanding of wavelet-analysis, dimensionality reduction methods (PCA, LDA,
ICA), artificial neural networks (ANN), support vector machines (SVM), SSE programming, image
processing, morphological operations (erosion, dilation), histogram equalization, image
filtering, C++ programming and some face detection background would be desirable.".
From a C++ library perspective, here is a
Fast Artificial Neural Network Library
(FANN). I believe the library is written in C, but has API bindings in about 13 different
programming language formats, of course with one being C++. The author's description goes as
follows: "Fast Artificial Neural Network Library is a free open source neural network library,
which implements multilayer artificial neural networks in C with support for both fully connected
and sparsely connected networks. Cross-platform execution in both fixed and floating point are
supported. It includes a framework for easy handling of training data sets. It is easy to use,
versatile, well documented, and fast."
[/Personal/SoftwareDevelopment/CPP]
permanent link
Network Security Tools
ITSecurity has an article titled
The 10 Best Free Security Tools. One correction I'd like to make is that
Ethereal has been forked with modern version now known as WireShark.
One cool knowledge snippet I learned is that NetStumbler, the rogue Wireless Access Point
detecter, now has a sibling for Windows CE based mobile devices.
[/OpenSource]
permanent link
They Can't be Better Than Sliced Bread
On dzone, there were a couple of language
related articles. Well, ok, the whole site is devoted to programming languages. Perhaps what I
was trying to say is that I detected a mild language war brewing. Well, maybe skirmish. Maybe
mild skirmish.
Linux.com has an article on D, called New D language pumps up programmer productivity. The writer does a lot of
comparing against C++. I still fail to see why D shines though. What makes it special?
C# is supposed to be a better C++. When you couple C# with Microsoft's CLI (Common Language
Interface) libraries, it is a nice development environment. C# takes away some nice things from
C++, but adds its own nice things.
Java is also supposed to be a better C++. Java does indeed do a good job of of being platform
independent. For instance, I liked the way of being able to install Eclipse, the Java based IDE,
on a Linux platform or a Windows platform and being up and running in minutes. I havn't
programmed in Java, so can't make a fair comparison of what makes Java a nice place in which to
program.
In an article by
Rick Hightower, he mentions Java, Ruby, Python, and Scala. In the article is a graph showing
language usage. Java ranks first and C++ second.
I have an insurance modelling friend who swears by Python, which ranks a low sixth in the
chart.
Anyway, what got me started on this all was an article called
The
Great Language Backlash. I thought, oh cool, someone is going to do an impressive rant on
what is missing in all the world's programming languages. it ended up being some little rant
about Ruby and Groovy, with Ruby being last in the chart I mentioned above. I'm glad the writer
redeemed himself with his final phrase of the article: use the best tool for the job. Well, I
suppose that phrase, in and of itself, is worthy of many a rant all by its lonesome.
I just can't resist: C++ rocks!! Maybe the version 0x should be changed to C!!! I'll leave
it up to the reader to determine how many '!' belong to the C and how many belong to sentence
punctuation.
[/Personal/SoftwareDevelopment]
permanent link
|