Content-type: text/html Set-Cookie: cookiehash=D8TIX1F9GFT8EVT9ARJXDC1UDL31CF7Q; 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

Anon Redirection

July 26, 2009 06:38

As the regulars certainly know, and more than a few new anons have discovered, rather abruptly, I have the capability, through the use of some mildly clever AJAX scripting, to redirect a specific user, on a specific page, to any other page on the site, or for that matter, anywhere else on the internet. While the potential abuse for such a feature is rather high, I usually only use it send someone to the specific FAQ page that answers their very frequently asked question. Occasionally I might send someone to google maps, or or wikipedia when the situation warrants it, but I never send anyone anywhere obscene..... although I certainly could.

However, getting back to the point of this entry. Why do this at all? I mean, it would SEEM obvious. Having a well written, thoughtful, and more or less complete response to the more regularly asked qusetions would seem to provide a better answer than actually typing in a new response each and every time it's asked. If I'm feeling snarky I may do so anyway, but most of the time, I'm busy. I can easily field questions from 10 anons if they ask simple questions and I can send them off to the appropriate page with the click of 3 links on the admin page, and while they're off reading the novel I just provided them with, I can be responding to the other users... who are inevitably also asking similar questions.

Most people don't have a problem with any of this.

A few people do.

So... why? For that matter, lets take that question literally, with regards to the site. Why do I do this. What made me do this? Good questions. Thankfully, I have an answer. It's an answer so frequently asked and so historically significant, that it even gets its own prominant place on the sidebar, very close to the top. I even have multiple versions of this document, which convey the same basic message, but are organized differently, depending on if I think someone just wants the story, or if someone is looking for a more surgically targeted answer to a specific subset of Why why WHY! In any event, they ask why, I send them there. THEY are the ones who bothered to ask the question, and I made an assumption that they wanted an answer. Sometimes, it would appear that is not the case. Some will come back, almost immediately (certainly not having read any of it), complaining that they wanted me to actually give them the answer right there in the message box. They didn't want to go READ anything.... (apparently my messages are exempt from that restriction).

This brings up another curious ponderance. I can understand someone not wanting to dedicate half their day to combing through my site, reading every page of literary masterpieces that I have composed over the years. However, it seems that almost everyone is able to find the chat window, the field to send their messages, and figure out how to send them without any problem whatsoever. Of course, very few read the policy link right above it, but that's beside the point. The ability to send messages to me seems to even cross cultural and language boundaires, as people who don't speak ANY English have no problem finding the chat field. However, a large number of people can't find the lamps. Or the other cams. This MIGHT have to do with placement on the page. There have been studies involving what parts of a webpage get the eyeball attention and what parts tend not to. It's possible people see the cam and the chat window and just ... miss the rest of it.

Considering that possibility, I have occasionally moved things around in the main theme. The cam alwyas stays in the upper left quadrant, but I've moved the message window around. They always find it, no matter where on the page it is. But they still miss everything else. Is this some type of learned browsing habit? The ability to instinctively spot any means of communication, especially on a live, interative site such as this one? What would happen if I deprived them of it? Would they spend more time reading, or just leave quicker? Is the chat window an anchor that keeps them here a few minutes longer than they otherwise would? Are the simple questions they ask simply their brain's way of making an excuse to stick around for a few more seconds, when habit is trying to push them to continue browsing? In this case, I might be able to see the offense. They're already on edge. They've broken their own personal rule and subjected themselves to a timesink. And instead of the response they were expecting... they get a whole new page. A page filled with lots of gory details, of which they simply have no intention of ever getting into. They never wanted to know in the first place. Their brain tricked them and now things have gotten out of hand.

At least, that's my theory on it. I've also noticed another change in behavior. When I first implemented my little page reloading trick, most people were stunned and then either impressed or scared as a result. A lot of people thought I was hacking their computer. The rest wanted to know how the heck I did it. I still get a few of those now and then, but for the most part, nobody even seems surprised. Either other sites are doing it now, or people have gotten smarter to the point where the concept of their browser suddenly changing to another page just isn't a revolutionary event anymore. With all of the full page advertising you see out there, that covers the whole page, apparently it's just not much of a surprise anymore. In fact, it's also possible that people are equating my page reloading tricks with the advertisements they see elsewhere. That MIGHT explain some of their annoyance. Perhaps a nice notice message, as the page is forwarding, comforting them.. telling them how we're doing this as a favor to them, to ensure that they get the very best answer that money can buy....

