
Description:
Badminton on Rails
Contents:
Using Paperclip with Passenger
This is mainly a note to myself. File upload with Paperclip works with script/server but not when running Passenger. I have been lazy in finding a solution, so I just switch between script/server and Passenger, but I finally can’t stand it.
It happens because /opt/local/bin/identify is not in the path for the www user which is used to run Apache on Leopard. The solution is just to make it so in environment.rb (Make sure the path is correct for both the local dev and live prod hosts):
Paperclip.options[:command_path] = "/opt/local/bin"

Verizon FiOS has the absolutely worst customer service
I am able to say that because of numerous personal experiences. After reading my story, you would be wise to stay away.
- When I signed up, I was not even sent a bill, neither paper nor electronically, but I was charged on my credit card for whatever they want to charge. It requires a 1-year commitment. Bad start!
- They lowered their prices for Internet, and I kept paying the higher price until I found out and called to adjust.
- I called to upgrade my TV plan to Extreme HD and I was offered $15 per month if I also upgrade my Internet speed from 15/5 to 25/15 and combine my FiOS and wireless bill. He asked me if I wanted to get a home phone and I refused, but he still gave me the $15 offer.
- When the bill came, no human being on earth would be able to understand the breakdown. This is done to confuse you, but it seems to be standard practice for every consumer entertainment provider nowadays.
- Of course the $15 offer was not reflected on the bill.
- So I called them again. They couldn’t find my account after I gave them my phone number, account number, name, address. I was told that their system is down and would call me back when they would finally be able to pull up my account.
- No call for a week. So I called again.
- This rude lady Badger (who would only give me her last name) redirected me to wireless department who redirected me to Badger. WTF!?
- I told Badger about my promised offer but now she claimed I also needed to have home phone to qualify for $15 off. Now that’s a lie, and they are not honoring their words.
- Badger asked me for the person who offered me and I told him he gave me an order number but I didn’t ask for name. She said she would not be able to find it then. But I told her if last name is only given and if the guy’s name is Smith, how would she be able to find him for me? She did not have an answer.
- Badger became rude and I asked to talk to her manager Dinkins. Being mistreated by Badger’s rude attitude, I started off telling Dinkins that I was not trying to start arguments but simply trying to get things straight. But she turned out to be another rude lady in the billing department. Rude behavior fosters rude behaviors – no surprise there.
- I told Dinkins the same thing over and she still insisted a home phone was required.
- I asked Dinkins to find the guy who offered me and told her I’ve got an order number, but Badger asked me for the name. I again questioned how she would find him if the last name is Smith and that’s the only thing given to customers. She did not have an answer.
- I then tried Live Chat. First chat attempt got cut off and I lost the transcript right when my story finally sounded too convincing for them to deny.
- Second Live Chat attempt. See below.
- I called FiOS again to try to downgrade my speed back to 15/5 because (1) I don’t really need it, (2) I upgraded because I was told that was need to get $15 off to cancel out the cost, (3) I upgraded based on a lie.
- This time I chose to go to the order department. My belief is that the order department is always nice because they need you to place an order, whereas the billing department is always a p***y because they want you to f**k off and pay whatever they desire to charge you.
- This gentleman was able to give me his full name Eric Frisby. So the policy of giving out names must depend on either or both: (1) billing department can only give out last name whereas order department can give out full name, and/or (2) if it’s a complaint, give the least information so you won’t be founded out and get fired. No surprise to my belief here.
- Now Eric told me I would indeed raise my price if I downgrade because it’s not in a bundle and would cost me $25 more. WoW!!!
- I then told him about the $15 discount offer I had been promised. He looked and said he founded it!!! FINALLY, after 3 phone calls (talked to 5 persons), 2 live chats.
- He told me he would be able to apply that manually.
- GREAT! But wait, I need to see that in my bill to believe it. But that goes through the billing department, so I have no idea if I will see that or not.
Do I need to mention the Verizon website is one of the most feature-rich website I have seen for all my online accounts. BUT, it never worked for the things I wanted to do, it shows errors on numerous occasions, is extremely slow and times out. YES, I am using their website on its very own FiOS network. LOL
I do have to mention, contrary to FiOS, Verizon wireless customer service has been great and polite. They seem to come from two separate companies…
Second Live Chat transcript as follows (not all that interesting, included for documentation purpose):
Chat Subject: FiOS Billing Question
Your Question: I was talking to Cathy in my last session and it broke down suddenly. I need to talk to her again please.
A Verizon eCenter Representative will be with you shortly. Thank you. (14:36:58)
14:40:52 We apologize for the delay.You are next in the line. A representative will be with you shortly.
Agent Jana has joined. (14:41:25)
Jana : Chat ID for this session is xxxxxxxxxxx. (14:41:25)
Jana(14:41:35): Hello. Thank you for visiting our chat service. I will be happy to help you today.
Jana(14:42:26): I’m sorry, I cannot transfer this chat to another representive.
Raymond Law(14:42:36): Hi Jana.
Jana(14:42:58): Hello.
Raymond Law(14:43:23): I was promised a discount of $15 per month when I upgraded the the Extreme HD plan and my Internet speed to 25/15, but I am not seeing the discount on my bill.
Raymond Law(14:43:41): Account # is xxxxxxxxxxxxxxxxxxxx
Jana(14:43:57): I will be happy to review your account; one moment.
Jana(14:44:08): Do you have home phone service?
Raymond Law(14:45:00): No, when the offer was made to me, he said no home phone is required.
Raymond Law(14:45:14): only the upgrade to 25/15 was needed for the $15/mo discount
Jana(14:45:36): Ok, one moment.
Jana(14:47:59): I see the bundle promotions as: 3 Months Free HBO/Cinemax and 24 Month Price Guarantee. I do not see anything about an extra $15.00 per month discount.
Jana(14:48:30): Did you just add your Wireless to the bundle too?
Raymond Law(14:49:51): Yeah, he told me I would get $15/mo off if I upgraded to 25/15 and combine my FiOS and wireless bills.
Jana(14:50:48): I cannot add a $15.00 per month credit to your account. Maybe he was referring to the extra discount that you are supposed to get for adding your Wireless billing.?
Jana(14:51:34): Let me check that part of the bill; one moment.
Raymond Law(14:53:03): I remember clearly that he said only the 25/15 upgrade and bill combining are required to get $15 off.
Raymond Law(14:53:31): Thanks.
Jana(14:53:57): I do not see it on the Wireless billing either.
Jana(14:54:17): I apologize, but I am unable to assist you with this issue through chat. Please contact our Consumer Sales and Solutions Center directly at: (800) 837-4966_Monday through Friday, between 8:00 AM and 6:00 PM Eastern Time.
You will be prompted for your telephone number by our Voice Response Unit. To ensure protection of your personal account information and expedite the handling of your request, please have your Verizon account number or bill available.
Our representatives will be happy to help you.
Jana(14:55:28): Thank you for chatting with us. The department to which we have referred you will be able to assist you. If you have any additional questions that we can assist you with, please do not hesitate to contact us again.
See how customers are helping customers on our Verizon Forums website located at: http://forums.verizon.com
Raymond Law(14:55:39): Jana
Jana(14:56:16): Yes.
Raymond Law(14:56:20): I’ve tried the phone support but they were being very rude and insisted a home phone is required, which is not true with my offer.
Raymond Law(14:56:37): I don’t want to be harassed yet again with your people on the phone.
Jana(14:56:48): I’m sorry. I cannot add a discount to your service.
Raymond Law(14:56:48): I will just take this to BBB instead then.
Jana(14:57:42): I have noted your account with the information you provided.
Raymond Law(14:58:15): Here’s something you can help me in the mean time.
Raymond Law(14:58:41): What is the TV portion and what is the Internet portion of my FiOS bill regularly per month?
Jana(14:59:32): One moment.
Jana(15:00:50): Looks like the normal rate for the TV is $57.99 and the Internet is $64.99.
Raymond Law(15:02:34): The bundle price Cathy told me was $94.99, which was correct.
Jana(15:02:51): Ok.
Raymond Law(15:03:34): If I am not getting $15 discount as promised, I will downgrade my speed back to 15/5 which was what I have before the upgrade. How much would my bundle price be if I do that?
Jana(15:03:40): That would be the bundled rate.
Jana(15:04:16): Let me look at your previous bill, one moment.
Raymond Law(15:06:01): okay thanks
Jana(15:07:02): It was $84.99 and the TV portion was also different.
Jana(15:07:32): Shows TV Essentials $47.99 and the Internet at $44.99 with a bundle discount of $7.99.
Raymond Law(15:08:20): I want to know how much would it cost me if I keep my Extreme HD TV plan and use the 15/5 Internet plan.
Jana(15:08:40): Ok, one moment.
Jana(15:11:48): $84.99
Jana(15:12:29): That is the Double Flex Rate.
Jana(15:13:04): That, of course, would not include your Wireless.
Raymond Law(15:13:11): What does that mean?
Jana(15:13:27): That rate is just for the Internet and TV.
Raymond Law(15:13:39): Right, of course I will have to pay wireless separately
Raymond Law(15:13:55): Now if I combine both bills, will I get a discount?
Jana(15:14:45): I cannot assist you with that. You will have to call in to re-bundle your services.
Raymond Law(15:15:20): Extreme HD + 25/15 = $94.99
Extreme HD + 15/5 = $84.99
Correct?
Jana(15:15:32): When I was looking up the rate for the lower Internet, I did not see an option to include the Wireless.
Jana(15:15:52): That is the information I see.
Raymond Law(15:15:58): See, that is the reason why the $15 off per month was offered!!!
Jana(15:16:31): What was the reason?
Raymond Law(15:17:10): Combining the wireless bill to get $15 off and to do that I had to ugprade to 25/15 so you see the option to combine the bills.
Raymond Law(15:17:38): That was why I was offered $15
Raymond Law(15:17:43): But now you guys are not honoring that
Jana(15:17:55): No, I was just in an order to change the bundle.. I have never ordered a bundle to include Wireless.
Jana(15:18:07): I am not in the order center.
Raymond Law(15:18:43): I am not accusing you, I am just saying that they didn’t honor the offer they promised on my bill.
Jana(15:19:04): Your account show that you have a Triple Flex bundle; triple would be your TV, Internet and Wireless.
Raymond Law(15:19:30): ok, so what is that bundle price then?
Jana(15:19:40): I cannot change your bundle or add an additional discount.
Raymond Law(15:19:44): I am trying to see how much I can save by changing it back to 15/5
Raymond Law(15:19:49): Can you change my 25/15 plan to 15/5 please?
Jana(15:20:05): I would say it is going to save you $10.00 per month.
Jana(15:20:41): No. You have to re-bundle with a new comittment and I cannot do that here. You will have to contact the Consumer Sales and Solutions Center.
Raymond Law(15:21:05): Can I get a transciprt of this chat?
Jana(15:21:37): You can copy and paste it to a Word document I suppose.
Jana(15:21:52): I do not have any way to send a transcript to you.

