Content-type: text/html Set-Cookie: cookiehash=D8TIX1F9GFT8EVT9ARIXDC1UDL31CF7Q; expires=Fri, 16 Jun 2017 20:00:00 GMT; path=/; DMI News

DMI News

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

New Server!

January 20, 2013 18:23

Well, not yet. You're still on the old one. The new one has been purchased, loaded, and I've loaded all of the site data and programs are operating properly. I've also fixed one particularly NASTY bug which is in no small part one of the reasons for the new server anyway, but the old one was getting old, so it still seems like a good idea. I've changed the refresh frequency on the nameserver to 10 minutes so when I do finally swap over, there won't be any long delays in propogating. AT the moment I'm just testing all of the links and site functions to be sure everything is in order.

The new server benchmarks about 50 times fater than the old one. It will also have 4 times the ram and 5 times the HD space. I've also been able to install many of the libraries and software that was giving me endless frustration on the old one, so some of the new features I've been working on can actually WORK now. This has been a major bottleneck toward future projects, so hopefully I can start rolling new ones out in the next month or so. Stay tuned.



December 30, 2012 08:43

I've been REALLY busy lately with work and haven't had the time to work on the site. Now that the holiday season is done, things SHOULD quiet down for a while, and I'll have time to delve into things again here. I have a really long list of things to work on, so it shouldn't be a problem finding things to do.


5: The Tomz Incident

August 07, 2012 16:17

