Archive for June, 2010
Alright, so you’ve got your CMS (website software) installed and set up, and you’re looking at your new front page.
Here’s my suggestions for the first ten things to do to get your website “off the ground” as it were. It’s recommended that they be done in some kind of order, as you will get the best results with one after having done the others before it.
1. Edit your front page
This should go without saying. Change the default content to something a little personal talking about you and your new site. State what it’s about, but don’t go overboard with the keywords or ads. A new site is a new site, but a new site rife with “keywords” and ads will scream “stay away!”
Don’t worry about themes at this point, unless you have something specific in mind. The search engines won’t care what kind of theme you use and they’ll re-index as things change. There will be plenty of time for theming later.
2. Get an XML Sitemap plugin
XML sitemaps are sitemaps specifically designed for search engines to use to crawl your site quickly and effectively. They contain a list of every page regardless of whether or not it’s linked from another page, and the page’s last update. Even better, most XML Sitemap plugins will automatically “ping” (or notify) the search engines when you create a new page or update a page. A must have for fast indexing.
3. Get your webmaster accounts
Google, Yahoo, and Bing offer webmaster tools for site owners to submit, verify, and specify XML sitemaps for their sites. Once you complete this step, search engines will usually begin crawling your site within a day.
Make sure to complete the verification steps at each site.
4. Get a good stats system
Server logs aren’t a good indicator of site traffic unless you’re getting less than a handful of hits each day. Even then, once you start getting some traffic, you’re going to want to see specifically what pages are popular and with what visitors. Even inbound searches will show you what you’re doing right so you can keep focusing on the important stuff.
I recommend Clicky. The stats are real-time and it’s free for one site.
5. Get some inbound links
Chances are you have at least one friend with a website. Ask them to put up a link to yours. This is good for two things, traffic and search engine ranking.
Visitors to the other site may see a link to yours and click on it, and search engines will see the link from the other site to yours and “follow” it to yours, helping your search ranking.
Of course, it helps if the sites are on the same topic as yours.
6. Make it your own
Start playing with the theme, layout, and color options. Make it your space and your style. Darker themes are more suitable for personal sites, lighter themes for more professional. Use colorful backgrounds that show off your skills if you are an artist (painted or drawn art, music, etc. If you create something, show some style).
7. Start adding real content
Nothing is going to turn away visitors faster than the words “Coming Soon” or “Under Construction.” Post something up, if only a few paragraphs. Talk about yourself, the reason and aim for your site, and what you’re working on. Link to your user profile on some social networking sites, put up pictures. Above all, make sure it’s original content! Users know when you steal from other websites, and it will immediately discredit you.
8. Make yourself available
Add a contact form, your email address, a Skype or Google Voice button if you have them. If a viewer wants to get in touch with you, they should be able to. If you’re a business, your address and/or telephone number are also a must.
9. Add interaction
Add a comment box or guestbook. Let visitors comment (even if it’s negative). You may learn something. Respond to the comments to show you are involved and that you care.
10. Update often!
A web site is not a set-it-and-forget-it kind of thing. Look at your site regularly and add new content, update out-of-date content, and play around with the layout. Out-of-date content is a turn-off for most web visitors. No one wants to spend time reading a post that is obsolete or out-of-date. Keep it fresh and keep it coming.
Have experience launching a website or any advice to share? Did you try these tips? Did they work for you? Have something to add? Please share it in the comments!
A friend presented me with an issue a while back where certain buttons on his Logitech keyboard, specifically the zoom bar, didn’t work properly under Ubuntu. After some searching, I found a site that codes Linux drivers for these devices, and directed him to it. They have drivers for Debian, CentOS, Fedora, Mandriva, Mint, RedHat, Suse, and Ubuntu. The full list of supported devices is below.
After testing, he came up with a set of instructions (originally posted at another site) and I have rewritten them here in a [hopefully] more accurate process.
- Head over to HIDPoint
- Fill in the requested information on the download page (mouse/keyboard/OS/etc…), you can ignore the email field if you wish and select download. Make sure you select correctly if you’re using a 64-bit or non-64-bit OS.
- On the next screen, select the link “Download Now“, and save the file to your hard drive.
- Navigate to wherever you downloaded the file to.
- Right click on the file, and go to Properties > Permissions and check the box for execute.
- Double click on the file and select “Run In Terminal“. Type “Y” then hit “Enter”.
- Follow all on screen prompts.
- After Installation is complete, you will need to reboot.
CMS systems like WordPress, Drupal, Joomla, etc are rife with plug-ins and modules you can add for extra functionality, but it’s really hard to tell the load that some of those add-ons place on your system and database. When you want to have a website that won’t collapse under load (or take the server down with it) it’s important to have well-written plug-ins. Many times we install things assuming without knowing the impact they can have. Especially in the case of shared hosting where everyone shares a server, it’s important to play nice — or face the possibility of having your hosting account suspended because you put too heavy of a load on the system.
I got to experience both sides of this first hand. Some time back I had my Drupal site hosted on my own machine. In searching for a decent chat room, I found the Drupal chat room module. It was easy to install and set up, and I had a few friends joining in to give me feedback on it. After 3 or 4 people joined, it started to get really laggy. I took a look at the server and saw that it was literally drilling a hole in the SQL server. The amount of queries and load that it was producing was just unbelievable. So I disabled it. Lesson learned.
Last night while I was making some changes here, I noticed a lot of issues with pages taking forever to load, lost connections to the MySQL server, etc. Since I’m on shared hosting, the first thing I thought of was “maybe the server is having an issue?”
So I checked server status: Nothing.
I let it go and kept making edits to my pages, but noticed the problem was getting worse instead of better. I checked server status again; nothing. I thought: There has to be a problem somewhere. So I looked through my cPanel and found an icon that I thought might give me a clue: CPU Throttling.
What you see below on the left side of the red line is what I saw (I took the screenshot 15 hours after I started working the issue so I would have a clear before-and-after).
BlueHost uses a unique CPU throttling approach, not primarily to control CPU/RAM usage, but to control scripts which pound on the SQL database and make time-consuming queries. If the database gets pounded too hard, it becomes a major issue for everyone on the server. So they throttle access to the database for load spikes, and that keeps everyone happy. They say that a throttle of 500 sec/hour is acceptable, and you shouldn’t see any slowdown from it. Obviously my problem was way beyond that.
I was obviously having an issue with some script, and it needed to be fixed immediately. Since they make log files available to you for “Slow SQL queries”, I took a read through them. I saw here and there 1.3, 1.5, 1.8 seconds… not terrible. Then I saw the issues. I had SQL queries that were running 3, 4, 5, 6, even up to 8 seconds each. You know what? It wasn’t even this site. It was the feeds module I had added to another site.
So I weighed the benefit I was seeing to the site (which was zero) and went ahead and started purging the data and disabled the modules. This took a few hours (because of the already throttled connection state), and when I was done I let it idle for an hour and made sure I was no worse off than before I had started. It was nearly 3am, so off to bed I went.
I woke up this morning and immediately checked the CPU throttling chart. Not only was I under the 500sec/hr target, I was less than half of it.
The worse part of this is that I was almost never aware of the issue. It wasn’t until I stated making bulk edits that I noticed there was a problem.
This does happen to be a system that only BlueHost offers. My only request might be that I could have gotten alerted via email when the load spike shot up so I could have been aware of the issue rather than having to find it out myself. But in any case, I saw it, I took care of it, and all is well.
Have an experience with a script that negatively impacted your CMS or server platform? Please share it below…
When I got my, the first thing I looked for was a good case. It’s a shame to have a nice phone and tear it up from keys in the pocket, accidental drop, banging against a counter (which is how I cracked the camera lens on my HTC Touch Pro: I leaned up against the counter at Chuck-E-Cheese).
I initially had a cheap silicone case, but it quickly stretched and became a lint magnet. Not to mention the fact that it would stick to the inside of my pocket and not want to come out when my phone was ringing. Though cheap, silicone cases are junk, in my opinion.
I decided I was probably better getting some kind of hard case. The nice thing about hard cases is they feel more natural on your phone and they can take the abuse. I’m rough on my phone — it goes with me everywhere, even in the rain.
I heard some really nice things about Seidio cases, and checked them out. My friend Jeff beat me to the order, and I asked to take a look at his device with the case on it. It’s nice-looking.
Breaking this case was no easy task: I’ve dropped it on concrete, tile, wood floors, tossed in my work toolbag a few times (screwdrivers, pliers, etc), talked on it while doing a brake job (which is probably what took the finish off)… This case is tough. I’ve even demonstrated to a few people that you can take a key to it and not scratch it.
Ironically enough, I was out somewhere and dropped it on carpet. The case flew apart and the locking tabs broke. I guess it had finally had enough.
So now I’ll be ordering another, and I guess I have to be extra careful with it until the new case comes in.
Caveat: There is a small downside to [the black] case. I’ve found out through experience that the BlackBerry will stop charging the battery if it gets too hot. That’s actually a good thing, as if you try to charge a Li-ion battery thats too hot, you’ll actually degrade the battery. The case I bought — being black and having a soft finish, actually caused the phone to heat up if I left it in on the passenger seat of my car in the sun. Solution? I just put it in my center console.
Have an Innocase for your phone or considering it? Share your thoughts below…
Something I noticed immediately after installing the nvidia drivers in Ubuntu 10.04 was a low-resolution splash screen. This hasn’t bothered me too much in the past, but now that I’m using hard drive encryption it pushes the input box to the edge of the screen (and makes it ugly) as well as pushing the text above it off the screen. So I did some searching and happened about the following solution, which appears to have been tried by many users who report overwhelming success:
* uvesafb required v86d package to be installed. hwinfo package is required for the next step as well.
sudo apt-get install v86d hwinfo
* Find out the supported resolution by using hwinfo:
sudo hwinfo --framebuffer
Sample output :
02: None 00.0: 11001 VESA Framebuffer [Created at bios.464] ... Hardware Class: framebuffer Model: "(C) 1988-2005, ATI Technologies Inc. M92" Vendor: "(C) 1988-2005, ATI Technologies Inc. " Device: "M92" SubVendor: "ATI ATOMBIOS" ... Mode 0x0321: 640x480 (+2560), 24 bits Mode 0x0322: 800x600 (+3200), 24 bits Mode 0x0323: 1024x768 (+4096), 24 bits Mode 0x03ee: 1366x768 (+1408), 8 bits Mode 0x03ef: 1366x768 (+2752), 16 bits Mode 0x03f0: 1366x768 (+5504), 24 bits Config Status: cfg=new, avail=yes, need=no, active=unknown
* Edit /etc/default/grub to make sure we boot with uvesafb framebuffer. For the
mode_option parameter change to your native screen resolution you see from running the above comment (if not just set to
1024x768-24 which is safest. Oh, Netbook user – please exercise some common-sense here) Non relevant lines are omitted for clarity.
<span style="font-family:Consolas, Monaco, 'Courier New', Courier, monospace;font-size:12px;line-height:18px;white-space:pre;">... </span><span style="font-family:Consolas, Monaco, 'Courier New', Courier, monospace;font-size:12px;line-height:18px;white-space:pre;">GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1366x768-24,mtrr=3,scroll=ywrap" </span>... GRUB_GFXMODE=1366x768 ...
* Edit /etc/initramfs-tools/modules to include uvesafb by adding the following line.
uvesafb mode_option=1366x768-24 mtrr=3 scroll=ywrap
* Force the use of framebuffer:
echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash
(Note: What we’re doing here is creating the file
/etc/initramfs-tools/conf.d/splash with the line
FRAMEBUFFER=y. Feel free to use
echo FRAMEBUFFER=y > /etc/initramfs-tools/conf.d/splash if you are more comfortable.
tee is necessary when running as non-su. I wanted to know exactly what this command did in case I wanted to undo the changes.)
* Update and we are done
sudo update-grub2 sudo update-initramfs -u
My only change to this was to substitute the native resolution and color depth of my LCD panel as confirmed by
hwinfo, specifically 1440×900-24. Everything else remained the same.
I was very skiddish about trying this as I have an encrypted hard drive, and if plymouth went south on me I wouldn’t be able to unlock my drive and fix it (easily). I was very happy to see that everything worked. Kudos to all involved. UPDATE: If you have an LVM/LUKS encrypted hard drive, you’ll be prompted for your hard drive password at a text-only prompt, so there’s no worry of a non-bootable system (at least for this reason) if you mess up the above.
Two times recently I’ve had friends who have had data stolen from them physically; one had her house broken into and her laptop stolen, another had her external backup drive stolen.
It’s one thing to have a laptop or a hard drive stolen, but it’s much much worse to worry about the impact that the now-compromised data can have on your life — Stored passwords, confidential data, personal information, photos, the list goes on. It’s even possible that a thief could use the saved passwords and cookies saved on your computer to access your on-line accounts and do considerably more damage. On-line banking, email accounts, social-media accounts, etc.
Even if your laptop is damaged, it’s still possible for an attacker to take the hard drive out and hook it up to another computer to gain access to your information. Log-in passwords don’t protect against this if the OS is bypassed. Your data is completely accessible.
While it is possible to secure a large part of your data by encrypting your most private files, that still doesn’t cover areas like browser cookies, temp files, and the swap space. Data from secured areas can “leak” into those areas and still be viable for attackers. In addition, this requires effort, and I talked about this in my post about backups.
Hard drive passwords are one good tool, as they render the drive effectively useless to all but the most sophisticated attackers (read: all except police, government, and attackers with sophisticated tools). The hard drive is logically “locked” at the firmware level and cannot be unlocked without the correct password or some circumvention of this. Your data is still stored on the drive, but attempts to read the drive will fail. Most modern computers (especially laptops) and hard drives support hard drive passwords. This is a good tool, but if you’re at all concerned with the potential weaknesses of this, you might want something a little stronger.
Enter full-disk (or whole-disk) encryption. This is one of the strongest tools to protect against any time of attack against the hard drive. By storing the data on the drive in an encrypted form, it becomes next-to-impossible to get anything useful off the drive. Full-disk encryption typically uses the AES method, which is well-established to be secure.
There are several commercial solutions to full-disk encryption, but as a big supporter of free/open-source software, I’m only going to cover the free and cross-platform ones.
TrueCrypt (Windows, Mac, Linux) – This is an exceptional tool for encrypting both internal and external drives, and creating encrypted “containers” to store files in. Free and open-source, and from what I’ve seen, rock solid. I’ve used this under Windows to do full-disk encryption, and I still use it to keep my 1TB external hard drive encrypted. Setup is easy and doesn’t require you to reinstall the OS — encryption of your existing drive can be done on-the-fly and you won’t lose any data. (Though having a backup beforehand is always a good idea)
Ubuntu has a few options ingrained into the OS. Home directory encryption is a choice during installation, which protects your files when you’re not logged in. The encryption is very good, but there’s still the chance that file information will leak out into unencrypted areas of your drive. When you’re installing Ubuntu, and you’re at the part where you enter your chosen username and password, at the bottom of the screen you’ll see the option “Require my password to log in and decrypt my home directory.” That’s the option which enables home directory encryption.
The “alternate” installer CD gives a solution to this: Full-disk encryption using LVM/dmcrypt. Unfortunately, this option will require you to reinstall your OS as it requires the disk to be repartitioned as LVM and encrypted. Also, it’s a little harder to set up. Although the installer is guided (and some very good walkthroughs exist) there’s no fancy GUI. It’s also not easily reversible, but as far as I’m concerned, there’s no reason you’d want to. While installing using the alternate CD, choose “LVM with encryption” while you’re setting up partitions. It’s worth noting that this installation was markedly slower than a typical install (I think it took an hour-something) but considering the amount of disk I/O that was taking place, I’m really not surprised.
Performance versus an unencrypted drive in all cases is good — your system will take a performance hit but it wont be very noticeable except in cases of disk thrashing, or very heavy disk read/write activity. You will notice a little bit of a slowdown in system performance then, but it won’t be much.
Thoughts or opinions on this? Please share them!
I picked up a Brother HL-2170W wireless laser printer at OfficeMax a while back to replace my empty HP ink jet. For the price per page, laser is without a doubt the way to go.
I had done some searching while I was at the store because, as a Linux user, I’m big on cross-platform. (Obviously, or I’m not going to buy it.) I read a lot of mixed stories about this printer, but at the time Lucid (10.04) was coming out and I figured that a number of the issues would be addressed and I had a good chance of it working. Besides, it was a wireless printer so nearly any generic driver should work.
I brought it home, unpacked it, and set it up. Connecting the printer to the wireless AP was a breeze — simply connect the printer (via wire) to either the PC (via USB) or the router (via ethernet) and do the config using either the web interface (built into the printer) or the software. I had tossed the instructions immediately upon opening the box — this is one case where you’re probably going to want to refer to them. At least until that first test page comes out okay.
So I got the printer hooked up, on the wireless network, static IP set up, and off I go to install the drivers on the machines.
Ubuntu: Recognized immediately. Going to System > Administration > Printing and click Add brought up the add printer screen where the printer showed up after a few moments. Though the installer showed some lag, I attributed it to having to communicate with the printer during the setup.
Windows Vista: Installation of the drivers from the CD was grudgingly slow. It must have taken me the better part of half an hour start to finish.
Printer performance? I was immediately impressed. But my mind changed after a few days: This printer choked on graphics. A page of text would come out immediately, but any page with a graphic on it could take up to 20 minutes. Then for the sake of troubleshooting I tried it on the Windows machine. Came out in moments.
Something was definitely amiss. But I left it as it was for a while, until I finally got tired of waiting 20 minutes per page to print shipping labels for 15 boxes one day. So I put Windows 7 on my machine. Problem solved. (Note — the printer ships with a second drivers disc specifically for Windows 7.)
So now, a few months later, I am a Linux user once again and ran back into the same problem: The incredibly slow graphics printing. Only this time, determined to find a solution. I only had to look so far as this post. Citing a fault in the cups drivers for (at the least, this printer model), a solution was explained using a generic driver instead of the [presumably broken] cups driver:
1. Log on to the cups web interface: http://localhost:631/admin (for username and pw I used an account with sudo privileges).
2. Select “Add Printer”
3. From “Other Network Printers:” I selected: LPD/LPR Host or Printer
4. under “Connection” put in: socket://IP_of_the_printer:9100 (of course, substitute in the IP of your printer)
5. Name, description, location: fill those out as you wish.
6. Sharing: I did not check this box.
7. Make: Select Generic and click Continue
8. Model: Generic PCL 5e Printer Foomatic/hpijs-pcl5e (recommended)
(this model is the closest by name to what Johnny_vc told me to use. I figured mine is different because I’m using Lucid)
Nick (below) adds this: Make and Model: Brother HL-2170W Foomatic/hpijs-pcl5e (recommended)
If you find the Brother selection, try it and see if it works, otherwise the Generic as above is known to work.
9. Click “Add Printer” and you’re done.
Works for me too. After doing this, you can view and edit the properties of the printer via System > Administration > Printing. Printing speed is back to normal.
Also, I strongly recommend you have your printer assigned a static IP address, either on the printer itself or using DHCP address reservation.
UPDATE: I encourage users to try the instructions contained in the blockquote above first, if their printer does not appear or performance is bad. Make sure you know the LAN IP address of your printer or it won’t work. I just tested this with a stock 10.10 install and I was able to print without installing anything else.
Feedback and comments are welcome, as always.
A few days ago I ordered the Kensington MicroSaver DS keyed lock from Amazon.com
I had a lot in mind when I weighed buying a new lock — the thickness of the cable was one issue, the lock itself was the bigger one, and the choice of keys vs combo. The one thing I did know was I wanted a Kensington lock.
I took a look at quite a few locks. For combo locks I looked at the ComboSaver Portable, the ComboSaver and ComboSaver Ultra. The advantage of the ComboSaver series is that you can set (and change) your own combination. So if you have a combo that you tell someone (or they find out) you can easily change it. The once complaint I did see a lot of is that the ComboSaver Portable had a lot of reviews saying that the cable was very thin. I just gave up a lock with a thin cable, and didn’t really care to replace it with another once. My other problem is, I sometimes forget combinations.
So on to considering keyed locks. The thing I look at with keyed locks is 1- don’t lose the key (or let it get stolen). That defeats the lock entirely. (It’s worth nothing that Kensington does offer free key replacement for registered locks) 2- I carefully look at the strength of the key/lock pair (especially after seeing this video about the insecurities of round keys). Locks with simple keys can often be easily defeated.
So I took a look through the keyed series of locks and saw only one that didn’t use a round lock. The Kensington MicroSaver DS. This lock uses a disc-style lock mechanism and has a “Safe Premium” rating: The highest security rating from Kensington.
And I got a mail-in rebate too :)
So I get this lock in the mail today, and of the first things I notice was the particular style of key cut on the key. Disc-style locks use a key with angles cut into the key (see the link above) which is very secure and very difficult to copy (and EXTREMELY difficult to pick successfully). Also, the steel cable is laminated and very thick, the lock itself pivots and rotates 360 degrees, making the connection to the laptop very easy.
When locking and unlocking the lock, I did notice it took a little bit of fiddling to get the key all the way in the lock. It’s very easy to turn the key while it’s still partway in, which will fail to unlock the lock. Just wiggling the key a little bit back and forth will get it in, and this quickly because habit. Chalk it up to the disc-type design.
I’m very happy with the lock, and it’s low-profile design will make a good match with even the thinnest laptop designs.
This afternoon a young kid (couldn’t have been any older than 20) came to the door… knocked AND rang the doorbell. I opened the door and he identified himself as being “certified” from a gas company supplier/distributor, and wanted to come in and “survey” to see if we were suitable to save money by switching to his company. For the life of me, I can’t remember what company, though. I just know he was young, very young, nearly an adolescent. He had short blond hair and a clipboard he held proudly. That was the give. That, and asking to come inside.
Gee, this doesn’t sound at all suspicious. Come on in–er, “No. I’m not interested.”
“But sir, this won’t cost you anything.” Yeah, I believe that one.
I refused him again, then he quietly turned and left. I couldn’t close the door fast enough.
This comes right on the tail of a.
A couple of people have asked why I didn’t ask for his ID. I didn’t have to. What he had, he had prominently displayed on his shirt — nothing more than a plastic card with “Certified gas representative” (or something to that effect) on it. No name, no photo, no real business name. Nothing credible.
Michele asked me why I didn’t call the cops. Okay, so I missed that one. I had enough sense not to let the chap into the apartment though.
So tonight I’m sleeping with all the doors and windows locked. Michele may not be sleeping at all.
I had written a previous post roughly comparing a few web analytics programs, using some criteria that was important to me, and I had purchased a license for Mint to use on one site. Having two sites, though, I wanted them to use the same analytics package, so I shelled out the extra $30 for a second Mint site license.
That was the easy part. The real pain came when I actually set it up. I had to install a second copy of Mint (because it’s a per-install/per-domain license) so I had to install a second copy, copy over all my plug-ins and configure it, making sure I used the same login and password (so I wouldn’t get them mixed up) and configure the software alike with the first install.
Then I realized something: I had to go to each domain’s Mint installation to view stats. I couldn’t view the stats for both sites in the same view. (Though there is a plug-in for that, but it gets installed to a single domain install — I’d have to install it to both installations and mirror the setup again — What a pain!)
So, out $30 for the new license and realizing after the fact it wasn’t a good fit for my setup, I went to Piwik, which is an Open-Source, self-installed web analytics package. You install it to a single location and set up tracking for all your websites from it. It’s a fairly good piece of software, but I ran into several nasty show-stopping bugs: zeroing visitors in the database and an issue with PHP and the archive.sh cron job (not even mentioning the still-unresolved ever-growing database issue). I want an analytics package I don’t have to fight with to get good information out of. I want to spend my time using the information I can gather, not spend the time fighting with my analytics software.
Then I tried out Clicky Web Analytics. I have to say I am extremely happy with the service, and the pricing. No software to have to think about (or keep up to date), pricing is extremely fair (in fact, the best I’ve seen with 1 site being completely free), and the feature set is unparalleled. Real-time stats, including content, search terms, referrers, individual actions, a customizable dashboard, even iPhone and Android-specific mobile versions. A full API, RSS feeds, and site widgets round off the service offering, and that’s just at the free level. Paid versions (starting at $5/mo or $30/yr for 3 sites) get even more features, such as advanced data segmentation and the ability to name visitors using either the web interface or a CMS plugin.
I really recommend that you check out Clicky, even if (especially if) you only have one site to manage — it’s free.