Admin / August 04, 2011

Origin of Bootyard Icon

Creating an icon would be one of the most difficult task we tackled in Bootyard. Sure we could just add up letters, color them with bright attractive colors and take it as our icon, but that’s not how we do things.

We started Bootyard with the mindset of creating a company that would do great things, things that would impact people even after our lifetime. The icon should symbolize that kind of mindset. As batman himself said, “A man is just flesh and blood a...

Admin / April 15, 2012

What's up Bootyard?

It’s been a while since this blog has moved. Maybe because we were busy, or we just completely forgot that this exists. :) So let me enumerate what has happened since. 

New Office

We moved to a private office! Yup, we don’t work on a co-working space anymore. As much as we like our officemates before, it’s certainly great to have your own working space. 

New Product 

After laun...

Ademar / October 04, 2012

hack2Hatch Learnings

One way to improve our startup community is to share the learnings. We’re happy because we’re given a chance to share our learnings from Hack2Hatch to a group of startups headed by Markjeee, Dave and Tins.

Ademar shared what Codetoki learned from h2H.

Hack2hatch Learnings Summary 

The main point we highlighted was how important the business plan is. We’re not referring to the traditional business plan. ...

Admin / November 04, 2011

Setting up MongoDB and Mongoid in Rails 3.1

We need to first set-up the necessary gems:

gem 'mongoid', '~> 2.1'
gem 'bson_ext', '~> 1.4.0'

Then we use mongoid instead of active_record. On your config/application.rb change:

require 'rails/all'


require "action_controller/railtie"
require "action_mailer/railtie"

Ademar / July 20, 2012

PSIA Invitation

Last June 14, 2012, we were invited to present Codetoki idea and share our experience in participating startup competitions to PSIA (Philippine Software Industry Association) members of PD/SIG (Product Development and Special Interest Group). The meeting was held at the Asian Institute of Management in Makati.

The first speaker was Ms. Maoi Arroyo, Founder and CEO of Hybridigm Consulting Inc., the Philippines’ first Bio-tech consulting firm. She talked about the aspects of co...

Ademar / July 11, 2012

See you when our paths cross again!

In the past month, a lot of changes has happened to Bootyard. Some were great some not so great but today would stand out from all of them. One of Bootyard’s original team member, Gerda Decio, is officially leaving Bootyard to go back to Samar and manage their family business.

It’s a very sad day for us, especially for me since I was working with Gerda ever since I got paid for programming. There were tons of great memories that we shared. Let me share a few of them:

Admin / November 23, 2011

Customize your fonts with Cufon Font Replacement

Here in Bootyard, we use css to style fonts for our websites or apps. But then, they still look boring and common especially when we get to visit some good-looking websites where they have custom style of texts. We’re pretty sure that it weren’t just done with the use of css. So, how did we do this?

A developer will immediately use @font-face. But the availability of this feature is limited, so we still prefer to use Cufon.

What is Cufon? Cufon is a font-repl...

Ademar / May 26, 2015

How do you launch a startup when you don’t have any technical experience?

There are a lot of success stories we can read online about non-technical founders that started out with a great idea and have successfully grown their startup into a profitable company even if they don’t have a technical background. A few list of non-technical founders are marketers, real estate brokers, teachers, public relations officers, financial analysts and more. Then we ask how did they do it? How did they manage to build their idea into a working product without any technical experti...

Ademar / October 14, 2014

Angular JS Redirecting to another page

I needed a way to redirect to another page inside an AngularJS controller, specifically after successfully submitting a form to the server.

There are lots of ways to do this, one way is to call window.location, however I wanted a more “angular” way of doing it.

Good thing I found out about $loc...

Ademar / July 15, 2013

ETags in Rails 4

What are ETags?

ETag or entity tag is part of HTTP that is assigned by a web server to a specific version of a resource found at URL. In other words, ETAG is a key we use to determine whether a page has changed.

ETags in Action

Here’s a diagram on how etags works:

Here’s a breakdown of how ETags works in Rails:

First Request 

1. Render the entire re...

Ademar / November 25, 2012

Y4iT comes to Cebu

Last November 22 - 23, 2012 the biggest IT event in the Philippines comes to Cebu. The Philippine Youth Congress on Information Technology or commonly called as Y4iT (Youth for IT) is an annual event hosted by UP Information Technology Development Center (UPITDC) that provides a venue to experience activities and hear talks about IT and IT-related topics from various speakers in the different fields in IT to hone the global competence of IT practitioners.

Together with CeBuin...

Admin / November 15, 2011

Setting up Compass Rails 3.1

We’ve been using Haml and Sass ever since. Haml and Sass is great and pretty easy to setup. Here are the steps how:

Step 1: Add this to Gemfile

gem 'compass', '~> 0.12.alpha'

Step 2: Add this to your config/application.rb

stylesheets_directory = "#{Rails.root}/app/assets/stylesheets"

Ademar / August 15, 2013

Thinner Models with PORO

The Rails convention is to put your business logic should be on the models. Here’s a typical example:


class UsersController < ApplicationController
  def suspend
    @user = User.where(user_id: params[:id]).first
    redirect_to @users, notice: 'Successfully suspended user!'



Ademar / November 08, 2012

GDG DevFest Cebu 2012

Google Developer Group (GDG) Cebu had its very first GDG DevFest in Cebu last November 7, 2012 at Quest Hotel. A lot of participants from the academe, industry, startups who are eager to know more about Google Technologies joined the event. We’re happy that we were invited by Mr. Jerome Locson to be part of the panel for Let’s Startup. Thanks Jerome!

Ms. Pauline Wade of CeBuinIT, Mr. Dave Overton representing for SW...

