Refinery Gem - Content Management In Rails
As a marketer and website manager, I’ve spent a lot of time building and updating site content in many different content management systems. Wordpress, Typepad, Drupal, Joomla and others all became good friends of mine, some more than others. Wordpress was always my favorite for many reasons. It’s very easy to manage and update content, even for non-technical people. There’s a huge community of designers and developers who build templates for Wordpress implementations, not to mention countless plugins that make integrations fairly easy - although admittedly I’ve had plenty of problems with those WP plugins.
As a newly minted developer however, my perception of a CMS has changed significantly. While Wordpress may be great for static content sites with minimal functionality, Wordpress can quickly reach its limitations when it’s asked to manage large data sets or perform complex functions.
It was for these reasons that I was excited to learn about the open source Refinery CMS gem for Ruby on Rails. The platform incorporates the front-end ease of use of Wordpress with the powerful MVC backend of Rails, all bundled up (yes, I’m going there) in a developer friendly gem. In my opinion this makes for a winning combination. There is also a large community supporting Refinery which makes integrations a snap. In fact, here’s a list of some of the Refinery engines. And of course there’s the ability to scale a rails app quickly and efficiently, including data integrations, account management, secure payment processing and much more.
A quick google search on Refinery will also brought up a long list of favorable reviews (here’s one of many) about Refinery. Other developers who have implemented the Refinery CMS claim that it’s fast, reliable and scalable, all wrapped in a easy to use novice-friendly UI. Did I also mention that Refinery is a completely open source project?
All in all, Refinery is definitely a gem that I’ll consider the next time a CMS type project comes along. If you’re interested, go check out Refinery CMS for yourself.
At this point, learning to code is simply about understanding how the world functions.
Basically sums up my third week in the Web Development Immersive at General Assembly. Loving every minute of it.
A Failure’s Learning
As many smart people before me have said, failure is a necessary evil on the path to success. I personally could not agree more with that statement. I believe failure is absolutely necessary not only to help one learn and grow but also to appreciate the successes that much more. In much the same way that happiness can only be appreciated by those who have experienced sadness, success can only be appreciated by those who have failed.
While looking for an article about failure, I came across many references to the ‘failure rates’ of startups. In my research, I came across an interesting blog post written anonymously titled “My Startup has 30 Days to Live”. The post describes a situation in which the founder finds his (assuming the author is male because of reference to “bromance”) company in a spiral towards an inevitable failure with, you guessed it, only 30 days to live. The author reflects on the mistakes he made along the way including building a team of people he loved, but couldn’t exactly build a sustainable company, and joining an accelerator followed by rounds of VC funding. Interestingly the exercise of writing his thoughts anonymously seems like a very therapeutic one in which he realizes that in the end he’s happy he quit his job and decided to start a company. While the fear of not being able to pay his staff are certainly terrifying, he still manages to see the bright side of things.
I’ve come to realize that people in the US (that’s all I can speak for) are general pretty good at taking failure on the chin and continuing on. The US has a culture where failure is perfectly acceptable and, in a lot of cases, even desired. There are countless stories of people in professional settings who have been rewarded for failing, from the VCs who will only invest in founders who have failed, to the managers who refuse to fire employees that made a big mistake because in their eyes, they just spent $X to train that person and to make sure they won’t make the same mistake again.
On a personal note, I can think of many failures of mine, both professionally and personally. But I’ve always made an effort to not dwell on those failures as negatives, but instead look at them as positive learning experiences. On the professional side, I spent many years in positions where I wasn’t entirely happy, but stayed in those positions for fear of falling behind in the great race to success - something that today I consider a failure that I have learned from. I’ve also spent a lot of time working on multiple projects that ultimately failed for a variety of reasons ranging from inexperience, lack of vision and a desire to make things perfect thereby missing the market entirely. But the wealth of experience I have gained from those experiences has been invaluable to me.
In the end, I leave you with this quote by Obama:
“You can’t let your failures define you you have to let them teach you. You have to let them show you what to do differently next time”
To Fingerprint or Not
In light of Apple recent announcement to include a fingerprint scanner in the iPhone 5s, a lot of discussion has taken place around how secure biometric readers really are. The biggest question detractors ask is, do you really want your password being something that you leave virtually everywhere and you can never change? The logic is hard to deny. In an article by Dustin Kirkland on his blog From the Canyon Edge, Dustin makes the point that fingerprints should be reserved for usernames only. In his opinion, “Biometrics cannot, and absolutely must not, be used to authenticate an identity.” While it may seem like something form a spy movie, recreating a fingerprint from a picture is easier than it seems, as the Chaos Computer Club recently proved. The author goes on to say that a passphrase that is independently chosen, changed and rotated is the only true way to maintain security.
The only value Dustin sees in the biometrics scanners is to customize experiences on a device shared by many users. Or in other words, having your fingerprint act as a username.
While most commentors on Dennis’ article agree wholeheartedly that biometric scanning is un-secure, there are a few who bring up valid points in disagreement. For example, one commentor relates this to the locks on your home which require a key which can easily be stolen by someone. Even more, that someone could watch you enter a passcode, or even hold you at gunpoint if they really want something. Another commentor adds that this is more of a convenience factor the majority of people. He states that 50% of iPhone users don’t even use the PIN lock on their phone. The most logical reason being that it’s to inconvenient to type in a passcode every time you want to use your phone.
In my opinion, it’s more important to look at this issue from a relative perspective. In the end, nothing will ever be 100% secure. So we must ask, what is comparatively more secure and convenient enough that people will actually use it. Is it better to have someone not use a passcode, or use a biometric scanner this is super convenient (assuming that it works) and that realistically is not “easy” to hack. I think many of the detractors of using biometric technology are not considering “everyone else” in their analyses. They go so far as to say, “Well, I’m a techie and I wouldn’t use it in the .0001% chance that someone could recreate my fingerprint, so that means no one should use it.” Such blanket statements are dangerous in my opinion and fail to recognize that not everyone is the same and not everyone sees value in NSA level security (or insecurity) to access their stuff.
I miss mountain biking.
Focusing on Elon’s big, fat, hairy, awesome dreams makes me want to eat a pint of Ben & Jerry’s Phish Food and punch the guy in the face, which isn’t a good idea.