Showing posts with label website creation. Show all posts
Showing posts with label website creation. Show all posts

Monday, September 28, 2009

Harnessing spam bots for cyber warfare

Disclaimer

I have not researched internet criminal law and I won't speculate on the legality of this idea. I'm not advocating any type of internet warfare or vandalism. Don't implement this idea unless you determine that it is completely legal.

Summary

With that disclaimer out of the way, I'd like to explain one of my most ambitious and long-planned idea: redirect spam bots to launch a DDoS attack on a website. Even small websites have to guard their forms against bot spam. Why shouldn't this enormous source of resource-wasting power be put to good use?

Background

Spam bots work on the economics of scale. Unscrupulous companies and criminal organizations pay spammers to use their servers to crawl the internet, looking for comment forms and public email addresses. When a spam server (or bot) finds a web form, it fills it out with a mix of garbage and spam links and moves on. If the data is posted on the website in some way (blog comment, forum posting, wiki entry), the bot has succeeded in exposing the link to more people. If even a minute percentage of the people who see the link click on it, the hiring organization can make money by infecting the unwary user's computer with malware and selling his personal information.

However, if the spam is detected by any part of the system, it is blocked and the bot has failed. Unfortunately, it has still consumed the bandwidth and computing power of the victim web server. In addition, the victim server's organization has to use its resources to harden its website against spam bots. On a low-traffic website, the spam bot traffic is negligible, but on larger sites, the cost of spam bots is significant. One only needs to examine the measures taken against bot spam to realize its power: reCaptcha, image rotation tests, and a few more esoteric schemes. Despite all these barriers, spammers can make money with spam bots.

Plan of action

Why should all those spam bot processing cycles be used for nefarious purposes? Right now, when a website detects a spam bot, it has several options: it can block the IP address of the bot, preventing the bot from coming back; it can simply reroute the bot to a dead-end page; or it can attempt to waste the spam bot's processing cycles by rerouting the bot to a bot trap. Typically, bot traps work by enticing the bot to fill out a never-ending line of forms or follow a web of garbage links.

What if this stream of spam bots was instead pointed at link farms or phishing sites? Web forms could reroute the spam bots they detect to a spam bot portal site that would reroute the spam bots to known nefarious sites. If a significant number of websites used the portal as a bot trap, the effect on the nefarious sites could be devastating. The spurious sites would be crushed by the traffic from their own advertising bots.

Eventually, the portal site could be automated to find and destroy targets on its own. It could pick its targets from the list of sites ejected from Google's index for phishing or link farming. Once it had chosen a site, it would redirect its traffic to that site, checking each minute to see if the site was still functioning. Perhaps it could crush multiple sites simultaneously by evaluating their stability and pointing just enough traffic at each to overwhelm it.

Obviously, this idea would be far more difficult to implement than to describe. How would the portal handle the massive amounts of traffic? Who would want to shoulder the cost of this plan? How would the predator portal get the list of sites rejected from Google's index?

Do you think this plan is viable?

Tuesday, June 30, 2009

New Blogger template released

I'm finally satisfied with the quality of my blog's new style, so I'm releasing it as a Blogger template under the Apache 2.0 license. You can use it on your blog, modify it, or even sell it as long as I get credit.

Features

Here are some of the features of the new Blogger template "Whitespace is good":

  • Two sidebars This fantastic template comes with not one, but two versatile sidebars. You can fill them with as many widgets as you'd like!
  • Blog color manager I've plugged Blogger's color management code into the template, allowing you to modify the colors without changing the underlying CSS. If you want your headings to be purple, you can change them yourself!
  • High readability This template was designed to give your blog a clean, content-focused style. That's why I made the body text a colossal 16 pixels Arial and gave it a generous 30 pixel line height. Even an 80-year-old man looking using an old Eee PC could read from this Blogger template!
  • Easy accessibility What if the 80-year-old is reading from a PDA, you ask? He can scale up the text and the whole page will scale with it! I used all relative measurements in my site's fluid grid, permitting even IE6 users to enlarge the text. I've also added some hidden links at the top to let visitors with screen readers skip to the real content. This template's prepared for any eventuality!

Advanced Features

