RubyConf5k 2014 in San Diego

We were proud to organize and sponsor the RubyConf5k in San Diego for a second time. 75 conference attendees woke up early after a late night of Ruby karaoke for a scenic run around the marina. The camaraderie of the Ruby community was highlighted by the support the runners showed for each other. Many running a 5k for the first time. Congratulations to all the participants. Here are the official results.

Read More

eComic Con 2014

Halloween is a special time at CustomInk, especially for a group of technologists who have a healthy appreciation for Sci-Fi and comic books. This year, our eCommerce group decided to hold an eComic-con and let our imaginations run wild.

Read More

Welcome Arild Shirazi!

He beat us to the punch, but we'd like to give Arild a warm welcome to CustomInk.

Read More

Managing Your Local Project Repos

Git is great for managing a project. And Github is a great way to share your git managed project with your teammates and the world. But, how do you manage all of those projects locally? I'm not claiming this is the only way or even the best way. It's just my way of managing the repos I need to have locally. So let's get down to it.

Read More

Open Sourcing a Gem: Part 2

Considerations when Open Sourcing When open sourcing a gem (or any project, this post can be generalized to not just focus on gems), there are a number of things to consider. The first check is to ensure that the use case is general enough that it is likely to be helpful to other parties. Though the project might never gain many external users, it is a good sanity check before taking on the work to open source the project. Following...

Read More

Better Hash Injection using each_with_object

A common Ruby pattern for injecting values from an Array into to a Hash is to use the Enumerable#inject method and pass the hash as the memo. If you had an enumeration of User objects, you might convert them to a hash with something like this: # build a hash of { name => email } users = User.all users.inject({}) do |memo, user| memo[user.name] = user.email memo # you must return the memo each time! end While this will reduce...

Read More

Understanding and Using Sass Load Paths

One of the biggest hurdles in effectively using Sass is correctly setting the load path when using Sass libraries. Surprisingly not all libraries set up the load paths correctly. Some libraries add themselves to the Sass.load_paths or the SASS_PATH environment variable, but stomp on paths that were already loaded, which introduces problems like requirements for the order dependencies are loaded. It is clear that the current state of things could use improvement.

Read More