Ademar / December 07, 2018

When should I use helper a method vs a model method?

When should you use a helper method vs a model method?

IMHO, you have to read the entire codebase in order to decide whether you put the method on a model or a helper.

Here's an example on one of our project, the Listing model has these new methods:

class Listing < ApplicationRecord
  def seven_day_pickup_cost
    seven_day_rental_price.to_i + cleaning_fee

  def seven_day_post_cost

Ademar / August 17, 2013

Decorators for Views in Rails

What are Decorators? Decorators help extract view-specific business logic from models into decorator class. Here is an example code that puts view-specific business logic in the model:


class User
  include Mongoid::Document

  def is_top_twenty?
    User.desc(:points).limit(20).include? self



Ademar / October 04, 2012

Codetoki's First Applicant

So Hack2Hatch is finally happening tomorrow. You can see all the media buzz, the hashtags and the facebook shares flying on the internet. It is certainly a big event, all the successful Filipino technopreneurs are coming back to help mentor local aspiring technopreneurs.

From all the chaos of working on our client projects and requirements we had to pass for Hack2Hatch, we silently deployed the new version of yesterday. 

Ademar / September 08, 2012


In 1950’s, the Philippines was predicted to be one of the tiger economies in Asia. Sadly, we missed the opportunity to deliver. Today, Bloomberg predicts that in 2050 the Philippines will be a Tiger economy. Let us not miss it this time.

In the tech scene, successful Pinoy technopreneurs from abroad like Dado Banatao, Winston Damarillo and Sheila Lirio Marcelo are trying to mimic the Silicon Valley environment, helping the Filipinos through mentorship and possibly funding the...

Ademar / July 11, 2012

Startup Scene in Manila, Philippines

Last June 13 - 15, we (Ademar, Sir Jeff of CeBuinIT and I) went to Manila. We only had 3 days so we wasted no time and visited the startup incubation centers in Manila. We went to UP Diliman and visited 4 incubation facilities: UP-AYALA TBI, Open TBI, UP Enterprise and Ayala TBI.

First stop is in UP Diliman, the UP-AYALA TBI. This is the first startup incubator in Manila.

Here’s the list of startups in UP-AYALA TBI. 

Ademar / December 21, 2018

Pushing business logic to the models

When reading Ruby on Rails code, I find it difficult to understand code where the "business logic" is scattered between controllers and model.

How do your make code more readable? Specifically how do you make Ruby on Rails code more readable?

The solution is based on this discussion:

The idea that I got from the vid...

Ademar / December 14, 2018

Avoiding errors when migrating data that involves Enums


We had a Rental model that had a column which is an enum type.

class Rental < ApplicationRecord
  enum delivery_and_return_type: %i[pickup courier post]

We needed to remove the "courier" option on the enum.

We created a migration to remove the "courier" type and change all existing delivery_and_return_type into a "post". The migration implementation is this:

class Ren...

Gani / January 04, 2019

Google Maps Overlay

One of the web applications we are working on here in Bootyard is a rental platform where users can lend and rent items online.

The platform has many features that make rental transactions easy online. Some of the features are pages where the user uploaded pictures and details of items can be categorically viewed, via categorised pages, and also be searched via a page with a search form. 

The pages where you can see the uploaded items hav...

Jescart / December 28, 2018

Sync production database to the staging database

There are two steps in Heroku in syncing production database to staging database.

STEP 1: Create a duplicate of production database into your local.

`pg:pull` can be used to pull remote data from a Heroku Postgres database to a database on your local machine. The command looks like this:

heroku pg:pull DATABASE_URL [local-database] --app [app-name-of-your-prod-database]

This command creates a n...

Gani / January 25, 2019

RSpec Missing New Table

This was after I rolled back the last migration that creates the `Comment` model, added a `is_public` boolean attribute to it, then rerunning the migration.Then I started working on the controller for the commenting feature. Doing TDD while implementing the updates on the controller when I noticed my tests fail while the controller seems to work as expected when doing the workflow on the browser.In the development database the boolean attribute is reflecting but not in the tes...

Ademar / January 11, 2019

Good artists copy, Great artists steal!

This week while I was responding to one of the OJT applications, I found out one of the answers was an exact replica of a blog article. The question was "What happens when you type an URL in the browser and press enter? Assume that you are accessing a typical PHP website. Please explain in detail.". The answer was an exact replica of this an article from a blog post from Medium. It reminded me about a quote that was popularized by Steve Jobs. "Good artists cop...

Ademar / January 18, 2019

DIY: Improving User Experience

This thought started when I read one of an interns chat on Campfire regarding one of our internal project involving property rentals. The question was:

 As a renter, how do I actually apply for a rental property?

Although the intern has fixed a few bugs on the project, he is still not familiar with all the functionalities of the application. This is not a unique situation, I for one have been in this kind of situation before. You al...

Gani / February 08, 2019

StimulusJS Ajax Functionalities Don't Work in Internet Explorer 11

Well at least for processing the response.While working on the comments feature for HURR. There was an issue, from client feedback, on the comments form that I cannot duplicate in Chrome so I tried it on Microsoft Edge and Internet Explorer. The issue was on the UI part and I was able to duplicate it in IE and successfully fixed it. Then I found another issue. This time involving the actual commenting process which does not seem to work in Internet Explore...

Jescart / February 01, 2019

Construct better commit messages using VIM

How to construct a better commit message using Vim editor?The purpose of this tutorial is to teach you to create better commit messages so the reviewer can do a more thorough review.At first, It is confusing to use the Vim editor, but I did some research and documented a step by step process to do it:

git add .

to add your changes to your upcoming commit.Step 2: Open a Vim editor.