Thursday, April 12, 2007

Web design phlosophy

My philosophy on web design is pretty simple. Use the appropriate tool for the appropriate job. In other words use HTML for what it is good at use CSS for what it is good at and use whatever else for whatever it is best at. I hate it when web pages use the wrong thing for the wrong job, such as using JavaScript to open a link in a new window or making the entire interface in FLASH! pretty much I think flash is only good for things like video and games; if its not one of those don't use flash! I absolutely hate the use of flash for any kind of interface and I will leave a site if I see flash used in this way. ok so that is my rant about flash. Essentially my philosophy is use HTML for content, use CSS to make it look pretty, use PHP/JS/rubby/whatever to do interface stuff that can't be done with either HTML or CSS, and avoid flash at all costs. Okay so this part isn't really Web design per say, but how else could I complain about JS links and flash...

I'm not an artist so I'm not very good with the look of a page but I do think it is important to have a page that doesn't look like crap ( you may think that it is strange that I say this because my blog looks like crap right now. Don't worry I plan on fixing that.). A lot of people want there pages to look the same on every computer that they are viewed on, and some will go to any extreme to achieve this (flash). As you probably already know that is stupid and pointless because not only does it not work but it makes your page look bad and in some cases unusable by certain people. If you don't believe me on that last on try using most websites with a resolution above 1280X1024. Many of these problems are the results of coders using hard sizes (pixels); so that the page can't resize based on resolution. Of course this is a very easy thing to fix, use percents for widths/heights and ems for text sizes etc.

A while ago I made a simple test website that uses these principles so that the page works at virtually any resolution. The colors are random so don't send me emails to complain about them. The only problem with this page are the images (especially the one on top) but I think with a lot more work I can also fix this. I think I may be able to use svg images and PHP to resize the images depending on the viewer's resolution. I haven't even begun to work on this (I don't know PHP) but I have plans to do it with in the next year. Tell me if you have any problems with that site. I have tried it on everything form my PSP to a 30" apple cinema display (in a store). That cinema display had a resolution of 2560X1600 so apple's own website was unreadable because it has a fixed width and turning up font size was useless (try it you'll understand), however my test site worked just fine and was very readable. So as Wikimedia says "Don't be a dick" make you pages usable and friendly.

Digg this

Wednesday, April 11, 2007

Email Encryption part two

As promised here is the second part to Email Encryption. How you set up your mail client to work with GPG will depend on what client you are using. I use Thunderbird (Icedove if you use Debian) so that is the one that I will be covering.
Step 1: Download
First of all Thunderbird does not to my knowledge handle encrypted email so you will need to download an extension called Enigmail.
Step 2: Install
Now its time to install Enigmail! Go to tools>extensions and click the install button. Find the .xpi you just downloaded click ok. The extension is unsigned so it will ask if you really really want to install it. You will need to restart Thunderbird now.
step 3: Setup

The first thing you will want to do is to give Enigmail the path to GPG, this will differ depending on your system. goto openPGP>preferences. If you followed my earlier instructions for installing GPG it should be located at /usr/local/bin/gpg
now that Enigmail can find GPG we can get started with setting up keys! next you will need to go to OpenPGP>Key Management. A new window will open and now you will need to go to Generate>New Key Pair. All you have to do here is give it a pass phrase (password), tell it which email address you want this key to be associated with and click Generate Key but it is a very good idea to take a look at some of the settings first! the Key is automatically set to expire in 5 years if you don't like this change it to a period of time you like. The next tab is called advanced don't get scarred it really isn't that advanced (if you would like more advanced options I suggest making a key pair from the terminal using the command "gpg --gen-key") the first option "key size" should be set to as high as you can get it (that should be 4096) the longer the key is the more secure it is. the second option is not that important and can be left alone. here are the settings I'm using. Now that you have everything set up click the Generate Key button. Enigmail will give you an option to make a revocation key if you wish you can d o this but you don't have to.step 4: Key Servers
Well now you have an email encryption set up but it isn't very useful if no one has can send you encrypted email. So to fix this you will now need to upload your public key to a key server. go to the OpenPGP>Key Management from there go to Keyserver>Upload Public Keys and chose a server to upload to. I normally will upload my keys to all of them just so that they are easy to find. note that if to go to search for public keys you can find your friends public keys if they have uploaded them. Now we are done with the set up!

step 5: sending an Email
This is the easy part. Just write your email as you normally would and then before you send it click on the OpenPGP icon in the tool bar and select the options that you would like. Now send it! ok were done have a nice day.

Monday, April 9, 2007

Email Encryption part one

Edit: If you already have GPG installed then check out the part two.

Unencrypted emails can be read by any server that they happen to pass through. The only way to stop this form being possible is to encrypt the email before you send it. First I'm am going to show you how to install GNUPG and later I will show you how to use your email client to send encrypted emails.
Installing GNUPG on windows
Installation on windows is pretty simple just download the latest binaries(.exe). Then you run the installer and it will install GPG to your program files directory.

Installing GNUPG on Unix-like operating systems
The easiest to install way to install GPG is to use the package manager built into your distrobution, if you have one. alternatively you can download binaries form GNUPG's site. If you can't find packages for your system on GNUPG's website the best way to install is to install form source. If you are using a Mac (like I am) they will direct you to Mac GNUPG. However I would still suggest installing form source (you will need to install the developer tools form your install DVD), that way you know you have the most up-to-date and official packages. note that their are a few package manager for Mac OS X that will have GPG such as Fink, Macports, or Gentoo for Mac OS X.

Step 1: download the source.

Step 2: Untar the file you just downloaded. Open the terminal and go to the directory were you unzipped the files(this is done with the command cd). mine happens to be ~/desktop/gunpg-1.4.7.

Step 3: type "./configure".

This will give you a stream of text for what seems like forever. Just wait until you are returned to the prompt.

Step 4: Now you need to type "make" this will give you the same kind of flow of text. If you would like you can check to make sure this work by typing "make check".

step 5: At the next prompt type "sudo make install". You will be prompted for the administrative password. If you aren't in the sudoers file you can use su.

You now have GNUPG installed at /usr/local/bin/gpg. For more information on GNUPG see it's homepage. In part two I will show you have to send encrypted emails.

First post

This is my first post in my new blog, but you could probably figure that out. I can't promise that I will post very often or that I will even try. this blog will be about what ever I want. I will post things that are relevant to what I am doing at the time. So you might see a post about Linux one day and ancient history the next. I will most Likely have some post about programming (python) because I am trying to learn.
site statistics