In addition to enabling the GUI-addicted users to remain in blissful ignorance, I'm giving enlightened users lots of control and convenience when modifying the template.

  • Scripts section For your coding convenience, I've created a special hidden div at the top of the page for you to easily add and remove scripts through the Blogger visual widget manager. I'm using it to hold my Google Analytics tracking code.
  • Strict baseline grid I tried to lay this website out right by following every classical design concept I could. This style tries to stick to a strict 30 pixel grid in its vertical and horizontal positioning. The baseline grid only fails when pictures' heights aren't multiples of 30 pixels and when two different sizes or types of text share a line (eg. monospaced font + standard font).
  • CSS variables I use two Blogger CSS variables that aren't accessible to standard users to give developers the option to change all the heading fonts and all the text fonts together. You can substitute your fonts for the defaults by modifying only two lines.
  • Apache 2.0 license I'm giving you full rights to modify and redistribute this template. You can port it to Wordpress, reuse parts for your personal website, or even sell a website template based off it. I'm not going to stop you.

Download and installation

You can download the "Whitespace is good" Blogger template as a compressed .zip file here. To use it, just copy the contents of the file template.xml into the "Edit HTML" box under "Layout" on the Blogger menu. If you don't have the "Layout" tab, click on the "Template" tab, then click "Customize Design" and pick a new template at random. Now you should be able to follow the instructions above. Note: If you paste the new template into the "Edit HTML" box under the "Template" tab, you won't be able to add widgets and change your the colors of your blog.

If you have any opinion on the new Blogger template or you have any problems with it, simply post a comment below. I'll try to fix any problems that don't have to do with Internet Explorer.

Update: I just fixed a bug in the template. All zero of you to download the template already should upgrade to the new version.

Update: I've added a massive two-column-spanning sidebar above the other two. The template looks just the same as it used to, unless you place a widget in the new section. Notify me of any problems.

Thursday, June 25, 2009

Under construction. Watch for falling debris.

I have been dissatisfied with my blog's layout for a long time, but I've never taken the time to work on it, until now. I present the new grid-based three-column blogger layout "Whitespace is good"! This is an alpha version, so there are plenty of problems to be solved and features to be implemented. I intend on allowing people to modify the text color and formatting through Blogger's layout feature, but I'm not quite there yet.

I'm going to release this template under the Apache 2.0 open source license, but I'm not satisfied with it yet. I still have to test all the major widgets on it, fix a couple of minor layout glitches, and actually allow users to modify the colors and font formatting.

If you don't use IE and you find layout problems with this style, tell me and I might be able to fix them. If you do use IE, this isn't the blog for you.

Sunday, May 31, 2009

Support Google's plan to save the earth

In case you haven't noticed, I just put a new widget in my blog's sidebar. I call it the Google Day Counter, and I created it to try to motivate Google to proceed with its charitable contest, Project 10 to the 100. For those who don't want to follow the link, Project 10 to the 100 is a contest Google launched to spend ten million dollars toward ideas that are beneficial to the whole human race. Here was Google's plan: solicit big, earth-saving ideas from normal people, pick the best 100 of those ideas, let normal people vote for the best twenty of those ideas, and spend ten million dollars to launch best few of those twenty ideas. It was a good plan, if a bit un-democratic, but the execution has been problematic.

Google's initial goal was to collect entries until October 20 and announce the 100 finalists on January 27. However, due to the incredibly large number of proposals they received (over 150,000), they had to delay the announcement until March 17. Unfortunately, they had miscalculated again, and the announcement was delayed indefinitely.

The delays mattered to me because I submitted an idea to the contest. My idea was simple: design and develop an open source speech augmentation application for people who can't speak. The application would allow mute people to communicate by clicking on icons or typing in a box on the screen. This software is necessary because the de facto speech augmentation software, Say-it! SAM PC, is far too expensive for many mutes. My plan would ensure that nobody is too poor to communicate with their friends and family.

Because of my submitted proposal, I waited in eager anticipation for March 17, Google Day. When the day finally arrived and the final announcement was delayed indefinitely, I started jokingly measuring the date in relation to Google Day. If I was asked for the date on April 18, I would have responded "April 18, Google Day plus 32." Now that the date has passed Google Day +70, I'm worried that Google has placed Project 10 to the 100 on the back burner and that the project selection could take another six months.

