Build A Website With A Ruby on Rails Based CMS

Sometimes you just want to put up a nice looking website and spend the balance of your time customizing it, integrating it and styling it.  Sometimes you just to put up a website fast.  If you want to build a website with a ruby on rails based content management system (cms), this article contains a list of open source content management systems built with ruby on rails that you may want to check out.  If you are looking for PHP or Python based web content management system options then you may find an earlier article that I wrote to be more helpful.

My list of Ruby on Rails based CMS Packages:

BrowserCMS
– An open source CMS package by a Bethesda, MD based company (BrowserMedia) that has a large collection of features (called “modules”), and plugins.  There is one main contributor (a MD based developer) out of 37 total.  Unlike many of the other open source projects mentioned in this article, BrowserCMS’s core contributors appear to be former employees of the company that created it (BrowserMedia).

Jekyll
– Described as a ‘blog-aware, static site generator”, Jekyll has around a dozen core contributors including ones active presently.  GitHub Pages are powered by Jekyll, so you can easily deploy your site using GitHub for free—custom domain name and all.  Hosted on Github (view contributions).

Nanoc
– Has 58 contributors, but one who is responsible for the bulk of the effort.  Hosted on Github.

Nesta
 – Written in Ruby using the Sinatra framework. Content is stored on disk in plain text files (there is no database).  Nesta is an active project with a handful of plugins, but it has one main contributor who is responsible for the bulk of the effort.  Has a few themes, or it can be customized.  Hosted on Github (view contributions).

Radiant – Has 51 contributors and a growing collection of extensions, but the number of contributions to the project have slowed down this year and are due largely to one contributor (a DC based developer) .  There is a live demo up so you can check out the backend, etc. Hosted on Github (view contributions).

Refinery – With 353 contributors and a growing collection of extensions, Refinery is popular and well supported.  Hosted on Github (view contributions).

Spree Essential CMS – A CMS companion to Spree Commerce, a popular Rails based eCommerce system that does not appear to have been updated since 2012.  The project has 7 contributors and a polished website.  Hosted on Github (view contributions).

I am plan to spend some time with a few of these, probably Refinery and Nesta.  Maybe Nanoc which sounds interesting.  I know the lead contributors to Radiant and BrowserCMS so I will probably try both of them out.  Spree Essentials looks interesting given that I have a Spree site in the lab right now, but this project looks a bit out of date.  I will try to write about my experiences with them.

If I missed a CMS, gallery or eCommerce option let me know.

  
Add Comment Register



Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Why Asynchronous Learning Falls Short

Having participated in two hack day events, one hack night event, series of classes via Coursera, and two CodeAcademy tutorials since August, I feel like the online options could be significantly better if they would just accept that asynchronous learning falls short.  I could probably go a bit further and say the same thing about MOOCs, but I won’t.  I will explain.

Wikipedia defines asynchronous learning as “a student-centered teaching method that uses online learning resources to facilitate information sharing outside the constraints of time and place among a network of people.”

By contrast, Wikipedia’s definition of synchronous learning is “a learning learning environment in which everyone takes part at the same time. Lecture is an example of synchronous learning in a face-to-face environment, where learners and teachers are all in the same place at the same time.”

Now don’t get me wrong, I am not saying that there are not good parts to asynchronous and synchronous learning models.  The real problem that I am talking about today is when something is too asynchronous or synchronous.  In plain english, there are situations where the group helps and others where the group hurts.

A closer look…
CodeAcademy is a great example of Asynchronous learning.  So is Coursera.  With CodeAcademy you are basically out there on your own with no peers and no support.  A student taking a CodeAcademy tutorial (I don’t know that I could call it a course) can ask a question, but the forum aspect of the site is more or less dead.
codeacademy

 

 

 

 

 

 

 

The same is true of Coursera. There are discussions on Coursera, but they just don’t seem to accomplish a whole lot.  This is a unique challenge with MOOCs.  You simply have more people who need or want attention or help than you have time to provide it.