Ehh.. who am I kidding.. they won't read it anyway.


A few steps back

July 23, 2009 15:04

Ok, so I've had a few setbacks. First off, my office cam decided to quit working. It's a Panasonic BL-C111, ip cam, built in pan/tilt. Everything it needs to work pretty much standalone, and has worked pretty much flawlessly since I got it a couple years ago. The last storm that went through here put it into a state of constantly rebooting, and finally it would never boot at all. For the moment, I'm using a Logitech orbit MP, which is a pretty nice cam as it is, but running it off the windows box has been problematic. Webcam XP thinks it has to use about 60% of BOTH cores just to serve webcam images... something most other webcam applications can do with 10% of the cpu or less. It's not well supported on linux, and even if it were, it's not really within a good usb cord reach of one of them. I'm still working on some options with how to deal with this, but ultimately, I'll probably just end up buying another ipcam to replace the one that died. Maybe even the same model.

Although I finally got my cellphone to work as an internet modem on linux, I can't get a distro with a 2.6 kernel to install on the mini-itx computer I have, so I can install the thing in my truck. I'm going to continue searching for a distro that WILL work, AND will support the blackjack connection. If I can't, I have 2 options. Either I buy a new motherboard/cpu/ram for this mini-itx case, something that's a bit more modern, or I spend about the same amount on one of those tiny laptops. Of course, again, money is the ultimate issue, and I'm trying to make this work without spending any. For those who are wondering, I plan to use the in-car computer to provide live webcam images while I'm driving, along with a gps to provide realtime location information, and to also use the computer as a player and storage medium for music, played through the truck's stereo system. This is not a new idea, and others on this site have done it before, but I've been wanting to implement it for myself for a while... money being the ultimate issue. There's always better things to spend money on.

I'm also not as far along on my recoding project as I'd like to be, although I can hopefully step up the progress on that. Xmas is approaching, and I'd really like to have everything finished before thanksgiving... preferably before the first of November. Doing the lighting and interfacing won't be a big deal, but I need to be sure the server(s) can handle the traffic, and I also need to build/install a mailbox and dig a trench for the electrical and data, as well as burrowing under a sidewalk. The server project really is the timeconsuming and critical one though. Everything else just costs money.

On a side note, I played with virtualbox for the first time, as part of an effort to offload the camera onto another box. I've used vmware before, years ago, so I'm familiar with the virtualization process. Virtualbox seems like a nice little program, although something crashed my linux box that was the host computer. Not sure what to make of that yet. Since I wasn't terribly successful getting the cam working through it anyway, I'm probably not going to pursue it for that purpose, but I still found it to be a nifty little program. I just really have no idea what I would do with it. Just nice to know that it's there, I guess.

And while I'm dreaming of spending money I don't have, I'm thinking ahead toward the next upgrade. Usuallly I upgrade my windows box, which is usually the beefiest computer in the house, by buying a new box for the windows, and moving the old one to become a new linux box. The next upgrade will likely not result in a fresh linux box becoming available as I have need for another windows box in here, but I might also build a new box specifically for linux with multiple cores and LOTS of storage space. Thinking multiple terabytes here. If I get one of the motherboards that has 4 pci-e slots, I can have 4 simultanious videos playing, and therefore have 4 tv stations in the house, even though there's hardly use for more than 3... still.. just thinking ahead here. I'll probably want at least one channel for security cam purposes.. Have a realtime video displaying the cams and other information.

There, enough rambling for one day.


Hello from Tulsa

July 12, 2009 01:40

As probably two of you know, I'm currently in Tulsa for the weekend, attending the Tokyo In Tulsa anime convention. This makes the second anime convention I've attended as a registered attendee, not including when I crashed a cosplay competition at A-kon back in 1999, but I was just there to pick someone up, so that didn't really count. Of course, despite being a family trip, this event is really for Marjorie and the friends she chooses to drag along with her. That's not to say that Gertie and I haven't been having plenty of fun on our own on this mini vacation of ours, even though we're not quite the anime fans that Marjorie is.

I've never been much a fan of travelling. It always seems like a lot more trouble than it's worth, and I've tried to make this event as smooth as possible, not only to make it easier on us, but also to make it more fun. While I haven't been entirely successful in that regard, I can at least say that the experience has been very educational for me, and I plan to apply what I have learned toward the next trip we take.

