Archive for the ‘development’ Category

Google Apps forces me to read in Chinese

Posted on February 10th, 2009 in development, software | No Comments »

I came across this problem when looking to install Google Apps on a domain.  It gives me this problem on both of my computers as well as some VMs I have.  I don’t know why I’m having this problem–I don’t know a single thing in Chinese and have never selected that for a language.

I wanted information on what they would provide for a non-profit, but this affects the links to pages for schools and ISPs also.  A Google search took me to the landing page at http://www.google.com/apps/intl/en/business/index.html .  When I scroll down to the bottom and click on “schools,” “non-profits,” or “ISPs,” I get taken to a Chinese page.  When I click on the language drop-down and select “English,” I get taken back to the Google Apps landing page, not the pages with information for schools, non-profits, or ISPs.  I got around this by just doing a Google search instead and avoiding the Google Apps landing page.  This isn’t a mission-critical problem, but definitely an annoyance.  Here are some screenshots:

Mark The Dark light graffiti

Posted on December 11th, 2008 in development, startup | No Comments »

I decided to make a website (markthedark.com) to be a light graffiti community.  If you don’t know what light graffiti is, it’s a fun technique where you take LED (and other) lights and “draw” while the camera is taking the picture (you have to adjust your camera settings to do this).  Light graffiti is pretty fun and almost everybody that I’ve talked to has enjoyed it.

Although there are several blogs and flickr galleries on the internet where people post their art, there wasn’t any site that really serves as a community–share and see others’ artwork, talk and learn about techniques, get ideas, etc.  Right now it’s just a gallery–sort of a Digg for light graffiti.  But I’m working on adding a forum and more “best practices” info.  If you have any advice, requests, or bug reports, please email me!

Configuring a catch-all email address with Postfix on Slicehost

Posted on November 6th, 2008 in development | No Comments »

This post walks you through how to create a catch-all email for any emails sent to your domain that don’t resolve to an actual email account.  This is handy when people type your name wrong or think that there’s a webmaster@domain.com when that account really doesn’t exist.  Most of the tutorials I found have you modify the /etc/postfix/virtual file.  If you set up your slice as the articles showed you, you probably don’t have this file.  Here’s how to do it:

1. Create an email account for the email that you want all stray emails to go to.  If you already have the account created, you can ignore this step.
2. Run “mysql -u root -p” to go to the MySQL console.  You’ll be prompted for your root MySQL password.
3. Type “USE mail;” to use the mail database.
4. Type “INSERT into `forwards` (`source`, `destination`) VALUES (’@domain.com’, ’sendhere@domain.com);” to add an entry to the table saying that all emails sent to domain.com that don’t resolve to an account get forwarded to sendhere@domain.com.  Obviously, replace the appropriate values for your site.
5. Quit the MySQL console with “quit;” and then reload Postfix with “sudo /etc/init.d/postfix reload”

Fixing Error 550 when sending to/from Google Apps email

Posted on October 10th, 2008 in development | 1 Comment »

My problem was that whenever I sent an email from my boogly.net email (hosted by hostgator) to my email at celiacclub.com (email managed with Google Apps for domains), the message bounced, replying with this error:

550-Verification failed for <email>

550-No Such User Here

550 Sender verify failed (state 14).

It only happened for the boogly.net-to/from-celiacclub.com connection–emails from hotmail got through successfully.  If your email isn’t working at all for communication with any email, refer to the Google Configuring MX records page and use dnstools.com to check your work.  Also, make sure your SPF record is set correctly.  At first I thought it was an issue because I’m running Google Apps for Domains.  Thought something was misconfigured on my DNS.  But it wasn’t.  It took a while before I found the Gmail Troubleshooter.  This told me that it was for sure the other host that was attempting to check that the user exists on Google Apps (This is supposed to help alleviate junk mail).

After exchanging emails with hostgator support, I found that the issue was with the hostgator servers’ configuration of localdomains/remotedomains.  In other words, boogly.net thought that celiacclub.com was a local domain so it tried to look on its own system to validate that email address.  You’ll need to modify your server’s awareness of the site.  Here is a good tutorial about how to go about changing this.  Of course, you’ll need to move from the localdomains to the remotedomains.  Depending on your host, you might not be able to modify these files–in which case, you’ll need to get on the phone with their support and have them do this process.

My experience moving to slicehost from HostGator

Posted on October 4th, 2008 in development | 1 Comment »

It’s been 11 days since I’ve had a slicehost account, so I figured I would write about my experience with it.  Slicehost is a Virtual Private Server (VPS) host that pretty much gives you webspace, an internet connection, and lets you do whatever you want with it.  It’s nice to have the control…but that also means you need to configure it all yourself.  I was nervous making the switch because it would mean more responsibility and more liability.  It’s taken a lot of time to configure my slice (almost a week), but I think it was worth it.

Since I’m not extremely experienced with Linux, it took me a while to find my way around.  You start off with a flavor of Linux installed on your slice (you can choose from Ubuntu, Fedora, Debian, and others).  Then you log in and need to secure your server and add the functionality you need.  I followed the tutorials at http://articles.slicehost.com and they were crystal clear.  They were the best tutorials I’ve ever seen.  I got up and running pretty fast.  The problem was customizing certain parts of my server to optimize for my site.  I also ran into some problems when I didn’t do things right.

Whenever I ran into problems, I would just go to http://chat.slicehost.com where there was always somebody there to help.  It’s some of the best tech support I’ve ever gotten.  I’d tell them my problem, then they’d usually ask me to check certain error logs, then they’d tell me what was wrong and how to solve it.  So far I’ve probably taken 20 problems there and they solved 100% of them.  That’s what I love the most about slicehost.

