Fix Our Web

Main Menu

edit SideBar

Fix Our Web

Fix Our Web!

Premise

Introduction

The Internet (and computer users in general), faces multiple problems: addressing; capacity; power consumption; and software problems. These issues can be addressed: a good chunk of it can be done with only time being the cost.

Plans

This document will evolve as I locate resources, as well as have time to work on it. Ideas can be sent to cwolfsheep @ gmail dot com for consideration.

History

  • Initial version was done on 11-26-2007 by Michael Adams.
  • Capacity has been expanded and sectioned in 12-2007.
  • webcrush was added in 12-2007.
  • shoepolish replaced webcrush in 3-2008.
  • Added mention of TCP Compound in 4-2008.

Addressing

Problem

The Internet is running out of capacity to add new nodes. If you account for computers, mobile phones, cable boxes, car systems, surveillance, and military uses, it adds up. A good chunk of the problem has been mitigated by clever use of internal "private-addressing" networks at organizations, but that will not solve problems with larger scale applications, and can be disruptive in home settings as well (ala gaming, file-sharing, and remote access functions).

Solution

There already is one: begin learning about and using IPv6. Contrary to punditry, it does co-exist with IPv4 (the current protocol), and most major applications and operating systems support the use of both. Any hiccups that arise in using IPv6 comes largely from the fact that the application designers have prioritized IPv6 over IPv4: poor-quality routers aggravate the situation. As of 2007, few ISPs support IPv6 as well: but with the new DOCSIS 3.0 standard for cable modems, and some ISPs declaring a switch by 2009, this solution is not a question of "if," but "when."

Links

Capacity

Problem

Despite improvements in common storage (terabyte HDDs; DVD writers) and transmission (FIOS; ADSL2; DOCSIS3) technologies, issues remain in the expansion of the Web. A lot of this is tied to the transmission of large video files, music files, images, and copies of CDs and DVDs (legal or otherwise).

shoepolish

shoepolish can be used to perform most of the static file optimizations described below. You will need Java and Ruby installed to run it.

Code optimizations (web developers and hosts can implement these)

  • HTML files can be made more readable, and consume less space, by running HTML Tidy on them.
  • CSS files can be compressed or optimized, cutting their size in half. Good ones: Flumpcakes & CSSTidy.
  • Javascript files can be compressed and error-checked with YUI Compressor.
  • Use the open-source W3C toolset to check for dead links and non-standard content.
  • Abolish and report link farms.
  • Consider using SEO tips from the different search engines to make your site more accessible.

Server optimizations (web hosts can implement these ideas)

  • Website content can be compressed at the server end. Most web browsers and servers support HTTP compression, which can be used to reduce the size of downloaded HTML and script files.
  • PHP-generated code can be forcibly compressed.
  • Linux supports the use of different TCP congestion control algorithms, and FastSoft implements a hardware level TCP modifier, to increase the amount of data that can be sent in web transfers.
  • Windows 2003, Vista, and 2008 have patches for, or settings to enable, Compound TCP: a TCP CCA derived from several of the newer ones.

Solutions for content

  • Small images: non-animated GIFs and PNG files should be converted to optimized PNGs; this will reduce graphic loads by 5-20%. OptiPNG and PNGOUT can perform this task.
  • JPEGs can be losslessly re-compressed by using jpegtran.
  • Large images: Paint.NET or GIMP can be used to reduce the resolution of images as needed, thus reducing size and quality. A good rule is to use a maximum of 1280x1024 resolution for people images and clip art, and to not modify landscape or detail-sensitive (documents, evidence) content.
  • MP3s distributed online should be converted to Ogg Vorbis format: my own experience has been that OGG files take up half the space of MP3s (please experiment:they can get bigger), plus this removes any patent concerns for playback on non-Windows systems. Audacity can be used to change formats back and forth as needed.
  • Video files that are not tied to web-based players can be compressed into Xvid format. Other formats can be experimented with, at least on Windows, by using a codec pack and VirtualDub.
  • CD/DVD images (ex: ISO files) can be compressed with PeaZIP as LPAQ files.
  • EXE files can be compressed with UPX. I should note that you should test the EXE afterwards: some mistake the compression as corruption (it can be reversed easily).

Links

Power Consumption

Problem

Two paradigms are emerging in the tech market: bigger power supplies for gaming rigs that support 2-4 CPUs and video cards each; and power-efficient CPUs and hard drives meant to reduce energy consumption and heat generation. In the middle lies usage of systems in general: people often fail to take advantage of power saving modes and features available to them on their respective platforms. Two more things to consider: one is the relatively new market of efficient power supplies for all users; the other being the difficulty of getting a computer to go into any given power saving mode.

Solutions

  • 80 PLUS: an initiative to manufacture power supplies with a minimal of an 80% conversion rate from A/C to D/C. A 400W power supply of this type would not use more than 500W of actual power. Typical conversion rates are usually 55-75%.
  • AMD & Intel have consumer CPUs on the market that use 35-65W of power, and VIA produces a CPU/MB kit that uses a C7 chip of even lower wattage (this powers the "WalMart Green PC" of 2007). Also, the AMD and Intel chips both have power saving modes that can be enabled in BIOS or managed with software.
  • Solid State drives consume less power than their mechanical cousins, but multiple manufacturers are trying to reduce the power consumption of those devices as well.
  • If you aren't using the computer for anything, but don't want to reboot it later, put it in sleep mode: Windows; Mac OSX; Ubuntu Linux.
  • Software utilities for power saving: LocalCooling; Linux

Links

Recent Changes (All) | Edit SideBar Page last modified on April 16, 2008, at 10:01 PM Edit Page | Page History
Powered by PmWiki