Personally, I believe that that ten million dollars toward big-idea innovation would be most beneficial right now, in the middle of the economic crisis. Thanks to recent deflation, ten million dollars would probably accomplish far more now than six months from now. That's why I've decided to create the Google Day Counter widget and release it to the blogosphere. If you use Blogger to display your opinions to the world, you can add one of the widgets below to show your support.

...but if you use any other blogging system, you can simply cut-and-paste the code below into your sidebar div or *shudder* table cell.

<style type="text/css">
#googledaycounterdiv a {
font-size: 2em;
font-family: Arial, sans;
letter-spacing: -1px;
font-weight: bold;
color: rgb(0, 153, 0) !important;
}
</style>
<script type="text/javascript" language="Javascript">
// addEvent by Scott Andrew LePera
// http://www.scottandrew.com/weblog/articles/cbs-events
function addEvent(elm,evType,fn,useCapture){
 if(elm.addEventListener){
   elm.addEventListener(evType, fn, useCapture);
   return true;
 } else if (elm.attachEvent) {
   var r = elm.attachEvent('on' + evType, fn);
   return r;
 } else {
   elm['on' + evType] = fn;
 }
}
function googleDayCounterInit() {
 var googleDay = new Date('March 17, 2009');
 var today = new Date();
 var elapsed = Math.floor((today.getTime() - googleDay.getTime()) / 86400000);
 var elapsedDiv = document.getElementById('elapsed');
 elapsedDiv.removeChild(elapsedDiv.firstChild);
 elapsedDiv.appendChild(document.createTextNode(elapsed.toString()));
}
addEvent(window, 'load', googleDayCounterInit, false);
</script>
<div id="googledaycounterdiv"><a href="http://project10tothe100.com/">Google Day +<span id='elapsed'>?</span></a></div>

I hope you'll join me in prodding Google to devote its time and money to finally launching Project 10 to the 100.

Sunday, April 26, 2009

Cheap keyword-rich domain names for sale

Yes, I am actually going to try to sell some domain names through my blog. I registered these because my registrar offered a discount when you bought five or more domain names. They're unique domain names with plenty of keywords, but I simply can't use them all. Here's the list:

They're only one hundred dollars each, and they've got plenty of valuable keywords. Why not get one for your web design, programming, or software development business?

Sunday, April 5, 2009

Social networking for lazy bums