A Few Possible Solutions
My thinking about this was initially instigated by a conversation that I had someone who recently taught courses for Standford’s online high school who suggested to me that there needs to be something real time and rapid fire, almost like SMS messaging.  A few months back an Asynchronous learning company flew me out to San Francisco to talk about me joining their team to help spearhead product at their startup.  I had this exact discussion with them back then too.  It was not a company that I would work for or advise, but it was certainly an interesting thought exercise.

Facebook has done a nice job of evolving discussion groups so that they are more dynamic and almost real time.  I guess you could do something like that too.  A Facebook group is almost like a Chat Room.  I am sure there plenty of reasons why you do not want to have real time discussions around MOOCs and asynchronous learning sites, but I can’t think of a single one that is compelling.    Ultimately, I think that this is something that is going to happen one way or another.

If Coursera could figure out a way to blend the real time discussion and group work aspects of the synchronous learning model then I think their offering would be a lot more compelling. For starters, it would make it a lot easier for people to practice what they are studying if there were people who could help them or encourage them in real time.  As it is, MOOCs, tutorial sites and other blended learning options are a bit too quiet.

Another possible solution to this challenge is for the providers to be more responsive.  Web apps have services like Olark, which I, that allow a customer or user of a site to ask a question in real time.  You do not have to support this sort of interaction all the time, but if you held some office hours and made this an option it would be a lot better for the students.

This is certainly not going to resolve itself overnight.  Schools are starting to look to blended learning models as a way to allow students to master materials outside of the classroom in a way that is more engaging.  These are most often asynchronous.

  

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Things To Do To Help Your Concentration While Coding

If you find your concentration wandering while you are trying to code, here are a few things to do to help your concentration while coding.  In this really short post I will discuss the important questions of tea vs. coffee, how to turn off Facebook or turn off social media distractions, music for concentrating while coding, and other productivity hacks that help me get through the work day.

The first thing you can do is very easy.  You can install an app called Self Control that helps you schedule social media downtime so that you don’t find yourself checking Facebook, Twitter, etc.  The app is free and you can download it HERE.

The second thing that you can do is listen to music that does not have any vocals.  I find that piano does a very good job of this for me.  So does some 80’s and 90’s techno music.  I have a friend who likes to listen to dubstep.  If you go with piano like I do sometimes, Glen Gould’s recording of Bach Goldberg Variations is a good choice.  You can play it in the background on YouTube (link).  His selection is just under 45 minutes long so you know that when it stops that you are due for a break (e.g. get up an stretch, go to the gym, get lunch, make some tea).

This worked so well for me after a couple of times that I did a search of YouTube for  “45 minute piano concentration“.  It turns out that there are a ton of options.  A major downside to using YouTube is that you get interrupted by annoying commercials.  So maybe use it to figure out what you like and then head over to iTunes or wherever it is that you prefer to get your music.

Music can also be useful for changing the mood.  I watched an in interview of Olympic gold medalist and swimmer Michael Phelps a few years ago.  He was asked what he was always listening to right before he got into the pool at a swimming competition.  He answered: “Rock Bottom, by Eminim” which surprised me. If you listen to the song it is about putting your everything into performing.  Whether it is a song like Rock Bottom or something by a popular rap artist or dubstep, music can help put your mind in the right place.

Something else that I have found that helps is to get a lamp with an incandescent bulb and put it right next to where you sit. This may not always be an option (e.g. some offices), but it really helps keep the fluctuations of the sun from creating a distraction.  I also find that it helps reduce eye strain.

For a really long time I thought that coffee was a good concentration booster, but it seems to be a bit more like a firehose that turns off quite suddenly.  The acid level of coffee is also a factor.  A few office mates in the incubator that I had my startup in not that long ago went out and got desktop sized personal tea kettles.  You can get one that just heats the water and then you steep your own tea using the regular plain old tea bags that you can buy at your local grocery store or you can get a higher end personal tea kettle with a built in infusion basket so you can do a little tea hacking for fresher or stronger tea options.  I have to admit that my sense for tea was of the tea bag variety until I started hanging out at Teaism here in DC.  I had a green tea that was more like a double espresso.

Here are a few options:

KRUPS FL701850 Personal Tea Kettle (Recommended – Best Overall)

Has infusion basket for fresh tea leaves or tea bags.

 

Proctor Silex K2070YA Electric Kettle, 1-Liter

Just a pitcher of water with a heating element. You can buy a separate infusion basket to use in your cup so you can use fresh tea leaves

 

Proctor Silex K4087Y Cordless Electric Kettle, 1.7-Liter (Recommended – Budget)

Has infusion basket for fresh tea leaves or tea bags.

 

Proctor Silex K4087Y Cordless Electric Kettle, 1.7-Liter (Recommended with 1 & 1.7 Liter Kettles – Budget)

Has infusion basket for fresh tea leaves or tea bags.

For more coffee and tea related resources (e.g. great coffee and tea shops for co-working or for meetings) visit my Coffee | Tea | Co-working page (HERE).

  

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Does Stack Overflow Help or Hurt More?

It is no secret that developers rely extensively on web searches to find answers to questions.  The creators of sites like Stack Overflow and Quora have figured this out and take exploit it by rewarding users for asking and answering questions that get voted up.  This crowdsourced content model helps Stack Overflow and similar sties with search engine optimization.  But the way this model works does not provide any reward for users who simply point users who ask questions that have been answered elsewhere to the an off-site source of the answer that a user is looking for.

It doesn’t really benefit Stack Overflow or Quora to direct users to an external resource.  They lose advertising revenue and in the case of Stack Overflow the site loses potential job seekers who could spend time participating in what is ultimately a job board for developers and hiring team members who might be tempted to buy access to the Stack Overflow$5,000/yr resume database ($1k less than Dice.com or Monster.com, but without contact information like those sites) or post a job (an expensive one at $350+).  It isn’t like this is a new model or anything.  Consider that the popular Geek site Slashdot was acquired not that long ago by Dice.com and that Monster.com has acquired and operates sites that have a similar business model.

The only problem is that this business model creates the equivalent of a web search traffic jam.  Just like a traffic jam in a daily commute, not being able to find something is frustrating.  Only with coding this increases the cost of coding.  So as I searched for an answer to how to find something via the web today I was lead to at least 6 results.  One result was from rvm.io which contained all the information that I needed while the other five contained fragmented sets of questions and answers that more or less did not answer my question.  Those five sets were all on Stack Overflow.  I even took the time to answer a question that someone else was having.  If this had been during business hours I would have skipped answering the question, but either way a bunch of time was wasted due to Stack Overflow chumming the web with related but irrelevant content.

I guess the best way to describe how I look at this is that I feel like Stack Overflow and Quora are like anti-librarians.  I grew up with organized indexes in the form of card catalogs.  These were replaced by electronic search systems that were nearly as rigid, but available online.  Stack Overflow and Quora really should consider doing the following:
1. Hire some librarians.  At the very minimum they should empower users to act as librarians.  This should involve some sort of SEO pruning and editing of question and answer sets so that the web traffic jam problem is at least diminished.
2. Create some sort of mechanism for rewarding people for directing users to authentic, original and helpful answers.
3. Create more of a disincentive for replicating content that already exists on the web.  In the case of Quora, there should also be a much harsher penalty for self-promoting one’s own products or services.  Maybe you could call it the ethical down vote or contributor karma score.  For example: If the employee of a company answers a question about a competitor’s product in a negative way, users should be able to attach negative karma points to that employee.  That isn’t to say that the employee can’t provide a contrast between two products if that is what someone is asking for in the question.  Users could then assign positive karma points to that employee.  The same is true for self promotion, etc.
4. Conflicts of interest should be disclosed and users should be able to out someone if they have a conflict of interest in.
5. There should be a way to point to the correct answer when it is off site.  This would actually benefit a site like Stack Overflow.  For example: Here is a link to the answer to your question <link>.   Here are some additional examples <user added examples not found in the linked to resource>.

  

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Programming Languages by Dan Grossman on Coursera

