Lockergnome

Lockergnome Web Developers ~ April 14, 2004


GNOMEREPORT: Defending The Inbox
FLASH: Ticker Effects
RAVES: Biting into BitTorrent
DATABASES: MySQL 5.0 to support stored procedures
PRESS: Manage Website Content with Desktop-based Software
FRIENDS: Supporting a Software Legend
RSS: Creating An RSS Feed For Your MCMS Web Site
FAVORITES: Turn on the LAMP

RSS  |  Permalink  |  Feedback  |  Archives
 
PentaSuite Neuxpower BitWise Chat WinZip 9.0 Protect Your Data

GNOMEREPORT: Defending The Inbox

SmartDraw is the award-winning web design software that lets you quickly and easily create web site maps, user interfaces, ERD's, UML diagrams and much more. SmartDraw comes with thousands of ready-made graphics and templates for great looking results! Download the 30-day FREE trial and find out why it was voted "Best Business Program" 2 years in a row!

It's time to raise your glass and make an anniversary toast. No, it's not for a celebrating someone's long and successful marriage. Nor is it to celebrate some important scientific achievement. Rather, it's to mark ten years since the first large-scale abusive e-mail campaign was launched by a pair of attorneys (go figure!) in Arizona. My, have things changed since then. In that time, SPAM has gone from being a delightful luncheon meat (at least in Hawaii) to the bane of our daily existence.

Did you know that every day AOL rejects over a two billion messages believed to be SPAM and allows in between 250 and 300 million messages? Of those, between 2 and 20 million are reported as spam by members. Last year, AOL rejected over 300 billion messages. If each of those rejected messages were printed on a single sheet of paper, the stack would reach over 28,000 miles high.

E-mail has gone from being the original "killer application" of the Internet to one that's slightly tarnished, but still vitally important. Is there hope that one day the scourge of SPAM will be removed and we'll, again, have a tool that's as useful as it is quick? Will we one day be freed from the daily exercise of laboring over both inbox and junk folder debris? Don't think too long. The answer is yes. It has to be. Here's why:

E-mail, though tarnished, is still the "killer application." We all use it and we all depend upon it. It's helped us to communicate with colleagues, family and friends and, recently, has re-shaped how politics are conducted in this country. If only there wasn't all that SPAM. But it's because there's so much SPAM that a solution awaits discovery. I'll even venture to guess that within 2-3 years, the SPAM problem will have largely gone away. In fact, SPAM is our current-day Y2K problem.

Incidentally, if you thought legislation was going to get us out of this SPAM mess, think again. Though noble in effort and idea, legislative initiatives can't tackle what is clearly a technology problem - one that playfully escapes any one state's or country's jurisdiction. Spammers (and virus writers) are, in many cases, quite clever - motivated often by greed. Sometimes they're cleverer than governmental organizations. Almost always they're faster and nimbler. There's a simple reason there's so much SPAM. I hate to point out the obvious, but it works. People respond to SPAM all the time - just often enough for their practitioners to set up shop, e-mail a few million unsuspecting folks, and then get out of Dodge. So, where's the solution I said awaited us?

When software developers started getting really pissed at the amount of e-mail flooding their inboxes, we started seeing some interesting projects start forming - some of which hold real promise for stopping SPAM. When ISPs started seeing their resources strained - which correlated to real money being lost - they started examining this problem more seriously and started tackling SPAM from a technology standpoint too. And, of course, when technology companies realized there was a business in tackling this problem we saw products and solutions born attempting to thwart a growing SPAM tsunami.

The key to stopping SPAM appears to be ensuring that the senders of all e-mail can be positively identified. Today's e-mail protocols, though elegant by design and simplicity, are, unfortunately, naively trusting. They contain few mechanisms for guaranteeing the identity of a sender. It's this abuse of trust that has been responsible for the most amount of SPAM. Cut out falsely identified e-mail and you'll rip out most of SPAM. Then, legislative and consumer initiatives will be able to tackle the rest of the problem.

