Example Database Models

This link is probably one of the most sought after I have blogged. It is the example model listing for Database Answers a website devoted to database modeling and design. The site provides “base” designs for many of the most common database layouts based on usage. While it may not be interesting to non-programmers/developers/DBAs; it is undoubtably something that we, those of us who fall into those catagories, have all searched for a generally come up empty.

The Last Piece

The only thing keeping me from redirecting all the rockerssoft.com blog traffic to rockerssoft.org is a feature I have come to like; but never had for wordpress. That feature is my reading list plugin. Well, that is about to change. Now Reading is exactly what I have been looking for. As soon as I get a free chance to implement it; we will finally be moved in. Much like when we unpacked that last box at our new house…

…a year after we moved in.

Filesystem Synchronization

I have been looking at tools to synchronize my work machine, laptop, and home computer.  There are literally dozens of options for this on Linux but it looks like the best two are rsync and Unison.  Both are command line applications with GUI frontends available to them.  Specifically I have been looking at QSync which implements the rsync protocol internally and uses Qt.

Finally Found

Sometimes it is difficult to find the location of opensource software. It is not always available where you would look for it. I have been looking for the source code location of Adept for a while now (well, I haven’t wanted it so badly that I was willing to install Ubuntu.) Currently the only source copies are in KDE svn. Get adept from anonomous KDE svn this way:

svn co svn://anonsvn.kde.org/trunk/playground/sysadmin/adept

The Climate of FUD

The Wall Street Journal is running on opinion piece by Richard Lindzen of the MIT school of Atmospheric Science. In it he answers some commonly misunderstood preceptions about the effects and causes of global warming.

While we are on global climate check out “What if all the ice melts
and “Faqs vs Global Warming.” Non of these articles are suprising to climatologists and meteorologist (trust me, I live with one) but to the vast majority of the population is comes as a total suprise because of the ignorance of the general population on this subject.

AJAX Links

Couple quick links to some quality AJAX and DHTML.

  • DHTMLGoodness – Website for DHTML and AJAX scripts. Well managed and useful, the scripts are fairly well encapilated. Includes demo pages of their scripts.
  • Max Kiesler’s Blog – Max has a roundup of some of the best AJAX tutorials around. Good way to give new developers an intro to web application development using XML and Javascript.
  • Catalyst – A Perl/AJAX framework for rapid web application development. It is similar in functionality to Ruby on Rails including such niceties as template auto-creation, structured MVC controls, and a plugin interface. All this and, because its Perl, you can use your regular CPAN modules including mod_perl.

Preventing Dictionary Attacks in SSH

ssh is arguably one of the most useful remote administration tools in existance; but it is no good if you cannot turn it on. Whenever I check my Linux server logs (on my externally faceing machines) there are ALWAYS hundreds of attempts to get remote access through ssh via brute force dictionary attacks. While I always have strong passwords and generally have strong usernames; there is always the chance that an attacker might get lucky.

Thankfully Linux has ipTables. The Linux kernel level firewall can be amazingly complex (some people actually consider it a full blown programming enviroment.) But that complexity allows for a dramatic amount of flexablility for a firewall. For example, if I want to block hosts who have attempted to login and failed 4 times in 60 seconds:

iptables -N SSH_CHECK
iptables -A INPUT -p tcp –dport 22 -m state –state NEW -j SSH_CHECK
iptables -A SSH_CHECK -m state –state NEW -m recent –set –name SSH
iptables -A SSH_CHECK -m state –state NEW -m recent –update –seconds 60 –hitcount 4 –name SSH
iptables -A SSH_CHECK -m state –state NEW -m recent –rcheck –seconds 60 –hitcount 4 –name SSH -j DROP

While we are on the subject of here is a great tutorial on getting IPCop working.  IPCop is an alternative firewall for Linux.

10 Little Things

I have been dealing with some scary-bad web development work lately. For anyone getting ready to do a website, “abs” has a great list of ten things that you should do (or expect from) a professional web developer. Anyone can get a website up, but it takes a real understanding of the internet and its strengths to take full advantage of it. Otherwise your site comes across looking like it was done by a high school senior.