First off, planning ahead is VITAL. Despite that fact that I personally have a tendandy to procrastinate, group procrastination tends to be th eultimate exersize in futility. Therefore, next time, I'm going to try to make the following changes to our planning schedule. First, there's going to BE a planning schedule. No less than 2 weeks in advance, we're going to sit down and decide EXACTLY where we're going, who's going, what we're taking, how much it's going to cost, and what needs to be accomplished prior to leaving. That's not to say that planning starts at the 2 week mark, only that all decisions at that point are final. From that point on, we're just packing. The day before we leave is not the opportunity to come up with 6 new projects. Those projects, will have all been decided at the 2 week point, and will have been accomplished prior to the last day. The last day is just to confirm everything is packed, and everyone is ready to go. Best of all, everyone gets a good nights sleep.

How about things to take with us. First off, the computer. I decided to lug a tower case and monitor instead of a laptop. I don't regret that decision in the slightest. Laptops are annoying, hard to type on, fragile, expensive, and easily stolen, not to mention targeted for theft. The downside is that they're heavy and can't easily be carried in one trip by one person. My plan for the next trip is to make THAT possible. A carrying case with wheels designed to carry the computer, even if I have to build it, would be ideal for hauling it around. As for internet access, I originally intended to use the hotel's internet connection. This has been, somewhat less than ideal. In fact, I refer to it as... the new definition of suck.

I was informed that the hotel had both wired and wireless internet access. Ok, so computer, network card, network cable, all set! I get here, there are no ethernet ports. So I go inquire at the front desk, no big deal, what they do to provide wired service is to provide a wireless bridge. Great in theory, assuming of course that the wireless network is reliable in the slighest. I DO get it working, and it works moderately well for the first 20 minutes or so, although the speed at best could be considered "high-speed dialup". That would have been fine, except after that first 20 minutes, I was unable to maintain a connection. After messing with it for the better part of a day, I finally gave up on it. I moved onto plan B.

I have a Blackjack II cellphone. It's not a great cellphone. It runs windows, and I therefore happen to be the happy owner of a phone that CAN crash when it rings. However, it has tethering capability. Before I left, I investigated about using the phone on the computer I was planning to take, but I couldn't get the software to install on it, and what little last minute (see... planning ahead is important) research made the solution seem more complicated than I wanted to deal with, so I didn't do any further research on it prior to leaving. However, after suffering with the hotel's internet connection, I decided it was worth the effort afterall. It turned out to be a very simple solution to getting it working, and once it was, I realized that using my cellphone had two distinct advantages over the hotel's network. First off, it's more reliable. In fact, except when I pull the cellphone off to take it with me, the connection hasn't dropped at all. The second fun feature is that it's faster. That's..... very sad. But at least I know now that I can always use the phone as a reliable, reasonablly fast internet connection anytime I'm in a 3G wireless area.

Other things to bring: Drinks! $2 per 20oz bottle is rediculous. So, previously purchased bottles and cups will be a required addition next time. Ice, at least, is still free. :) It might also be a good idea to put together a universal travel bag that has all of the must-have stuff. Toothbrushes, toothpaste, comb, brush, hairspray, sewing kit, deoderant, various female products, medicine, saline, and a minimal amount of makeup. That way, the bag can be grabbed when we leave, and can supplement the normal stuff we always bring, and if necessary, any forgotten items will be covered.

I will likely compose this into a more expanded guide, "Restil's guide to travelling for geeks on a limited budget" or something equally pointless.


Two down, about 12 to go

July 03, 2009 07:08

Two servers have been ... more or less.. completed. The blockserver and the messageserver are now fully in operation. Neither of these means a great deal to you, the average user, and chances are good you won't notice most of the changes. But I'll go over some of the more obvious ones.

First off, messages are now a bit more useful. The message box will display the last several messages you've receieved AND sent recently. Yes, now you can see the message that you sent after you type it. It's truely revolutionary programming like this that keeps us on top of the game. Yeah. Message boxes on ALL pages that have them will be updated at the same time, so there's no longer any worry about you being on the wrong page when a message is received, or accidently leaving a page at the wrong time.

There is now multi-tierd abuse detection. Whereas before, it was a pretty black and white approach to the situation. You accidently let slip a mild cussword, and you got blocked instantly. However, a lot of other abusive behavior was missed because the filter couldn't differentiate between abuse and normal activity, and had to err with the assumption that it was ok. Now, there are several levels of moderation based on the severity and potential that a specific behavior is abusive, and human intervention will be required to moderate any potentially abusive behavior before it becomes visible to the public.