I still use HostGator–some of my websites can’t be transferred yet (too much hassle).  I just had an issue today with my email that I needed to talk to their support about.  I think my experience today was typical of how it’s been the past two years there.  I used their liveperson chat client.  Here’s the conversation(with boring content removed):

[hostgator]: Welcome to HostGator Live Chat, how may I assist you?

Jon: I have an email where all of the emails bounce[problem description]. here is the error:[error]

[hostgator]: Check to see if the mailbox is full.

Jon: it’s not

[hostgator]: That is an odd error. What email can I send a test to?

Jon: [email]

[hostgator]: Sent

Jon: I got your test email

[hostgator]: There has to be something wrong on the Google aps email that cant send out. On the Google aps account try repling back to me.

Jon: sent

[hostgator]: I got it. I am stumped on this. It is like that google aps account just cant send to that one account.

[hostgator]: I would suggest emailing support@hostgator.com to see if the admins can look into the email records and figure out the problem.

Jon: ok

[hostgator]: Sorry I could not help you.

[hostgator]: It confused me and I do not have access to the records.

[hostgator]: Is there anything else I can help you with?

Jon: no thats all

[hostgator]: Excellent, take care and have a great day!

[hostgator]: Thank you for using HostGator Live Chat! If you could take a minute to rate your experience with HostGator as well as my overall performance, that would help us to improve our customer service. To do that, just click the button that says “close” in the upper right hand corner. The survey takes less than a minute to fill out.

This support conversation was actually one of the pleasantest ones that I’ve had–others have been really bad.  Here are the things that pretty much happens every time I talk to support:

1. First off, they blame it on somebody else.  Here they blamed it on Google.  In about 60% of my calls, they blame it on me and tell me that it might go away later.

2. They don’t really understand what your problem is.  They usually always give me a “solution” that’s unrelated, which tells me that they’re telling you to do stuff before they really understand what’s going on.

3. They tell you “I can’t help you.  I don’t have access to that.  You’ll need to email support@hostgator.com”

Yea, I would always like to email support@hostgator.com first to get the support guys that actually have permissions to fix my problem.  But the problem with that is that it takes them way too long to answer them.  One time I had a huge server problem and I emailed them.  Our email conversation went through this process: [hostgator]it’s not our fault, [me]yea it is, look at the logs, [hostgator]okay I changed xxx, [me]no it still doesn’t work, [hostgator]oh, I’ll change this [me]no, it still doesn’t work, [hostgator] it’s not our fault.  That particular issue took 4 days to resolve.  Email support would respond about 5-30 hours later.  Meanwhile, I had customers calling me every hour or so.

Which is why I believe that slicehost will work a lot nicer.  I wrote this article mostly to provide the advice I wish that I had, not to get referral points or whatnot.  But if you do sign up for slicehost, I’d be appreciative if you use me as the referral by clicking this link–it won’t increase your price at all.

Changing “wishlist” on Magento

Posted on September 29th, 2008 in development | No Comments »

I didn’t think it was fitting to call it a “wishlist” on CeliacClub.com.  Frankly, if I went to any website with a wishlist, I’m not really sure what it does.  I think calling it a “watchlist” is much more applicable.  This article shows how to change it on your Magento site.  This process could probably be adjusted to modify the other named aspects of Magento also.

1. We don’t want to mess with core Magento files so it’s best to modify the string translations.  Edit the following CSV files (I like to edit them with a plaintext editor like Notepad++ but you could use Excel to do it):

  • /app/locale/en_US/Mage_Wishlist.csv
  • /app/locale/en_US/Mage_Adminhtml.csv
  • /app/locale/en_US/Mage_Catalog.csv
  • /app/locale/en_US/Mage_Checkout.csv
  • /app/locale/en_US/Mage_Customer.csv
  • /app/locale/en_US/Mage_Reports.csv
  • /app/locale/en_US/Mage_Rss.csv
  • /app/locale/en_US/Mage_Sales.csv
  • /app/locale/en_US/Mage_tag.csv

With these csv translations, the original string is the first value on the line, indicated by quotation marks (or on the left side, if you’re using Excel).  The replacement string is the value following it, separated by a comma (or on the right side, if you’re using Excel).  You’ll need to use the “replace” function, but we need to be careful not to change any of the original string values–we only want to change the translation values.  We also need to be careful to preserve the case of the strings–that’s why I use Notepad++ where I can match the case.  Do a Replace search for “wishlist” and check the box for “match case”, replacing with “watchlist”.  Don’t do a “Replace All”.  You’ll need to individually replace each string, making sure to only change the second value on each line.  After you’re done doing that, do it again, but for “Wishlist”.

2. We need to change the rewrite configuration of the URL so that requests for http://website.com/watchlist/ get referenced to http://website.com/wishlist/ .  Unfortunately, I don’t have a solution for this yet.  I spent 4+ hours on this but run into 404 errors that I think are caused by Magento.  I’ll update this blog when I find a solution.

Nutrition label creator

Posted on August 25th, 2008 in development | No Comments »

While working on the design for celiacclub.com, I found that I needed to create several nutrition labels, but couldn’t implement it dynamically.  With the help of Jonathon Eric Cihlá?’s CSS, I wrote a PHP script to generate the code for the labels dynamically. You’ll need to unzip the files into a php-enabled directory. Here are the files:
nutritionmaker.zip

new blog

Posted on August 25th, 2008 in development, startup | No Comments »

I’m starting this blog to put some of the things that I’ve been discovering.  Hopefully they’ll be useful to somebody.  I just slapped in a theme I got off of wordpress.org and a few plugins.