Executing Custom SQL in Django Migrations
Since version 1.7, Django has natively supported database migrations similar to Rails migrations. The biggest difference fundamentally between the two is the way the migrations are created: Rails migrations are written by hand, specifying changes you want made to the database, while Django migrations are usually automatically generated to mirror the database schema in its current state.
Usually, Django’s automatic schema detection works quite nicely, but occasionally you will have to write some custom migration that Django can’t properly generate, such as a functional index in PostgreSQL.
Creating an empty migration
To create a custom migration, it’s easiest to start by generating an empty migration. In this example, it’ll be for an application called blog:
$ ./manage.py makemigrations blog --empty -n create_custom_index
Migrations for 'blog':
0002_create_custom_index.py:This generates a file at blog/migrations/0002_create_custom_index.py that will look something like this:
# -*- coding: utf-8 -*-
# Generated by Django 1.9.4 on 2016-09-17 17:35
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration): …django postgres python
Josh and Lele Interviewed as Experts in Leading Cloud Technologies
End Point’s Josh Williams and Lele Calò were recently interviewed for a piece that is now published on Clutch, a site offering B2B research and reviews. Josh and Lele were interviewed as experts in leading cloud technologies. The interview can be found here.
Josh and Lele began the interview by giving some background on End Point and its various offerings. These offerings include software development, hosting, consulting, and the Liquid Galaxy division.
Josh and Lele then answered questions regarding cloud technologies. These questions included technologies they work with, challenges that cloud technologies help companies overcome, and recommendation for companies moving toward cloud services. Recently, End Point has had customers using Amazon Web Services [AWS], Rackspace, OVH, Google Cloud, Linode, and DigitalOcean. Josh and Lele agree that cloud services are quite beneficial in dealing with usage profiles and load inconsistencies. Josh and Lele also agreed that when it comes to companies moving into cloud services, moving components in a modular fashion and not all at once is a key to success.
Clutch asked Josh and Lele about costs in utilizing cloud technologies. Lele …
cloud company
Ruby Fight Club