So, what's on the technology horizon? You're probably already familiar with inbox spam rules, Bayesian filters, regular expressions, white and blacklists, habeas and challenge-response models. They're all good, but none of them really tackle the problem of solving the false identity issue. And, worse yet, spammers are getting really good at developing tools that evade these products and tools.

That's where things like Sender Policy Framework (SPF), Reverse MX (RMX), e-mail Caller-ID, and similar models show promise. Most of them are designed to sit on top of our existing protocols, support gradual adoption, and work hard at making it very difficult to falsely identify e-mail sources.

Let's meet up in three years. Hopefully we'll be toasting the end of SPAM by then. Gotta run. Someone just offered me a million dollars to help them move some funds from their native country. It seems that revolution has caught some King's brother by surprise and he needs my help. I figure I can sell a truckload of a herbal supplement someone sold me last week for a hefty profit and wire the funds overseas.

Digitally yours,
David Geller

[back to top]

FLASH: Ticker Effects

By Dave Lally

Today we're going to make a text based "ticker" effect. You can see a sample of it here, and download the source file here. It's an effect that's pretty easy to break down. First, let's set up our movie. Create two layers on the root timeline. call one "TextBox" and the other one "Actions."

Using the Text Tool, draw a small text box within the TextBox layer on the Stage. Make sure you select the "Dynamic Text" option in the Property inspector, as well as selecting "Multiline." Dynamic Text ensures that you can send text on the fly to the TextBox, while Multiline lets your text break as needed to fit within the TextBox. Name the TextBox as you like (mine is called myTextBox). Lock the TextBox layer, and you're done with the set up! All that's left now is to add our ActionScript to the Actions layer, which looks like this:

myString = "I instantiate this string variable in the name of FRANCE!";

i = 0;

_root.onEnterFrame = function(){
   if(i < myString.length){
      myTextBox.text = myString.substring(0, i);
      i++;
      myTextBox.onScroller = function(){
         myTextBox.scroll++;
      }
   } else {
      myTextBox.text = myString;
      _root.onEnterFrame = null;
   }
}

Not too intimidating, is it? myString is a variable that contains the text you wish to have end up within your TextBox. You could also use the loadVariables action or the loadVars object to bring in text from an external file, if you are savvy enough to know how to use them.

In the next line, we use the variable "i" to start the counter we'll be using in our upcoming function. We just set it to zero, which will change a bit later, as you'll see.

Now here's were the fun starts. We use the onEnterFrame event from our _root timeline, since we don't have any MovieClips on our stage. With the event, we attach a function that starts with an "if/else" loop. The "if" statement checks our counter "i" and evaluates whether or not it's less than "myString.length." The "length" property is simply the number of characters our string, (identified by the variable myString) has. This includes punctuation and spaces.

If myString's number of characters is greater than i (which, to start with, "i" is zero), then our actions take effect. The first action sets up the displayed text in our TextBox, by stating the TextBox name, followed by the "text" property, and assigns (that is, uses the "=" sign) the value of myString.substring(0, i).

The "substring" method allows you to choose a start and an end point within your string by putting them within parenthesis, and display only the characters between the two points you chose, including the start point itself, but not the endpoint. For instance, look at this example:

dummyString = "My cat's breath smells like cat food";

trace(dummyString.substring(0, 6));

If you test this code, you should see a popup window that reads "My cat."

We set up the substring method of dummyString to extract the characters between the count of 0 and 6. When dealing with strings and arrays, Flash starts counting at zero instead of 1. You may wish to make a note of this, as it is easy to forget. So to extract the first letter from dummyString, we need to use 0. After 0, you count your string normally, so the next character would be 1, then 2, and so on. Counting this way, you see that the t in "cat" is number 5, not 6, as is set up in the above example. That's because the endpoint you selected in the code isn't able to send, so in essence you'd need to count 1 higher than the point of the last character you want to show.

Anyway, getting back to our code for the Ticker effect, we set our substring method to read: substring(0, i); whatever numeric value "i" has, will be the endpoint for our text extraction.

The next line, we increment the value of i by using "i++". This will keep the value of i increasing by one each time the _root timeline enters a frame. As the value of "i" increases, so does our endpoint for our substring. So the first frame, our text won't show at all, as i equals zero to start, so the substring's points will first be 0 and 0, after "i" increments itself, the substring points would be 0 and 1, then 0 and 2, and so on until our previous "if" statement is no longer true.