April 2002, before the site was called DMI and was only accessed by ip address (, I had several regulars that hung out in the chat room. One day, some kid shows up and starts chatting, sounding really interested in the page and several of the features. His name was Tomz.

I don't remember if Tomz initially said he was older, indicated that he was older, or never said, but the implication I got was that he was tying to sound several years older than he was, only it became more and more obvious that he was only about 14. Never the less, I never have discriminated against people due to their age unless they comitted a pretty serious faux pas. None the less, he was pretty annoying. His favorite thing to do was to brag, extensively, about his internet connection, which was a OLL (Optimum Online) cable connection that provided 10mbps downstream and 1mpbs upstream. At the time, that was a pretty decent internet connection, particually for a consumer grade ISP. Anyhow, he thought it was necessary to rub everyone's noses in this fact, which was annoying, but not particually depressing. We all have our advantages, so if that was his one shiny penny that he could boast about, fine. Let him have it.

After a couple of weeks of talking to him, one night he's asking a lot of questions about my shoutcast (or possibly icecast, not sure which I was usuing at the time) connection. Being patient, I spent quite a bit of time explaining how to install and configure the software and the plugins, etc, but he was obviously having trouble with it. Eventually he complains that he's going to have to go to bed soon because he has to go to his grandmother's funeral the next day. He then proceeds to say something really horrible about his recently deceased grandmother. I don't remember the exact words, but it was something to the effect that he didn't want to have to go, didn't want to waste the time, wish they'd just flush her down the toilet and be done with it.

I decided that I had had enough of him, told him I don't think I liked him anymore, and banned him from the chatroom. I would have banned him from the site as well, but at the time, I didn't have the easy blocking methods set up that I do now. The only way I could really ban him was to block him in .htaccess, but that took some time to take effect, so he was able to spend the next several minutes sending me messages from the site. At first he was just pleading to be let back in. Eventually he resorted to threats that he was going to "ping flood me off the internet" and so on. The full log is available here.

Best I can figure, he starts flooding me, although not very well. If his statements are accurate, he was pinging me with packets far too small and too slowly to be of any signficant impact to the connection I had, despite the fact his connection was faster. Besides, worst case, his upstream didn't exceed my downstream, so there wasn't much he could really do by himself. He didn't think that though, and spent more time boasting. Apparently, he figured that I would eventaully attempt to retailliate the same way, so he started monitoring his connection, watching all of the packets looking for something suspicious. He found something: a large amount of data coming from my ip address to his, and he assumed that this was an attack on my part. The problem is, he didn't bother to filter out traffic that he should have been expecting.

At the time this was happening, tomz was flooding me with pings, which by the very nature of the protocol returned a response packet. He was viewing my webcam, which sent a constantly updating stream of new images, automatically. He was listening to my live audio stream, which was a consantly updating set of packets. Also, my page had other dynamic features on it, like updating the lightbulb icons to indicate the status of the lamps. This too also generated a stream of data. Point is, my network was sending him a TON of traffic, on several different ports and protocols, all of which were responses to requests he made from his computer. Tomz, however, didn't understand this, and assumed that ANY traffic a traffic monitor showed was traffic that was not authorized.

Anyway, while this was going on, he first boasted about how laggy my internet connection must be by now (it wasn't). After he discovered the "illicit" traffic from my site, he starting complaining about it. Best I can figure, he was recording a full log of all data received for some reason (possibly as evidence) and those files were likely getting pretty large as a result. Knowing full well that I wasn't attempting any abuse, I realized that all data he was receiving from me was legitimate traffic and if he stopped accessing my site and stopped pinging me, he wouldn't get any more responses. I tried explaining this to him several times, including repeated demands to get off of my site, all of which he responded to by not understanding the issue, and refused to leave.

Knowing he was still listening, and figuring I could just scare him off, I looked up contact information for his ISP and started making some phone calls to report the abuse (so he could hear me doing it). His last few comments indicated that he probably heard what I was doing, and he quickly departed. I figured he was gone, finished up the call, and decided that was it for that adventure. However, within a few minutes, I started getting a LOT of traffic to the site. I looked up where it was coming from and discovered a link on where he had started a forum post complaining about being flooded and recruiting others to join him in flooding me back (the whole time neglecting to mention that he started the whole mess and I wasn't flooding him at all). About the same time I started reading this, someone sent me a message asking why I was flooding Tomz. Realizing this might get out of hand, I quickly copy/pasted all of his messages to a text file and linked to it at the top of the page, along with a message that I wasn't flooding anyone, then I continued reading the thread. Once I got caught up with that, I posted my own reply to the thread explaining the situation, and pretty much everyone involved sided with me, although Tomz was apparently gone for the day at that point. I figured it was all done now, or so I thought.

The next day, Tomz posts yet another thread complaining about the flooding and trying to defend his position, i.e., that I started flooding him for no reason and he only flooded me back as a defense measure, once again leaving out the fact that he actually did it first, and I never did it at all. Several people in the thread were aware of this fact, but never the less attempted to help him figure out the issue from his end. They eventually convince him to post a log of the flooding that I was doing and it clearly showed a list of packets, from my ip address on tcp port 80, which he claimed was proof of flooding. This was very quickly explained to him that tcp packets on port 80 were web server RESPONSES, and not attacks. It took several more rounds of explaining things before Tomz finally came to the realization that I wasn't flooding him back, but even then, he still figured that the problem was some type of error on how my system was configured, as to why he was getting all of these packets.

Lost in the whole mess, somehow, was the simple fact that had he not attacked me in the first place, he never would have felt the need to monitor his traffic, and never would have noticed the "self-inflicted webcam connections". Thankfully, the whole issue blew over in a couple of days. What was sad is how many people were very quick to jump to conclusions based on what he said, without having any supporting evidence. I really wish that dlsr didn't support the editing of comments after they were posted. You'll notice reading through it, how many people retracted their comments after they figured out what actually happened. Some 14 year old kid, who was known to have no credibility whatsoever, was instantly believed by everyone when a call went out to join a mob and attack someone.

On the other hand, however, this was greatly amusing. Someone annoying came along. I was as nice to him as I could be until he pushed it too far, and upon removing him, he tried to shame me, but it backfired horribly and my site became more popular as a result of that backfiring. Well, at least it amuses me.


#6: CFOX

August 05, 2012 18:03

June 2002. By that time, the site had a few major links which brought some publicity and each time a few new regulars. Early in the year, I was linked from Ernie's House of Whoopass, followed shortly after by I Love Bacon. By interacting with more people each day, I was more motivated to improve the look and feel of the site, as well as add new features. So leading up to June, I had quite a bit of fresh features and new material. One morning, I wake up and I hear faster than usual lamp activity, and a lot more messages than is typical for 7:30ish in the morning. Incoming messages indicate that I was currently being talked about on CFOX radio, during the morning show's Geek of the Week segement. They were done interacting by the time I figured out what was going on and managed to get the listen live plugin to work, but mp3's of the event are on the downloads page.

That was the first radio show that featured my site (that I know of), and certainly wasn't the last, but it was significant for a very important reason. During the few minutes when they were talking about the site, one of the dj's asks, sarcastically, "What is this? Drive Me Insane Dot Com?" Up until that point, my site was referenced only by IP address. A month later, I was doing some redesigning of the page and it was suggested to me that I really needed a domain name. The choices were between DMI and My Geeky Life. You can see which one won out.


#7 The RC Car

July 19, 2012 17:16

Back in the early days, when I was still toying with the mere idea of a webcam, there was a site called Khep on the web. This site featured a small tethered robot with a webcam that lived in a maze, and you could drive it around the maze. I felt inspired to arrange something similar, but thought it would be neat if the playground could be a little larger than a tabletop maze, like, my whole house. I figured the easiest way to accomplish this would to be to purchase an RC car, find a small camera, a video transmitter, and interface the remote control with the computer.

At first, I figured that the levers on the remote control would be potentiometers. I spent some time researching how I would construct a resistor ladder and control its output using a single parallel port. I finally hunted around and found a $20 RC Car at Radio Shack, and brought it home. Taking apart the remote I discovered that the levers were in fact not potentiometers, but just rocker switches. This signficiantly reduced the scope of the project. The switches could be pretty easily replaced by transistors or relays. I ended up going with relays because my first effort to use transistors didn't work out well. So I purchased some excessively large relays and wired them in paralell with the contacts on the rocker switches, then controlled those relays from the parallel port.

It took a little while to get the interface up and running. At first, it would only go forward and backwards, and the only interface was through a telnet session. Eventually I added the webpage controls, and the general interface hasn't changed much from that over the years. It even got me on Slashdot.

However, from the beginning, there were a number of problems. First off, the car was small and couldn't carry much weight. At first I tried using a separate battery pack to power the camera and transmitter, but the car could barely move with the extra weight, so I instead wired all of the electronics to use the car's own battery supply, which thankfully was also 12V. A set of rechargable batteries would last 3 hours, and took almost 9 hours to recharge. A second issue was that due to voltage drops, anytime the car was moving, the camera would fuzz out. The end result was rather irritating. Eventually I sought to solve this problem by purchasing a larger RC Car and using a larger battery. During my efforts to migrate the electronics over, I managed to kill the transmitter, thus putting the project out of commission for a year or so, since I could barely afford it as it was. The larger vehicle faired better charge wise, and would last 21 hours between recharges. However, both cars also suffered from a speed limiting issue. The only way I could prevent the car from going too fast was to force the car to stop 1 second after each command, and then wait another second to ensure that the vehicle had stopped moving, to prevent a cumulative acceleration. The new car also had issues from overloading the transistors, probably from the excess weight, and I had to periodically replace them. The car finally broke beyond repair about the time I moved, and it was a couple of years before I sought a replacement.

Next, I bought an RC Tank, which I thought would be useful in the new house. I had hoped that the tracks would make it easy to climb over the thresholds. I also decided to fix the start/stop problem by installing an embedded computer in the critter and interfacing with that via wifi. However, tracks, while making it easy to climb over obstacles, makes it next to impossible to spin, especially on a surface with a lot of friction, like a carpet. So after the tracks broke, I decided to build a critter, using a 4 wheel differential drive, and hopign that the spacing of the wheels would prevent friction issues. It did not. I later tried removing two of the wheels and adding a caster. That resulted in a critter that could spin fine on any surface, but couldn't drive straight, and didn't have enough power to climb the thresholds. I finally build another version of the critter with much larger wheels and a more powerful motor. Thats' where I'm at now. It works pretty well, although the thresholds are still giving it trouble. Mainly, becuase the wheels slip on the surface. Never the less, it's still a work in progress.


The first lamp

July 15, 2012 00:26

One of the cams I frequently viewed in the early days was called "The VET-Live Cam". It was a cam in I think the Netherlands, in a computer lab in a college, which also seemed to double as a lounge for a select group of people. The cam was on 24/7, and featured a light that could be turned on and off over the internet. This inspired me to set up something similar. I had some small breadboard pieces that I dedicated to developing the circuit for this project. I went to Radio Shack and purchased a smallish relay that I figured would be sufficient for this project. While it was certainly sufficient, it was significantly more so. The relay I ended up using was good for 20 amps, when I was only trying to control a single lamp, with a single bulb, which any relay rated for an amp of current or more would have sufficed. Needless to say, there was serious overkill, but it worked, so I didn't worry about it.

Over the course of my life, starting from about 10 years old onward, I had played with electronics. As a kid, I had several of the electronics kits, and a pile of electronic parts, with which I proceeded to impress myself (and occaisonally others) by building things as novel as "a paper flashlight", which consisted of a battery pack and a green LED. I also learned how to solder and had a basic understanding of electronics, but never did anything complex or serious.

So when it came time to wire up actual AC power and feed it through the relay, I had no idea if it wasn't about to blow up on me. I wired the plug and socket through the relay, plugged a lamp into it, and used a 9V battery as my power source to flip the relay. I then CAREFULLY plugged it into the wall, and connected the 9V battery to see what would happen. The lamp turned on. Just as it was supposed to. It didn't blow up, or catch fire, or do anything dramatic besides turning on. So the relay worked. Now onto the computer control.

The next step was to figure out how to get the computer to output something via the parallel port to trigger the relay. I had enough knowledge of electronics to know that the 5V from the parallel port fed into a transistor would allow current to flow through the transistor, but I wasn't sure how large the transistor needed to be or anything like that. I ended up rooting around in the garage for old parts and found some old transistors, all very large, and was able to get one of those to work with the parallel port, so that plan worked. I assembled the circuit on the breadboard, rigged up some wires to the relay, and tested the switch by manually setting the parallel port bit to on.

And it worked!

And from December of 1998 until I moved out in August of 2003, that circuit remained on the breadboard, precariously perched on the edge of a low table, connected to an old 486 with no top cover for the case. The bulb in that lamp worked for 4 years before burning out.

The sprinkler used the same relay setup, but all of the other lamps in the house instead used X10. Smarthome had a sale, Xmas of 2000 I believe, where they were selling appliance modules for $3 apiece, so I purchased about 20 of them, along with the firecracker kit, and another computer interface which was directly wired. Wiring and interfacing using X10 was a lot simpler, so until about a year ago, I would use X10 exclusively for all lamps. I only recently regressed back to using relays since apparently X10 modules have a limited lifespan, especially when considering the abuse that this site would put them through.


No Title

July 12, 2012 11:08

#9. Adding the Doorbell

Jump back to June 1998. I've had a webcam for almost a year now, along with a local webserver. I've also become skilled at programming simple socket programs on linux. As webcams greatly interested me then, I sought out other webcam sites. The really interesting ones (to me at least) were the ones that had an interactive component to it. One had a model railroad you could control, another had a controllable lamp, one even had a little robot you could drive around a maze. As you might guess, a lot of this stuff inspired me in future projects. There was also a site called Icepick. While I don't recall anything on his site at the time being interactive from the web, a lot of the home's typical functions were logged. He had a barcode scanner to track grocery consumption, monitored and recorded the cat's eating habits, and kept a datestamped log of when the doorbell was rung. For some reason, I latched onto the latter option, possibly because it seemed relatively simple to implement.

The simplicity of the project relied on a simple, ancient, and quite obsolete computer port: the joystick port. The interface of the port was exceedingly simple. Four "button" ports, and 4 resistive ports. All you have to do is hook a switch to the button port. Reading a value in memory will indicate if the switch is open or closed. That's it. No complicated electronics neceesary. Just a single component. To step this up a notch and interface the doorbell to the game port just required the use of a relay wired parallel to the doorbell chime, and when the doorbell was rung, the relay would close, and a program constantly polling the joystick port would notice the button press and trigger an event. This program, running on a 486 with the joystick port, would initiate a socket connection to another program running on the webserver, which would then append the event into a logfile, which could then be accessed from a webpage. The total time on the project, from inception to implementation, took me about 8 hours, and most of that time was spent finding an AC relay and running wires from the doorbell to the computer.

For some reason, the first response everyone had to my mentioning my success at getting the doorbell connected to the website, was that they expected to be able to ring it. That has never been an option, but I did make some further refinements. A year or so later, I added a cam looking out my front door, and I updated the logging program to snap a few pictures from this cam anytime someone rang the doorbell, so now we had both a visual and timestamp log of the event. I later added a motion sensor to the front door, and had the same logging/picture taking event triggered by it.

Alas, this is not a feature that survived my moving from the house in Plano. First off, even upon getting settled here, I don't have a suitable doorbell on this house that I can interface with. Secondly, if you think game ports were obsolete back in 1998, they're beyond dead and buried now. I could use the parallel port to monitor the doorbell event, but even those are getting hard to come by on new equipment, and it's next to impossible to get more than one native parallel port per machine on a computer that's less than 10 years old. There are usb parallel ports available, they're cheap, and you can add a practically unlimited number of them on a single computer. The problem is, they have been designed to work with printers, and only printers, and don't have much device support for any other activity. I therefore need to create circuits to interface with the doorbell (or more commonly the lamps) to act like a printer. Another issue is a logistical one with regards of how to install a cam to properly monitor the front porch. The house in plano was easy in that there was a small window in the front door right at face level. The cam was installed inside the house, looking out. I had no concern about environmental issues or tampering, and the computer with the capture card for that cam sat right next to the door, so I didnt' have to have any extensive wiring projects to make it happen. To make matters more complicated, l live across the street from an elementary school. While there is technically nothing illegal about pointing a public webcam at a school or the kids that inhabit it, there is the great potential to generate a huge amount of controversy the second that one of the parents discovers it, especially if one of their children end up immortalized on a popular website without their consent. Therefore, any cam I install that monitors the porch also has to NOT monitor anything past the front yard. While there is an option, it would require the cam to be mounted outside, hence the earlier concerns about weather and tampering.

Regardless, this is a feature I've continued to think about. Once its set up, it's maintenance free, it automatically generates new content for the site, and it's another static feature that keeps people entertained.


#10. Starting the Site

July 10, 2012 16:39

For the first series of articles, I'm going to write about the top 10 noteworthy events and/or features that have transpired with this site. A lot of this will rehash or supplement other documents on this site, especially those of a historical nature, or the news entries of the time. So, without further ado.... #10.

Back in 1996, I was reading a magazine, Popular Science I think, but I can't remember, and it had a 4 page article about webcams, which at that time were nifty web novelties. One of the featured cams was watching a basement for ghosts, another kept an eye on a coffee maker. The cams were simplistic, yet complicated. Most of them operated using a camcorder and a video capture card. A scripted sequence of events would capture an image, convert it to a jpeg, and transfer the file to a webserver using ftp. Since most people had dialup, the rate of update was one image every 30 to 60 seconds on those cams.

It would be about a year later before I finally got around to doing it myself. I spent I think $329 on a US Robotics Bigpicture webcam kit, which included a small camera with a composite cable and a pci capture card. I ended up purchasing a new computer at the same time... well, relatively new anyway, to support it, as the computer I had before had issues when I tried to install it, and it was hopelessly short on available pci slots anyway. This was August 1997. Thankfully, by this time, several different software developers had created webcam applications specifically designed to capture a jpeg image from the camera and automate the serving of the image on the internet. My first incarnation of the site was a simple page called "Spy on Paul Mathis". It was hosted on the small amount of webspace offered by my ISP, and updated once every 60 seconds.

This next bit might seem to be somewhat of a tangent, but it's important never the less. Around this time, I started playing with raytracing. I had played with it a bit years ago, but it suddenly became a more feasible hobby with faster computers and better graphics. I discovered Pov-Ray, along with an IRC community devoted to it. Among various projects related to this program was the ability to set up a renderfarm, where timeconsuming, resource intensive raytrace operations could be split up and automatically distributed among multiple computers. I started scouring the local computer repair shops looking for old computers that I could use for this task. I bought a couple 486's for like $30 each, installed Linux on them, and messed around with getting the renderfarm working. I also had at least one other linux box up and running since I was using it to port the accounting applications one of the companies I worked for produced on AIX. Of course, porting a program from AIX to linux required the timeconsuming step of recompiling it and fixing the few syntax and runtime bugs that AIX for some reason allowed.

My interest in developing a huge renderfarm of outdated computer equipment eventually faded, but one of my povray buddies inquired if he could use one of those 486's as a webserver for his povray website. I was now on a dedicated isdn connection with 16 static ip addresses, so this was something I could offer. I briefly entertained the possibility of setting up a webhosting company, but eventually balked at the idea since it was going to require a huge investment with money I didn't really have, and I would have had a very short timeframe to drum up enough business to support it. Nevertheless, in planning for all of this, I had put together a nice webserver for myself, and decided to move the hosting of the cam site to my local server, and I set up the cam software (running on windows 95), to serve the image directly from the program instead of doing a file transfer first. With some tweaking to the image quality, I was able to stream the cam at about 1 fps. Not too exciting, but it was able to outpace the dialup users, so I was happy.

This all happened the first year. Before the doorbell, or the lamps, or the rccar, or especially the DMI name. I was part of a diverse but very limited population, where the very act of setting up the cam was a novelty in and of itself, and no further explainations were requested or required. The fact that I managed to do it at all was all that needed to be said.


15 years

June 28, 2012 05:23

This summer marks a number of milestones for this site. It will be the 15 year anniversary of the webcam site itself, as well as the 10 year anniversaary of the domain name. In celebration of this event, I plan to post a series of news entries documenting the various highlights, along with other personal observations regarding the history of this website, and where I plan to take it in the future. Furthermore, I am going to attempt to ressurect as many classic features as possible, even though their existence may be short lived. This will all happen over the next few months, so stay tuned.


A tale of 20 kitties

May 12, 2012 15:20

It all started with a cute kitten, likely an abandoned housecat, which showed up on our porch one day. Lacking any creative insight, we dubbed her "Porch Kitty". I'm not sure if she was already pregnant or became so shortly after showing up, but nevertheless, several weeks later, she had a litter of 5 kittens. Two weeks after giving birth, she found a nice nook by the side of my house to make a temporary nest, and we got a chance to play with the kittens for about 10 days, before she moved the litter elsewhere, and we never saw them again until they were older and sufficiently feral to prevent us from being able to adopt them out. She had at least 2 more litters, at least one of which was accessible for a short period of time, but again, she moved them away before we had a chance to socialize them.

A few months back, we notice that Porch Kitty is pregnant. Again. Only this time, she's not the only one. 3 of her previous kittens are now adult cats and are ALSO pregnant. Lovely. Realizing that the inevitable outcome of this circumstance is a LOT of kittens, followed shorly afterward by a LOT of cats, I decided to make a more substantial effort to ensure that the kittens would end up friendly and I'd be able to adopt them out once they were old enough.

The first stage of this effort was to establish trust with the mama cats, all of whom (with the exception of Porch Kitty) were feral. I've named the other three Mustache cat (or Mustachia) due to the white mustache formed by the fur colors around the mouth. Another cat I named FluffyStar since she's extremely fluffy and has a white star on her neck. The last one was named Loudmouth, since she just sat there making a lot of noise at first when she realized that eating would require getting within arm's reach of me. Hence, the building trust effort required a twice daily regimen of placing cat food right next to me, requiring them to be within reach while they were eating, and I would spend that time petting them (or at least attempting at first). Over the course of a few weeks, the cats, while never really developing a friendly demenor, at least gained enough trust of me that they didn't feel the need to stay out of reach. As a result, the cats mostly kept their litters close to home and accessible to me.

The first two litters were born 7 weeks ago, from Porch Kitty and Mustachia. Apparently they decided to share the nest, so they shared 9 kittens between the two of them. I have no idea which kittens belong to whom. A week later, Fluffy Star and Loudmouth gave birth to separate litters of 4 and 3 each. They did not combine their litters. All of the mama cats would move the litters every few days, but for the most part, I was able to quickly locate the new location. From about 2 weeks on, I would daily attempt to socialize each kitten. After the big litter hit the 4th week, they all disappeared and I wasn't able to find them. Also, one of FluffyStar's kittens disappeared as well. The two remaining litters then got all of our attention for a while. Fluffystar's kittens got to the point where they would come out of the nest when we called for them.

Eventually, we located the big litter again, in the bushes of a neighbor's house, and I moved them all back to our porch where they have remained. About this time, Loudmouth's litter disappears. A few days later I moved Fluffystar's litter to the porch as well, and noticed that the big litter had inherited an extra kitten. Somehow one of Loudmoth's kittens found it's way into the batch. No idea how that happened, but no matter. At this point 14 kittens were liviing on the porch. A few days ago I was able to locate the last 2 missing kittens, under the shed in my backyard where Loudmouth was keeping them. I was able to grab one of them and bring it to the porch, but the other one evaded me. Last night Loudmouth was walking to the porch and her remaining kitten followed her, so now all 16 are living on the porch.

They're all eating solid food and have learned to use the litterbox (which I have to change twice daily, it fills up so quickly). The next stage in this game is to take the mama cats one at a time and get them spayed, along with getting all of their shots. I'm not sure how well this is going to work out. I'm confident I'll be able to cage most of them without too much of a struggle. All of them will let me touch them, and a couple of them will let me pick them up, at least for short periods of time. I like having the cats around. The rodent, bird, and squirrel population is kept to a minimum and out of my house. I also like having the kittens around, but 16 is a bit much. I'm certain though, that even after fixing these 4, there will still be some strays in the future that will bless us with additional mini-cats.

Medically all of the kittens seem healthy. Some of them had a problem with eye discharge which I was able to solve pretty quickly with two daily applications of Terramycin. They also have a lot of fleas, which is to be expected since they live outdoors. I'm currently looking at some solutions for treating the fleas on younger kittens. Most of the medication I can't use until they're 8 weeks old. All that remains after that is to adopt them out, which I will start attempting to do next week. A few of the kittens already have takers. The remaining ones I'm going to attempt to give away by setting up a big sign in my front yard and sitting out there in the afternoon when school gets out. Since I live right across the street from an elementary school, I'm hopeful that this will be sufficient advertising. Any that remain after a couple weeks, I'll haul down to the pound which will make a concerted effort to adopt out healthy weaned kittens. I'm not sure if we'll keep any of them, but I doubt it. Leban has shown a great displeasure in the fact that I pay as much attention to them as I do, and while I'm sure she'd adapt to another housecat, there will be a training curve involved which I'm not sure I'm up for at the moment.

Enjoy the pictures here.