Found this great introduction to Bayesian Filtering from the mathematical perspective. Bayes’ agorithem is useful for more than simply spam and the article does a pretty good job of explaining how it works in laymans terms.
Category: Technology
CompSci Concepts
Brandeis College has a posted some reference material for their “Structure and Interpretation of Computer Programs” class. It is interesting for a number of reasons but this should clinch it for you programmers:
There are only five ideas in Computer Science, and by the end of this course, you will know three of them.
–Harry Mairson
Encrypt This
The ultimate ssh tutorial has been updated for 2006. For those who are not familiar with *nix OSes, you have no idea what you are missing.
Everything X
Just a placeholder to point out that I need to download a copy of this great X article. Many people new to Unix complain about XFree86 without understanding the power it provides. This article gives a good “beginning” to some of that functionality.
Using YOU
Two articles from SearchOpenSource.com.
- The First Article — Walks us through setting up a local Yast Online Updater repository for intranet network environment.s
- The Second Article — Talks about configuring local systems to use the new YOU repository as their default update interface.
Simple Ajax Program
Here is a quick tutorial on using AJAX. It takes about 20 minutes to get started using it.
Software Development
and Project Success
When I was growing up our family’s resources were less extensive than they are now, and as such, we sometimes had to do without some perks. One of these perks was a complete set of tools for home/car repair. Simple fixes like changing a battery would result in hours of work because of the inherit limitations of our tools; which ostensibly consisted of a hammer and a butter knife. Whenever I was brushing off the latest “injury” incurred while fixing something, my father would say to me, “Everything is simple if you have the right tool.” The better the tool is at doing a specific task, the easier it will be to complete that task. Ever watched “This Old House?” They had a tool to do everything! I didn’t even know they made adjustable-corner-rounded-cut-circular-door-saws with the optional digital level… cordless, if you are lucky. Heck, if I had a shop with 30 million dollars worth of specialized equipment, I bet even I could make something as fundamentally complex as a bar stool.
“Everything is simple if you have the right tool.”
This maxim (while not always true) is amazingly accurate in describing the modern development process. In fact, this is the reason I work on KDE (as opposed to the “other” Linux desktop environment.) Things are simply easier to do, are more productive, and more functional because the tool is designed better and focused specifically on desktop software development.
Today I ran into a series of articles by some application developers who I have come to respect. Their insight into the software development process will hopefully help give me some direction on future project management. Here they are will some selected quotes that stand out:
-
- What Ive Learned from Failure – Regan Wald on software development success.
The strongest indication of a weak team is the realization that if you were to quit and start your own business, you wouldn’t try to poach any of your colleagues.
“Strong teams have almost impossibly high hiring standards. Strong teams will always leave a desk empty rather than settling for less than the best.”
“Examples of development hygiene include source code versioning, maintenance of an accurate bug or issue database, significant use of automated testing, continuous integration, and specifications that are kept current (whether incredibly detailed or high-level overviews).”
“A chicken is an individual who has significant authority over your project, but does not make a personal commitment to the success of the project.”
“And every time I’ve delivered software on schedule milestone after milestone, my influence and standing with stakeholders has grown. And every time I’ve missed a date, I’ve suffered, regardless of whether the late software was demonstrably better than what was originally planned for the missed date.”
-
- 12 Steps to Better Code – Checklist for evaluation of a good project team. By Joel on Software.
- Optimal Software Development Processes and Practices – The title really explains it all. Great article by Dennis Forbes.
“Documents such as specifications yield the same benefits of source control.”
“Discard all processes that are mechanically completed with little actual benefit. Tweak those that require more effort than necessary, maximizing the results while minimizing the effort.”
KDE: Unit Test Tools
I have previously discussed KDExecutor a automated unit test tool for scripted GUI application testing. Well, it seems that here is another tool that exists to do automated platform testing. Squish is a tool created by FrogLogic that supports all Qt platforms out-of-the-box. Squish seems to use Python scripts and costs betwen $150 and $800.
Reducing Faults in Code
Just bookmarking an article that I intend to check out. It is suppost to cover codeing guidlines and how they can be used to reduce code faults.
KDE: Desktop Search Technology
Couple links to Desktop Search Tools:
- kio-clucene –A desktop search engine for KDE that uses clucene. The C++ version of Sun’s lucene engine.
- KAT –The basis of KDE 4’s Tenor project for contextual linkage engine. Already used in Mandriva and Kubuntu.