As for advantages that you don't notice directly, prior to implementation of these servers, both implementations required the sequential searching of flat data files. As they grew (especially the block files), this resulted in a non-trivial amount of time being spent each time a page was loaded, just checking these files. Now they use a combination of binary searches and hash tables to order the various data, and despite the requirement of a bit of networking overhead, it has signficiantly cut down on the amount of time each process requires to completely execute. As more servers are converted over to the new system, this will continue to improve.

The next server I'll be converting will be the cookieserver. This one will be a bit more challenging, at least as far as effiency goes, as there are currently already over 5.3 million records, and new records are added to the database everytime a new user shows up on the site. Under a decent load, this could potentially be several times per second. I can't exactly run a new qsort on 5 million records everytime someone loads the page. Stay tuned.


And so it Begins.... Sorta

June 16, 2009 02:20

After a LONG year of coding, feet draging, and endless hesitation, I have finally taken the plunge. I have started implementing the new application servers to handle various features on the site. And this means what to you? Absolutely NOTHING. First off, I've only implemented one server so far, out of 12 that I have planned, and I've only implemented features that were already available before. Yes. I spent a whole year just to get to this point. And I'm not even done yet. Err.. what's the big deal again?

If you're not interested in programming or network management or similar topics... um.. just... go away. Still here? Ok, here's the deal. Last June my server went down for 6 days due to a explosion at the datacenter where it's located. While I was able to get it fully functional again, the downtime had a signficant negative effect on the exposure of the site. By the time I got it restored, I had lost 2/3 of my regular traffic. So what I started doing was to implement a system by which I could easily and quickly set up a secondary server. Since then, I have been paying for two servers, one of which does practically nothing, but it's there, and it holds frequent backups of the main server, so should something drastic happen again, I can hopefully have the site back up and operational in a matter of hours, instead of days. But it got me to thinking, why shouldn't I have a realtime updated server, ready to fire up and go at a moment's notice, with completely up to date data. And that brought me to the next phase in that evolution, why not have both servers operatinging simultaniously, with live updated databases, and able to handle twice the traffic I currently do. Why not indeed.

The inspiration then lead to a great deal of perspiration. See, most of the site has been very poorly designed. Yes, I did it. I'm at fault here. It's not that I WANTED to design it poorly, it's that I never quite realized it was going to get as big as it ended up, and the more dynamic I made it, the more difficult it became to loadbalance over multiple servers. While I have active database programs for some of the realtime data, much of the data is accessed directly from files. I did try some database packages in the past... however, that idea fell apart in testing. It basically boiled down to the fact that no matter what I tried to do, I was going to have to rewrite the entire system. So, if I was going to do that anyway, I was going to make sure I only did it once, and when I did it, it would be robust enough to last forever and handle a virtually unlimited number of concurrent visitors. For instance, the image server I'm currently putting together will be able to handle 1 trillion images. That doesn't mean I expect to even reach a tiny fraction of that number, and it's currently several hundred times larger than the number of images that photobucket and other sites currently handle, and they've been specifically designed to handle it. I just don't want to get caught again, stuck in a rut because while I could easily improve the site's traffic, there's no way it could currently handle it. I can't handle any media attention and reap the financial benefits that might result from such exposure again. So, I'm making sure, this time, once the system is complete, I'll be able to grow it easily and seamlessly by doing nothing more than adding more servers to the mix.

The second issue is one of efficiency. There are many places on the site where I'm literally doing a linear search on thousands of records searching for a record, and I do this several times everytime a page is loaded. Yes, it's stupid. Yes, it's high school level datastructures. It's not that I don't know these things. But it was a quick and easy implementation when I had only 20 records to sift through. I honestly never expected to need more at the time. As previously mentioned, I won't be making a similar mistake. In every instance, I'm assuming a worst case scenario, and preparing for it, so the software can handle it in the most efficient way possible, within physical limits. Needless to say, and I've already said it, it requires me to rewrite virtually the entire system. All 138,000 lines of code. Yikes.

So here's the good news. Let me introduce DMICMS. The DMI Cluster Management System. DMICMS offers a framework to allow the quick and easy developement server applications with an automated system in place to connect to a master DMICMS server and other servers on other networks, and keep all of the data up to date on all notes of the cluster. It also allows for more servers to be added at any time simply by connecting to the network and starting up the associated application. And, worst case, if the master node dies, a secondary node will automatically take over and continue operation with minimal downtime (a minute or less). The idea here, is that this functionality is implemented completely via library calls, and the actual functional parts of the server don't have to concern with it.