Although I greatly enjoy software development, I don't enjoy researching of social bookmarking site interfaces just to let people share my blog's content. Luckily for me, I found AddThis, an incredibly easy-to-use social bookmark widget that's compatible with more services than I could possibly imagine. It's free to use, but you have to sign up for an account at AddThis.com before you can use it. Fortunately, that free account supposedly grants you access to analytics on who bookmarks your site and how (I haven't tried it out yet).

This free web service is an incredibly easy way to add social bookmarking to your site: I had it set up on my blog in about ten minutes. Now I've got more time to devote to real programming challenges!

Sunday, September 7, 2008

Uber-cheap web design

When I say uber, you know it's serious. I may not be a world-class web designer (yet), but I may have found the cheapest and quickest way to learn the languages of the web and put up a website. Enjoy!

Okay, let's set the scene. You're the benevolent ruler of a tiny European country, when your despotic uncle stages a coup and overthrows your glorious government. You are forced to flee the country for the distant shores of America. You know the language and you know how to use a computer, but you don't have any credible job experience ("Riiiiggghhtt, you once ruled a country, so you're qualified for a management position. NEXT!!"). You decide to ride the internet wave, but don't think you have the cash or the skills to start a web design company. Not to worry, you have this list!

Step 1: Learn XHTML and CSS

The first thing your majesty needs to know is that there is a right and a wrong way to create websites. If you do it the right way, it will mean less work, more job offers, and tons of cash. If you do it the wrong way, it will mean time-consuming projects, bad-looking websites, and, eventually, the total failure of all your websites. If you try to learn web design with online tutorials and resources, you are pretty likely to learn web design the wrong way. I recommend you learn web design the right way with the very nice book, HTML, XHTML, and CSS, Sixth Edition: Visual QuickStart Guide. It is relatively easy to read and understand, and its tons of pictures and examples make the somewhat dry subject matter downright fun to read, in my opinion.

Buy it here: HTML, XHTML, and CSS, Sixth Edition (Visual Quickstart Guide)

Step 2: Build a website cheap

If you have time to learn and money to burn, Dreamweaver is supposedly as good as web design software gets, nowadays. However, you can make sites every bit as impressive with a few pieces of free, downloadable software.

First, to code the actual HTML, you'll need a text editor. If you're bound to the system standard software, you can use Microsoft Notepad, a stout little editor that will get the job done. Of course, if you plan to do any serious coding, I highly recommend getting a more versatile text editor, such as Notepad2. Notepad2 is a free text editor with convenient syntax highlighting for several common languages, such as XHTML and CSS. It is a must for any serious manual website construction.

You'll also need some free image-editing software, because if your website doesn't have pictures or graphics of some kind, it's not really a website. Here, you have two great options. If you have some time to learn and you need the most powerful free image editor, try out GIMP. It's got a wicked learning curve, but it can do almost everything Photoshop can do. If you want something familiar yet capable, try out Paint.net, another free editor. It doesn't quite have the features of GIMP, but it is way more intuitive. Remember, this is Paint.net, not Microsoft Paint. MS Paint is only good for making grainy graphics in outdated file formats.

You can find GIMP plus tons of tutorials here, and you can get Paint.net here.

Step 3: Show the world your genius (or not)

Now comes the part where you have to spend money, but not much. I have heard of places that offer you 'free' domain names and web hosting, but I have never personally found a legitimate one. Registering a domain name costs somebody money, period. However, it doesn't have to cost much, as I think I've found the single cheapest domain names on the internet. Netfirms.com practically gives away domain names for $5.95 for the first year, last time I checked. This price simply cannot be beaten, as long as you won't need customer service or bulk-buying tools. Don't be fooled by their free hosting service, however; they place big ugly banner ads across the top of all free-hosted websites, and you simply don't want that.

You can find truly free hosting services a few places, and my personal favorite is FreeHostia.com. According to my [free] website monitoring service, I get about 99.9% uptime for no money at all. The downside is that you can only host two sites per account, and you'll need to work with the DNS system to hook it up to your domain name. It's certainly not one-stop shopping.

You will find Netfirms here, and Freehostia here.

Step 4: Maintain your site

No good web designer simply puts up a site and leaves it at that; the web is all about change and newness. You'll need some way to change your site once you've got it online, and Freehostia's website tools simply don't cut the mustard. Enter Filezilla, the free, open-source FTP client with some very convenient features. For example, when you open Filezilla, you're only two clicks away from all of your websites. Even better, Filezilla will automatically switch to your matching local website folder as soon as you link up to one of your websites. It's a small, simple program, and I like it that way.

You can download FileZilla at here.

Step 5: Learn about your site's visitors

One of the most important and neglected aspects of web design is visitor tracking. Most people guage their site's traffic levels by looking at their server stats, but that is neither the easiest or the most accurate way to do it. You're much better off installing Google Analytics on your site and letting their top-quality software watch where your visitors come from, where they go on your site, and when do they leave. Best of all, you get all these great services absolutely free.

You should use this service to optimize your site for your visitors and gear your site toward them. For example, if you learn that most of your visitors find you through a yahoo search for neon-colored macrame, you should put emphasis on your more vibrant macrame weavings. (Not that there's actually a market for online macrame...) Always abide by the web marketer's code: "Optimize, optimize, optimize!"

You can sign up for Google Analytics here.

Step 6: Rake in the cash!

Many web designers like to pretend that they do it for the fame or the satisfaction, but in reality, everybody's looking for a quick buck. The easiest way to monetize your site is to use another convenient Google service, Adsense. Adsense is a simple piece of code that you add to your site which shows advertisements for websites relating to yours. For example, if you decided to run a gardening blog, Adsense would be likely to show advertisements for things like pest control products, gardening utensils, and other gardening websites. When somebody clicks on one of the advertisements on your website, Google pays you a small amount of money. Twenty cents doesn't sound like much, but if your site is getting a thousand hits per day, you can make a sizable chunk of change.

You can sign up for Google Adsense here.

Well, that's all the advice I have to offer. I can't promise that your website will succeed if you abide by these rules, because above all you need interesting content to drive traffic. Writing just another blog about tech stuff will get you nowhere.

Trust me, I know.