Photo by Peter Gordon
First Rule: Do Not Talk About Ruby Fight Club
This post may get me kicked out for talking about the club, but…I was asked to share a few thoughts about something we tried out earlier this year at End Point. We ran an internal meetup dubbed Ruby Fight Club to read and discuss Practical Object-Oriented Design in Ruby (POODR) by Sandi Metz.
In the past we’ve met together as a company and in smaller team or project focused groups but this was first time we used a book as the guiding, recurring topic with a smaller, committed group who made time for it. Attendance was optional and we did have some folks who opted out even though they loved the subject matter and the idea, because they knew they couldn’t make it most of the time. I think this made the group tighter-knit.
Our group of six remote engineers met weekly for one hour to discuss one chapter from the book. We worked through each chapter together which often led to Q&A sessions and deeper discussions about Ruby and computer science theory in general. Each week, one member of the team would lead the discussion. It required some preparation in advance and gave us all a chance to work on our presenting and …
books community company remote-work ruby
Surviving the Framework Hype Cycle (MWRC 2016)
Back in March, I attended MountainWest RubyConf with my co-workers Phunk and Phin. Shortly thereafter, Phin wrote about a couple of his favorite talks: Writing a Test Framework from Scratch and How to Build a Skyscraper.
I’ve found that another talk from the conference has stuck with me and I’ve referred to it several times in conversations. It is “Surviving the Framework Hype Cycle” by Brandon Hays. It is funny, engaging, insightful, and especially cathartic given the rapid pace of change in frameworks these days.
It can be tough to set aside the time to focus on a conference talk video, but I think this one is well worth it for programmers!
The 5 phases of the framework hype cycle that he identifies and elaborates on are:
- Technology Trigger
- Peak of Inflated Expectations
- Trough of Disillusionment
- Slope of Enlightenment
- Plateau of Productivity
And he shows how different groups of people with different needs can benefit at different stages, akin to settling new land:
- Pioneers
- Settlers
- Town Planners
The ebb and flow of technology fads can be a lot easier to navigate when we realize there isn’t an absolute right and wrong to technology choices, and we must consider the project …
conference frameworks
Reach customers and drive sales with MailChimp
It’s a good idea for ecommerce stores to regularly contact their customers. This not only reminds customers that your business exists, but also allows the sharing of new products and resources that can enrich the lives of your customers and clients. One of the easiest ways to stay in touch is by using an email newsletter service, such as MailChimp.
<img alt="" border="0" height="200" src="/blog/2016/08/reach-customers-and-drive-sales-with/image-0.png" title="Freddie, the MailChimp mascot" width="191"/>
MailChimp offers the regular suite of email newsletter services: lists, campaigns, and reports—but in addition, they allow an ecommerce store to integrate sales data back into MailChimp. When you have detailed shopping statistics for each subscriber, it opens new possibilities for customized marketing campaigns.
Endless possibilities
For example, imagine you have an email mailing list with 1,000 recipients. Instead of mailing the same generic newsletter to each subscriber, what if you could segment the list to identify your 100 best customers, and email them a special campaign?
Additional ideas could include:
- Reach …
ecommerce email interchange perl magento
Create categories in Virtuemart 3 with Joomla 2.5 and 3.5 programmatically
Introduction
Code that I’m going to show you is ready to download here: https://github.com/peter-hank/com_morevirtuemart
Virtuemart is an open-source e-commerce application written in PHP. It’s pretty popular with a 4% share of the whole e-commerce market (https://blog.aheadworks.com/2015/05/ecommerce-platforms-popularity-may-2015-two-platforms-take-half/). Today I will show you how to extend it and use its functionality from an external Joomla (free and open-source content management system) component.
Creating a component
We are going to create a new component to show the code in a nice and clear form. I’m using a component generator from here: https://www.component-creator.com. We don’t need any tables, models and views for the purpose of this blog post. Plain and simple component is what we need. After creating the component download it and install in a Joomla administration interface.
Component overview
The component structure looks like this:
# tree components/com_morevirtuemart
components/com_morevirtuemart
├── controller.php
├── controllers
│ └── index.html
├── helpers
│ ├── index.html
│ └── morevirtuemart.php
├── index.html
├── models
│ ├── fields
│ │ ├── …php ecommerce
Creating a recent activity feed for Thredded
Introduction
Thredded is open source forum/message board software for Rails 4.2+. The project is still alive and maintained by its author actively. For a new Rails project for a client in End Point we used Thredded as a part of an application stack. It works pretty well, but sometimes it lacks some important features. Fortunately, it’s coded very nice and easy to extend its core functionality. This time we wanted to create a recent activity feed for a current user. I wanted to share this with you because I think that it’s a popular widget in many social community sites.
Plan
We decided to put two main data sources for the feed:
- user personal message notifications,
- user forum message notifications (you may want to put some extra features here to show posts only from topics where the user is directly involved in by writing a message, for our needs it was enough to show every new post that the user was able to see).
Getting data
Let’s say that we created a WidgetController controller. How to get data that we are interested in? It’s not so difficult. First, this is how we are getting the latest 5 private messages for a user:
private_messages = Thredded::PrivateTopic
.distinct …rails ruby
Showing Your Client Measurable Progress with Video Updates
I’ve recently started working on a big new fancy project—the kind everyone dreams of—a nice budget, a great client, and lots of fun stuff to dig into. I happened to stumble on a fun and easy way to get a client a weekly update on progress, Videos!
I used Google Chrome’s Screencastify app to capture my screen along with a vocal narrative to give the client a visual update of what we have accomplished so far this week. I have been using Screencastify Lite and was really happy with the end product. Combined with Google’s developer tools device mode you can toggle between the site’s full screen or mobile view.
This is a great tool to show a client some measurable progress without going through the pain of showing them an unfinished site, letting them dig into lots of broken links, and having them inevitably stumble on more questions than answers. Plus, your client can digest the content you’ve shown them, avoid the hassle of scheduling a face to face demo, and allow them some time to compose their feedback.
Next time you need an easy fast way to show progress on a project, try a video!
clients video