The last action is only executed on the TextField's onScroller event. The onScroller event goes off when the scroll value of your TextField changes, which will, in this case, usually be that your text goes down further than your TextBox does, leaving the last few lines of your text hidden when you play your movie. In the event this is to happen with your text, you can attach the "scroll" property to your TextField and increment it ( i.e. myTextField.scroll++; ).

This way, every time your text starts to go down further than the TextField allows, the "scroll++" pushes the text up, giving the appearance of the "rising" text at beginning of the Star Wars movies. Granted, this will hide your previous lines. If that is not satisfactory, you can attach a scrollbar component to your TextField, or you can increase the size of your TextField to accommodate all of your characters.

When the value of "i" inevitably is no longer less than the length of your string, it executes the actions defined by the "else" statement. Here we set myTextBox to the full value of myString, ensuring that the last letter won't get ignored by the previous "substring" method earlier. We also then nullify the onEnterFrame event for the _root Timeline. Test your movie, and you should be able to add this trick to your arsenal.

[back to top]

RAVES: Biting into BitTorrent

http://bitconjurer.org/BitTorrent/
http://dessent.net/btfaq/

A few months ago, someone sent me a link to a .torrent file. I was all like, "WTH? LOL!" I didn't understand the concept until I found the right client. Long story short: you can (and should) use BitTorrent to cut down on your bandwidth costs. The larger your hosted files, the more money you can save by seeding and sharing those puppies. It's essentially an intelligent P2P model. You put your "download" online, announce it, people then grab the file, and it can then be downloaded from several locations. Okay, you know how regular ol' download managers work? It's like that, only instead of multiple threads hitting the same server, it's multiple threads hitting multiple servers. Cool, eh?! Take a look at LegalTorrents, and snag something with Azureus (my all-time favorite BT manager). After trying it, you should be able to catch on without necessarily having to dive directly into either FAQ listed above. Don't ignore this for too much longer, folks - you could be saving yourself and/or your company a ton of resources. You won't think this is a flash-in-the-pan when Bob from Accounting reads this recommendation and gets that promotion you've been seeking for the past few months and becomes your supervisor. He's gonna want you to put cover sheets on those TPS reports, m'kay? [Chris]

[back to top]

PRESS: Manage Website Content with Desktop-based Software for Windows, Linux and Mac OS

Fresh from the Lockergnome Press Release Service

http://www.triplehash.com/

Triplehash has released SiteBreeze, a cross-platform desktop-based content management system that creates static HTML websites based on one or more templates. Anyone who knows how to use a word processor can update a website and publish the changes to the Internet with the click of a button. Users can insert images directly from digital camera media, without needing to manually resize and recompress them beforehand to make them "web ready". A built-in scripting language gives the user great power for creating links that adapt as the content of the website changes. Being desktop-based, the content can be changed offline, and published later, so that dial-up users are not excluded from benefiting from content-management systems.

SiteBreeze can be used to create multi-lingual, multiple-version websites. The built-in editor allows side-by-side translation of articles, and custom variables allow for easy changing of copyright notices, tentative dates and so on.

Peter Jukel
pjukel@triplehash.com
Tel: +27 (0) 84-581-3258
Fax: +27 (0) 41-581-7287

[back to top]

DATABASES: MySQL 5.0 to support stored procedures

Stored procedures and functions are a new feature in MySQL version 5.0. A stored procedure is a set of SQL commands that can be stored in the server. Once this has been done, clients don't need to keep re-issuing the individual commands but can refer to the stored procedure instead.

Stored procedures can provide improved performance as less information needs to be sent between the server and the client. The trade-off is that this does increase the load on the database server system, as more of the work is done on the server side and less on the client (application) side. And often, there are multiple client machines (such as Web servers) but only one or a few database servers.

Stored procedures also allow you to have libraries of functions in the database server. However, modern application languages already allow such design internally with for instance classes, and using these client application language features is beneficial for the programmer even outside the scope of database use.