I've also developed a new format for passing commands and data between the servers and also between the servers and clients. I've kept it as simple as possible, not only to keep the coding for it to a minimum, but so anyone wanting to write a compatible application won't have to go through a great deal of trouble to do so. Each command is in the format of a single header line which contains data in a http encoded string, like a URL query string, and a raw imagebuffer of unlimited size. Each connection can be separate or can use keepalive to maintain an open connection and pass multiple commands on a single connection. It might seem obvious to programmers of network applications, but I had not developed a library to handle all of these actions and pretty much had to reinvent it from scratch everytime I started coding a new server application, or I just kept the networking aspect of things as simple and useless as possible. For this reason, much of my databases remain in flat files simply because the time I would have to spend to implement each of them into a server application seemed to not be worth the trouble, no matter what benefits I might achieve from it.

However, all of that is in the past. I've got my first functional server working, and although I'm still making some tweaks and getting it fully functional before I move onto the next one, I'm happy with the progress and the speed at which I was able to crank it out. I'm hopeful I will be able to crank out a new server application every week or two, although some of them will doubtless take longer (lampmaster is going to be a nightmare). Still, I have hopes that I can get them finished by mid-fall, so I can concentrate on plans for a Xmas display this year. I've been wanting to do one for years now, but the site has never been up to the challenge. Maybe this year it will be.


Printer Woes

May 28, 2009 12:44

I'm not a technical newb, not by a long shot. I've been messing around with computers and electronics for a LONG time. I'm not saying that I don't get stumped frequently, but the simple things pretty much stay simple. Keep this in mind while I relate this story.

One of my customers needs a new printer. This customer has been a customer of the family business since the early 80's, and somewhere in latter half of the 80's we upgraded them from a dot matrix printer (which they were using to print their invoices) to a laser printer. The design of the invoices was rather simple. Most of it was flat text, but there is some lettering on the invoices that is in a different and larger font. This was accomplished using some simple PCL language codes. No postscript or anything fancy like that.

Obviously, the PCL language, at least that which we were using, was specific to HP laserjet printers. It it supposed to some degree on other printers, but as a rule, we just decided to stick with supporting HP printers exclusively, since as long as they remained backwards compatible, there wouldn't be an issue. Of course, I had long assumed that eventually there might come a day when it would be difficult to find a printer that would be easily backwards compatible, so we always kept alternative options available, but it woudl seem like supporting an old language set was never much of an issue. I mean, after all, when the printer supports postscript and other languages as well, and has a CPU better than what I had in my computer at the turn of the century, what difference would supporting an additional 20 codes take? Apparently none, because every HP laserjet printer we've tried in the last 20 years has supported it.

Until 2 days ago.

It's not like I didn't do my research. I just apparently didn't do it quite well enough. I had grown accustomed to the fact that, over time, more and more printers supported postscript directly. The additional cost to support it, verses not supporting it, especially when you have an onboard embedded print server and webserver, doesn't seem like much of a stretch. So I glanced at the "supported" languages, and postscript was listed as being supported. What I didn't competely notice or pay attention to was the "host based" text next to it. That's a fancy way of saying the printer doesn't support it at all, but the drivers do. It's the winmodem of printers. Why does this matter anyway? I'm not using postscript for the invoices anyhow, and definitely not for any of the other reports they print. That's true. But my alternative option for the invoices was to use Postscript, and I have made plans to move forward with a postcript invoice and phase out the old style.

However, linux (the operating system they use) does have ghostscript, and can take a postscript source and convert it to the native language of the printer. The one I picked was "mostly" supported, but seemed to crank out a postscript file decently enough. I mean, it's not like this is a production environment or anything.... oh wait. However, trying to print out the original invoices clearly was not going to work. This printer did not support the PCL codes, but at the same time, it didn't work perfectly with postscript either. I could make that part work if I really had to, but....