Rails Rumble 2009
I participated in last year’s Rails Rumble and decided to do it again this year. Our app this year is MovieTwitvia, a fun twitter movie trivia app. I don’t really have any new thoughts than last year. However, Andrew Ng, one of our team members have written up a post about his thoughts. 
Intrideas Present.ly has been nominated as a finalist in the WebWare 100 Communication Category
Present.ly has been nominated as a finalist in the WebWare 100 Communication Category. We’re honored to be chosen from a pool of more than 5,000 applicants to be one of the 300 finalists to compete for the title.
The WebWare 100 is a yearly contest held by CNET that allows the public to pick what the 100 best web applications of the year are. Past winners included such products as GMail and Amazon MP3, so we’re very excited to be included as a finalist for this year’s selection.
Voting is open right now, so please vote for us! We think that business micro-communication is an important next step in the future of communication, and your votes will help validate that and move it even further into the mainstream. Thanks for your support. 
Easy or Hard?
I had the following conversation with a colleague about a client project recently.

At that moment, it strikes me that sometimes I want the easy ones but at other times I want the hard ones. But why? After some thoughts, I concluded with:
I want the easy ones because they are easy and quick, but annoying and boring. And I want the hard ones because they are challenging and interesting.
I think the following matrix describes it best:
|
Easy |
Hard |
| Annoying |
- Change copy from List Users to Search Users
- Rename the column from fee to amount
|
- Change all occurrences of this to that while Replace All would be too dangerous
- Modify all images to be half the size and with a different image format/extension
|
| Interesting |
- Make sure we can seamless deploy to staging and production with ease using Capistrano
- Make changing the type field also changes the available choices for the month field in the form with javascript
|
- Charge a recurring fee with PayPal and ActiveMerchant when it is not inherently built in, and with lots of PayPal docs to read
- Style the site with HTML, CSS, SASS according to this professionally designed PSD with a lot of croppings
|
Do you get the point?
As software engineers or programmers (sometimes interchangeable terms IMO), we like to solve challenging and interesting problems, regardless of difficulties. Ideally, we like everything to be in the easy and interesting quadrant, but we certainly like (sometimes prefer because it is also challenging) things in the hard and interesting quadrant as well. We would accomplish things in these two quadrants with our fullest attention and best effort.
Stuff that belong to the easy and annoying, and hard and annoying quadrants bore us. We naturally pay less attention and try to do them with spare time. However, they still need to be done. They become a drag.
Now we understand the matrix, but what can we do about the drag?
This is what I think.
I may feel ActiveMerchant is a joy and interesting to work with, but someone else may think it is a distraction to the project and just want to settle with using Authorize.net when it is already supported by ActiveMerchant to do recurring payment.
I may feel having to crop all images again and save them in a different format is a waste of my development time, but a photographer may actually enjoy such work and may even add a drop shadow to make the images look better.
The difference is in the interpretation.
Interpretation
Different people interpret the same thing differently based on their own level of interest/time/concern, …/etc. That is a fact, not an argument.
In software development, instead of the project manager assigning tasks to each engineer, programmer, QA, you name it, based on time, skill levels, familiarities with certain code pieces, scopes, existing client relationships, maybe, just maybe, it is better to ask each person which of the tasks they have the most interest in and then assign tasks based on level of interest. That way, each person on the team will put forth his/her best attention/effort to accomplish them.
Potential pitfalls
- What if none of the tasks interest me? Maybe put that person in a different project that has tasks that interest him?
- What if many people are interested in the same task? Who gets to work on it? Maybe pair programming in which several people can participate and can have inputs?
- If I keep picking tasks that seem easy (on the surface), would it make me look lazy?
- If I pick several hard tasks, I may make myself too busy.
Again, we should not be blind folded by interpretaion. I may think it is easy but someone else may think it is interesting and solve the task better. I may think it is hard but since I am so interested, I may solve it with higher efficiency, hence less time.
The above is just a thought. I have not actually tried it to see how well the process works. However, since project management is so boring and annoying to so many people. We may as well put a different interpretation to it. It certainly is a paradigm shift in project management. 
Moving from Typo to WordPress
I recently moved my blog from Typo to WordPress. Typo served well and it was written in Rails. However, it was more difficult to upgrade and I just don’t have enough time to maintain it and keep it up to date. So it has been running at version 4.1.1 which requires Rails 1.2.6. So a change is imminent and I found a couple resources by Stuart Johnston and Max Newell.
Those are GREAT starts!. However, I had to modify the migration script for my Typo version (4.1.1) and the latest WordPress version (2.7.1 at the time of this writing). Fortunately, the script is just pure SQL. That means I had to inspect the Typo and WordPress database structures to correctly map the tables and columns between the two databases. It is not the funnest thing in the world though, but this has to be done. If you have other versions of WordPress, I recommend you upgrade to the latest version first. That way, you don’t have to worry about WordPress’s table structures because I already did this for you. If you are using a different version of Typo, feel free to modify this migration script and post feedback.
Here are the steps that you need to take after grabbing the script:
> mysqldump typo_db articles_tags tags categorizations categories contents feedback > typo.sql
> mysql typo_db < typo.sql
> mysql typo_db < typo_4_1_1_to_wordpress_2_7_1.sql

PayPal Recurring Billing with ActiveMerchant in Ruby on Rails
Home
|
|