Continue Reading

[back to top]

FRIENDS: Supporting a Software Legend

In 1 week, over 100 people have joined the Lockergnome Blogging Network! Just read what three registered Gnomies have publicly shared: "This new Lockergnome service is just so much easier to deal with..." / "Lockergnome is the new TypePad." / "I signed up for this thing, to see if it had better offerings than LiveJournal - and I'd have to say a triumphant YES!" So, don't put it off for too much longer - your blog will automatically be added to the growing list of Gnomies. Start a personal Journey or boost your Business - anything is possible when you join Lockergnome.net. As an added bonus, we'll be featuring active new additions in our heavily-trafficked Lockergnome newsletters and feeds! Try it - you'll like it.

http://nick.typepad.com/blog/2004/04/surgery_april_1.html

Ever heard of a program called HomeSite? Yeah, pretty obscure - I know. Some small company named Macromedia eventually snapped it up. *wink* Well, the creator of this popular title is a guy named Nick Bradbury. Not content to rest on his laurels, he's gone on to produce other hits like TopStyle (for CSS) and FeedDemon (for RSS / Atom). On April 12th, he underwent cervical surgery. The operation, I'm happy to report, was a success. You're probably thinking to yourself: "Chris, I don't give a rip about this guy's health." You should. He's helped many people in this industry complete their Web-oriented tasks (directly or indirectly) with his programming prowess. If you've used his stuff before, then I'd encourage you to drop his spine a line at this point in time. If this is the first time you've ever heard of this guy, press '2' now. Where would we be without smart code development software? Oh, don't even give me that "I optimize my sites for Lynx and NCSA Mosaic" argument. By now, you should have left <BLINK> and <B> in the dust. <HR>? That's nothing more than a department down the hall. Notepad (and other simple text editors) can only carry you so far when you're working on large projects that "need" to conform to the latest Web standards. Three cheers for Mr. Bradsoft.com! Go ahead - give him a big ol' virtual hug (but don't squeeze him too hard until he's had a chance to recover). [Chris]

[back to top]

RSS: Creating An RSS Feed For Your MCMS Web Site

By Stefan Gossner

Yesterday I received [a request] to add an RSS feed to one of our internal MCMS Web sites. At that moment I did not know more about RSS as that this blog has an RSS feed to be able to keep updated with my writings!

So I searched for a document explaining what RSS is and how it works. I found this very easy to read document, which is a very good starter when trying to write an RSS feed.

To sum up, an RSS feed is very similar to an MCMS summary page. Major differences: the content is served as XML rather than HTML. but HTML can be embedded if propertly encoded. As the RSS feed should give information about recent changes to the MCMS site, I used the NewPosting method of the searches object and returned a summary of the content.

To integrate the RSS feed nicely into the site, I created an RSS channel below the root of the Web site and bound the ASP.NET Web form that generates the Feed as Channel Rendering Script to this channel. [more]

[back to top]

FAVORITES: Turn on the LAMP

Looking to get into the LAMP (Linux, Apache, MySQL, & PHP) phenomenon? These 4 sites cover the total range of LAMP topics. Check out this 4 way favorite.

Linux Forum - Linux Forum is a large community of Linux users, developers and enthusiasts that are here to help each other with FREE Linux Support, Linux Questions, Linux Help, Linux Problems, and anything else related to Linux.

Apache Freaks - Apache Freaks is an online community built to help each other with the ever so popular Apache Web Server. This community is completely Free to use and get the information you need to solve your Apache Web Server problems.

MySQL Freaks - MySQL Freaks is an online community built to help each other with MySQL. This community is completely Free to use and get the information you need to solve your MySQL problems.

PHP Freaks - This Web site exists to provide you with information to use while learning or developing PHP and MySQL. If you need PHP Help or you would like to provide PHP Help to other developers, you are in the right place. Additionally, we offer Apache Help, MySQL Help, Javascript Help, CSS Help, XML Help and much more. [Jason]

[back to top]

Administrivia



lockergnome link


Download FeedDemon
Download FeedDemon


Download NewsGator
Download Newsgator