There was a slightly larger problem. And this is where I refer to the "simple" things. I couldn't easily print out flat text. The most basic, low level, most well supported option of all. Just crank out flat text and have the printer churn out pages of text, unformatted, at 80x66, in plain old black and white text. That is all most of the reports require. And it couldn't do it. Of course, I could first convert my text to postscript and then print out the postscript after converting it back to printer language, but that changed the page size, which meant the page breaks were in the wrong places, and that started complicating matters even more. After about 4 hours of fussing with it, I started to consider the laundry list of things I would have to change, vs. going back to try to find another printer. Implenting a shiny new invoice is always a fun project, but it's not one I'm planning to do as a direct result of fixing another problem. That would just result in a bunch of new problems. Especially considering the fact that I'm sure I can find another printer that is compatible, even if I might have to throw a couple hundred $$ more at it.

The most frustrating part of all of this was the fact that I couldn't get anyone to tell me if a specific printer would be backwards compatible. HP tech support was useless for this, and that was after the fact that I could barely understand him due to the accent. I perfectly understand the need to break away from the stoneage on these things, and if you're going to produce products that simply aren't going to support and complement previous products, that's a fact I can work with, and I can do what is necessary to upgrade my programs to handle it. But I need the necessary information to make these things happen. Some of us still live in a world where the interface with the printer is a bit more complicated than the little print icon on your screen. And I suppose I'm somewhat bummed by the fact that it's one more thing I'm going to have to waste a lot of time dealing with, because I'm going to have to be ready to deal with a number of unpredicatable futures just so I can properly continue operating in the present.


Critter Has Returned..... again.

May 21, 2009 23:24

I got the critter fixed and had it running around for the weekend. The two major holdups were the broken wheel and the lack of a battery that would hold a decent charge. I had been holding off on purchasing another battery until I could get down to Tanners, but since that didn't seem to be happening quickly enough, I bit the bullet and spent twice as much for a battery locally. I'll be sure to stock up on batteries the next time I'm near Tanners.

Anyway, I couldn't find the metal adhesive I had used before on the wheels, so I instead just used regular superglue, which for the moment is working fine. If the bond breaks once a year and I have to just reglue it, so be it. This isn't supposed to be permanant anyway. So I had the critter tooling around for the weekend. And then after a couple of bumps, it quit working completely.

I tore into the circuits, replaced the regulators since they were returning funny voltages, and finally isolated the problem with the computer itself. I tried a known good voltage source and it wouldn't light up at all. So I figured the computer was dead. Not a huge deal, I have a spare, and I had completely disassembled it and prepared to perform micro-surgery (micro.. haha) to replace the computer with my spare. And wouldn't you know it, as soon as I gave the board a good shake, a small piece of solder fell off. It must have broken loose from the circuit board that sits on top of it. Anyway, the computer powered up just nicely after that, so I put the critter back together, and now it runs nicely.

I have been slowly updating the pages on the site. Not fast enough, mind you, but I'm at least making some progress. So far I have updated the Why page, the howto pages for the webcam, relay, X10 interface, the old RC Car, and the Critter.

I'm also planning on developing a section of the site for ongoing projects of an educational nature. Sure, I can write up a page on the generic nature of wiring a relay to the parallel port... and I've done that already, but a more detailed, ongoing, textbook type educational experience on computer interfacing would likely draw more attention. I'd start with something simple like gettin the LED to flash or the relay to turn a light on and off, and slowly move up to controlling and interfacing with ever more complicated things, all the while building toward a larger project goal. Not only would I perform, photograph, and detail every single step of the way, I would also include detailed parts lists, along with locations to purchase those parts. I might also sell kits, either for individual projecs, or generic kits where the parts can be reused after each stage of the project. Examples of larger projects that I could build up to would be a web capable phone interface, a robot, or some other projects of similar complexity.


Where the Heck have I Been!

April 28, 2009 20:51

So much for keeping up with frequent updates. I've been busy. As good an excuse as any.

For those that didn't catch the subtle meaning of the last entry, Estwald died due to complications of a surgery to fix a previously botched surgery on a hernia operation. Plenty has already been said about it in the comments and other forums of this site, so I'm not going to elabrate much. He was a good friend and we'll miss him.

Gertie and Marjorie went to England for a week and made sure we did our part to keep the travel industry alive and well. They brought back lots of pictures, some of which I will post here for everyone to view in the near future.

I've started to clean up the pages on the site, make them more pretty, write more coherently, and add what I hope is more productive advertising. I've had ads on the site for the last few years, but I've kept them as unobtrusive as possible. So much so in fact, that they've been functionally useless. I don't intend to turn this site into a flashing billboard of rampant commercialism or anything, but I need to start finding ways to draw some revenue from it, as my income requirements are pulling attention away from more trivial pursuits... like this site. Time spent on it would be better justified if there was a reasonable income stream. So there ya go.