If you are learning to code with the help of a local learn to code group where you live or independently or both then you should check out Programming Languages by Dan Grossman on Coursera.  Dan is an Associate Professor of Computer Science & Engineering at the University of Washington via Coursera (his official CV).  I just signed up for it.

The course has been added as an intermediate learn to code course on my learn to code study guide page.  If you have not checked out the study guide for learning programming then check it out (HERE).  You will not be disappointed.

This course is an introduction to the some core concepts of programming languages intended to make you better at programming in any language including new ones that you have never used before.  There is supposedly a strong emphasis on functional programming which is something new to me at this point.

Languages covered are to include ML, Racket, and Ruby.  You will also learn about using emacs.

The reason I list this as an intermediate course is that Dan suggests that you have had at least two prior programming courses before taking this one.  That includes intro to programming courses on Coursera.  His second video lecture takes you through some things that you should be familiar with before you start the course.  This includes some things that someone brand new to programming will be intimidated by so check for yourself.  I would recommend taking one or more of the following courses (all of these are on the learn to code study guide):
An Introduction to Interactive Programming in Python (Beginners), Instructors: Joe Warren, Scott Rixner, John Greiner, Stephen Wong – All Professors at Rice University (Started September 15, 2014/View Course Page) (Coursera)

Learn to Program: The Fundamentals, Instructors: Jennifer Campbell, Sr. Lecturer in the Department of Computer Science at the University of Toronto, Paul Gries, Sr. Lecturer in the Department of Computer Science at the University of Toronto (View Course Page) (Coursera)

Computer Science 101 (CS101 (Another version of this course HERE)), Instructor: Nick Parlante, Professor, Stanford) (Self Paced/View Course Page) (Coursera)

Intro to Computer Science (CS50), Instructor: David Malan, Professor, Harvard (Fall 2013 (EdX)

If you are local to DC or Bethesda let me know – I would enjoy having a small study group for this course.

  

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

DC Startup Sampling

I met some interesting startups at an event held today at the DC Building Museum called DC TechDay.  It was an basically just like Tech Crawl East that was held in Baltimore a couple of times a few years ago if you have ever been to that.  Companies had tables and basically tried to get people to check out what they were working on.  I asked everyone I talked to why they were there and nobody was quite sure.  The event website described it as a “massive science fair for startups” with “the highest caliber investors and tons of press” which is pretty accurate.  The only investors that I encountered at the event were Northern Virginia LP’s invested in small local venture capital funds who were there because the companies they had founded were there.  I did not notice any press, but I am sure they were invited.  There were small number of startups from New York and one from Indianapolis.

I met a lot of the usual types of startup hopefuls at the event.  There were a lot of people who did not know what they were doing.  You can spot them very easily: they put their sign so high that you can’t see it as you walk by their table or they use a font size that is impossible to read.  If you look at their website it will probably be similar.  What is surprising about these startups is how many of them, when I asked, told me that they had raised money.  Quite a few told me that had raised $450-500k.  Nearly every one of these told me that they had off-shored their development to Ukraine or Russia.  I guess you have to start somewhere, but it is really interesting who gets funded sometimes.

There were some clear standouts in the crowd that I am glad to see here in DC:

spotluck – a Bethesda, MD based company offering a free mobile app that gives gamifies local coupons that is in the Apple iPhone App Store and in the Google Play app store.  These are smart guys and they should go far.

Piper – a DC based company that lets you register your credit card and get a receipt sent to you electronically when you purchase something at a participating point of sale location.  They partner with point of sale (POS) companies to accomplish this.  The founder moved to DC from Seattle and passed on Atlanta, Manhattan and San Francisco to be here.  These ladies are smart and they should go far.

I do not usually take the time to point out companies that rise above the crowd so let me just add that I was really impressed with both of these teams, their products, and that I am really glad to see them starting up here.  It makes me feel like the DC startup community is really doing something right if it has these companies and these founders here.

  

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Job Interview Insanity – I Nearly Fell Out of My Chair Laughing

I was having lunch with my wife when she started reading this blog post by author David Thorne to me.  I can’t remember laughing so hard.  The post concerns Job Interviews and that is all that I am going to say.  Enjoy!

  

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>