Blog

Apr
09

Learning Ruby On Rails

Posted by Michael Cindric in development, ruby on rails, Tutorials | No Comments »

Hey spoken to a few developers mainly UNI grads who are looking to get into rails and they often ask whats the best way to do so. So l thought l would put together a list of resources they can use to get up to speed.

If anyone else knows of some other ones please let me know

== General Practices ==
Dev on a Mac
Read up on TDD (Test Driven Development)
Use Growl for your Autotest notifications
TextMate – The only Editor you need
GitHub – Great space to see open source code and gems and plugins
http://gemcutter.org/

== Rails Setup ==

http://hivelogic.com/ – Has some great tutorials on getting your environment setup on a mac.

== Tutorials ==
http://rubyonrails.org
Rails Casts – Ryan Bates screen casts about all things rails related
PeepCode – Great screen casts about all things rails related

== Blogs ==

Sentia Blog
http://thoughtbot.com
http://weblog.jamisbuck.org
http://blog.jayfields.com
http://errtheblog.com

== Books ==
http://pragmaticstudio.com – Great source of books about rails and other technologies with a focus on the right practices.

Finally the only real way to learn is to try things out. Follow other developers blogs and use all the resources you can such as Google groups etc.
Don’t be scared to get it wrong its the only way to learn.

Mar
18

Crimpic iPhone app launches

Posted by Michael Cindric in client projects, development, iPhone | No Comments »

Sentia are happy to announce that Crimpic has launched on the iPhone store. To find out more information on Crimpic why not check it out at the app store here

Mar
11

Why are you still on IE7 i ask you???

Posted by Michael Cindric in development, web standards | No Comments »

It still amazes me that users are on older versions of their browsers when upgrades are not only free but they also say “Hey l am old there is a new model out there go and get it”.

The problem with web development is support for browser versions. It takes time which costs money. Now you can normally cover most of your bases by developing for FireFox. If you do there is a good chance it will work in safari and chrome as well, IE on the other hand is another issue.

Ill emit that IE8 is a huge step up but its still not perfect. Web apps should only support the latest version of browsers. I say we stop supporting old versions and make those users get with the times!!! Come on who is with me

For info on browser usage check this out

Feb
25

Because l still forget how to do copyright and trademark symbols in HTML

Posted by Michael Cindric in development, html, Tutorials, web standards | No Comments »

Not matter how many times l do it l still never remember how to to the Copyright and Trademark symbols in HTML code so here they are

© can be created with this:

©

® can be created with this:

®

™ can be created with this:

™
Feb
12

The problems with classic styles of Project Management

Posted by Michael Cindric in Business, development | No Comments »

The constant battle l have faced in this game is dealing with old styles of project management still being used today. Some clients and businesses just don’t understand that its not in their best interest to work like this.

I came across a very smart story explaining why this is not the way to go and l think it explains it best.

ProjectManagementSummary The problems with classic styles of Project Management

Courtesy of http://www.ssw.com.au

Oct
30

PayFlow recurring billing with ActiveMerchant

Posted by James Kong in development, ruby on rails, Tutorials | 1 Comment »

Today we are going to look at using ActiveMerchant to set up a recurring billing subscription with PayFlow .

PayFlow is Paypal’s payment gateway and you need to setup a PayFlow account.
IMPORTANT! This is separate from Paypal’s development sandbox. Follow these steps to setup a Payflow testing account

  1. Go to https://www.paypal.com/cgi-bin/webscr?cmd=_payflow-get-started-outside
    and fill in the details for an account.
  2. When you get to the page where you need to enter your payment information, hit Save and Exit. This will create a testing PayFlow account for you.
  3. You will be sent an email with your partner ID and your vendor login. Take note of your partner ID as this will be important later.
  4. You should now be able to login at https://manager.paypal.com/

Now that you have a PayFlow account, you can use ActiveMerchant to setup payments. For now we will muck around in irb to test that methods out.

So lets open up irb and start by including the active merchant gem and setting ActiveMerchant to test mode

kongy@Deadpool: $ irb
irb(main):001:0> require 'rubygems'
irb(main):002:0> require 'active_merchant'
irb(main):003:0> ActiveMerchant::Billing::Base.mode = :test

Now lets setup the gateway.

gateway = ActiveMerchant::Billing::PayflowGateway.new(:login => 'PAYFLOW_LOGIN', :password => 'PAYFLOW_PASSWORD', :partner => 'PARTNER_ID')

This creates the gateway that we will be using to request purchases. By default ActiveMerchant passes PAYPAL as the partner value if you leave it out. I believe that this is the default for US PayFlow account. For my Aussie one, I received a VSA partner_id. I would suggest putting it in there anyway.

PayFlow Testing only accepts testing credit cards numbers.  You can grab them from the PayFlow recurring billing documentation found here. Here is a quick list which I can’t guarantee will be up to date.

American Express 378282246310005
American Express 371449635398431
American Express Corporate 378734493671000
Diners Club 30569309025904
Diners Club 38520000023237
Discover 6011111111111117
Discover 6011000990139424
JCB 3530111333300000
JCB 3566002020360505
MasterCard 5555555555554444
MasterCard 5105105105105100
Visa 4111111111111111
Visa 4012888888881881
Visa 4222222222222

So lets create a Mastercard credit card.

irb(main):004:0> credit_card = ActiveMerchant::Billing::CreditCard.new( :number => '5105105105105100', :month => '9', :year => '2007', :first_name => 'Mal', :last_name => 'Reynolds', :verification_value => '123', :type => 'master' )

Now we are ready to start billing. If you want to setup a one time payment it is quite easy.

irb(main):007:0> response = gateway.purchase(1000, credit_card)
irb(main):008:0> response.success?
=> true

If you go into your Paypal Manager and search for transactions you should see it appear.

To setup a recurring billing we need to use the recurring method of the gateway. The recurring method accepts the amount in cents, the credit card object and the time intervals to charge the card, at a minimum. There are other options available which you can find here. Lets charge $10/month

irb(main):009:0> response = gateway.recurring(100, credit_card, :periodicity => :monthly)
irb(main):010:0> response.success?
=> true
irb(main):011:0> response.profile_id
=> "RT0000000002"

You can view the recurring billings in your Paypal Manager by clicking on Service Settings > Recurring Billings > Manage Profiles. You will probably want to store the profile_id in your database for when you need to edit details of the recurring billing. You can do it quite simply by calling the recurring method again. Let’s change the amount we want to bill to $20/week.

irb(main):0012:0> response = gateway.recurring(2000, nil, :profile_id => "RT0000000001",  :periodicity => :weekly)
irb(main):013:0> response.success?
=> true

You can see here that we no longer need to pass in the credit card since we have the profile_id. We update the amount, and change the periodicity of the billing.

And that’s it.