I'm developing a DMI banner, which will sit on every page... the exact location I'm not yet certain of. This banner won't be used for advertising, at least not on on DMI itself, but instead either programming or admin invervention will best guess the motives and interest of each visitor, and display text and links to areas of the site that would be of further interest to them. It's my hope that this might help to retain more of the many visitors who drop by for at most a couple minutes without exploring much of the site.

The test server I've been working on is functional now. I'm now working on building a few small servers to handle non-critical tasks to test the framework in a production environment and work out any bugs while not impacting the entire site in the process.

I'm also working on a new blog type format. As I intend to start adding massive amounts of content to this site, I'm working on a unique way of organizing all of it such that it would end up being a competant resource for a first time vistior, and yet offer up new content in a recurring format for regulars. I'm thinking of a book type of format, where the desired content is laid out in an outline type format and the book gets filled in as it gets written, with additional "chapters" for news which is unrelated to any static concepts. The entries will also be organized chronilogically so they can be accessed in the order they were entered for those that want to visit daily to view updates. This is still just an idea I'm working toward and nothing is concrete yet.



February 11, 2009 22:14



Things that didn't work: Part 2

February 02, 2009 07:30

Another project that has been ongoing for years and has never been implemented is the Marquee Sign. It's not a very complicated project. In fact, several websites have done it before. I remember back in 1997 Netscape had one in their offices and I would send them daily messages to please hurry up and get around to adding CSS functionality to their browser. IE had it, but Netscape didn't and I needed it because of the Framemaker conversion from document to webpage used CSS heavily. That's neither here nor there though. Point is, they had a marquee sign you could send a message to way back when. Others have had them too. Only I was the odd man out on this one.

I could have just purchased a sign. Worst case I could have bought one for about $150 and hooked it up and had it working in 10 minutes. That's not really my style though, especially since it seems like a relatively easy project to build. It's just a array of lights and you rotate through them, updating each one with it's value at a speed fast enough to not be able to tell that each LED is only lit for a fraction of a second. However, despite starting several times, I never managed to finish it, mostly because I ran into issues, such as flicker where I shouldn't have any. The last round which I never got around to was going to implement some darlington transistors. They might work better for this. Who knows. Someday I'll get around to finishing it.

However, there was another problem casting a shadow on the whole issue. As you all know, you can send messages from the webpage. Most of you realize that these messages show up in the chatroom, as well as other places. Slightly less well known is that those messages are also fed through a voice synth and read out loud for me to hear, as well as anyone who might be listening live to my audio. Of course, if I set up a marquee sign, it would only make sense for the messages to show up there as well. The big problem with this type of interaction is that it makes otherwise reasonably civilized and intellegent people act stupid. Once they discover that they can see their messages, they try to push the envelope for some reason. This happens on a small scale in the chatroom as people aware of this feature attempt to flood it. These tend to be the malicious folk and I have no problem banning them from the site, assuming one of the automated filters doesn't catch them first. When they discover the voice synth, they try to test it out as well. Gibberish and pasting paragraphs... and sometimes entire wikipedia articles, just to see what it sounds like. On one hand, I don't really mind if the voice synth wants to read some random webpage to me (provided it's of a civil nature), but I don't want the effort to also be duplicated in every other medium. Right now, I have filters in place that detect excessive gibberish (which is moderately effective), excessively repeating characters, words, or phrases (which is very effective), and of course profanity. It will also boot you if you try to send the same message several times in a row. As can be expected, sometimes we get some false positives. It can't be perfect, and sometimes I have to unban someone that got a little carried away with his !'s when he's explaining how much he loves the site. However, it does tend to catch the real abuse, so it's hard to ignore the utility of such a system, even if it's horribly black and white in its reasoning. It IS just a computer afterall.

What brought this all back to the forefront is the awesome LCD display that danopia set up to display webpage messages. Within about 10 minutes of him getting it working, I had to unban 3 people who ran afoul of the abuse filter when they were trying to play with the display. One user got banned when he tried to make a design on the LCD. Obviously, those who simply want to play with the toys aren't banworthy, and yet, I don't want 400 character messages full of #'s and spaces being pasted everywhere that the regular messages are. Therefore, the abuse filter needs an upgrade to take these possibilities into account. I shall add it to my ever growing list. In the meantime, be gentle with it.