• Home

  • Custom Ecommerce
  • Application Development
  • Database Consulting
  • Cloud Hosting
  • Systems Integration
  • Legacy Business Systems
  • Security & Compliance
  • GIS

  • Expertise

  • About Us
  • Our Team
  • Clients
  • Blog
  • Careers

  • VisionPort

  • Contact
  • End Point at the Utah Open Source Conference

    Josh Ausborne

    By Josh Ausborne
    May 5, 2012

    End Point had a table at the Utah Open Source Conference at Utah Valley University this week. We implemented a “mini Liquid Galaxy” system for the event, and it was a big hit. Most of the other sponsors were offering services or recruiting, but End Point offered a physical item which people could touch and engage with. This allowed us to present our product and services to people, as well as make contact with people who may be interested in joining our team.

    Numerous people were really excited about the Liquid Galaxy. The most common thing that people did first when they started using it was to look for their own homes, but they quickly moved onto other areas that contained more 3D building content. They asked questions about the practical application of the system, as well how well it would play games. Multiple other people asked about the ability to build video walls with the system. One of the biggest things that people found interesting about the hardware was the 3D mouse from 3Dconnexion. It took some visitors a while to get the hang of it, but others picked it up quickly and found themselves really liking the way it interacts.

    The mini LG consisted of a headless head node, …


    conference visionport

    Instance Variable Collision with ActsAsTaggableOn

    Brian Gadoury

    By Brian Gadoury
    May 3, 2012

    As developers, a lot of what we do is essentially problem solving. Sometimes it’s a problem of how to implement a specific feature. Sometimes it’s a problem with a specific feature. Last week, I ran into a case of the latter in some relatively mature code in the Rails app I was working on.

    I was getting a sporadic exception while trying to save an instance of my StoredFile model. I encountered the problem while implementing a pretty trivial boolean field in my model, while I was playing around with it in the rails console. This is where it gets a little weird.

    The exception message:

    #<NoMethodError: undefined method 'uniq' for "":String>
    #Backtrace:
    ... acts-as-taggable-on-2.2.2/lib/acts_as_taggable_on/acts_as_taggable_on/<b>core.rb</b>:264:in 'block in save_tags'
    ...rest of backtrace...

    Note that none of my work was related to my model’s use of acts_as_taggable_on. I looked briefly at line 264 and its cohorts in core.rb, but nothing jumped out as “a giant, obvious bug in acts-as-taggable-on” (which I wouldn’t expect.) Also, the actual error is a bit suspicious. I love duck typing (and ducks) as much as anyone, but it’s pretty rare to see …


    ruby rails

    Reverting Git Commits

    Szymon Lipiński

    By Szymon Lipiński
    May 2, 2012

    Git is great, but it’s not always easy to use. For example, reverting a commit is a very nice feature. There are git commands for reverting a commit which has not been pushed to the main repository. However after pushing it, things are not so easy.

    While I was working for one of our clients, I made about 20 commits and then I pushed them to the main repository. After that I realised that I was working on a wrong branch. The new branch I should have used wasn’t created yet. I had to revert all my commits, create the new branch, and load all my changes into it.

    Creating the branch named NEW_BRANCH is as easy as:

    $ git branch NEW_BRANCH

    Now the harder part… how to delete the commits pushed to the main repo. After reading through tons of documentation it turned out that it is not possible. You cannot just delete a pushed commit. However you can do something else.

    As an example of this, I created a simple file, added a couple of lines there, and made four commits. The git log looks like this:

    $ git log
    commit dc47a884f7b303fc8b207550104f5a1de192c91c
    Author: Szymon Guz
    Date:   Mon Apr 30 12:14:21 2012 +0200
    
        replaced b with d
    
    commit 68f56d3321324bd14cd1e73d003b1e151c4d43b4 …

    git

    Profile Ruby with ruby-prof and KCachegrind

    Brian Buchalter

    By Brian Buchalter
    May 1, 2012

    This week I was asked to isolate some serious performance problems in a Rails application. I went down quite a few paths to determine how to best isolate the issue. In this post I want to document what tools worked most quickly to help find offending code.

    Benchmarks

    Before any work begins finding how to speed things up, we need to set a performance baseline so we can know if we are improving things, and by how much. This is done with Ruby’s Benchmark class and some of Rail’s Benchmark class.

    The Rails guides would have you setup performance tests, but I found this cumbersome on this Rails 2.3.5 application I was dealing with. Initial attempts to set it up were unfruitful, taking time away from the task at hand. In my case, the process of setting up the test environment to reflect the production environment was prohibitively expensive, but if you can automate the benchmarks, do it. If not, use the logs to measure your performance, and keep track in a spreadsheet. Regardless of benchmarking manually or automatically, you’ll want to keep some kind of log of the results keeping notes about what changed in each iteration.

    Isolating the Problem

    As always, start with your logs. In Rails, …


    performance ruby rails

    Streaming Live with Red5 Media Server

    Marina Lohova

    By Marina Lohova
    April 27, 2012

    Are you excited about Google Hangouts? Would you be even more excited to implement live streaming yourself?

    Today we will take a look under the hood of broadcasting and even start implementing our own mini hangout.

    A bit of theory

    Live streaming is based on RTMP protocol. It is able to transfer video, audio and generally any data in real-time over Internet between server and client.

    The most popular combination for video/audio streaming is Adobe Flash Player as a client software and a proprietary Adobe Flash Media Server as a server software. Another option is Wowza Streaming solutions.

    Luckily for us there is an open-source Red5 Media Server—​the most popular if not the only one stable of all open-source media streaming servers. We will be leveraging Red5 to dive into RTMP world and the cutting edge streaming technologies.

    Exploring Red5 Media Server

    Download and install Red5 Media Server for your environment from here. Now it is time to implement a sweeping live stream between our two laptops.

    Red5 comes with the set of demo applications (http://localhost:5080/demos/) that are very handy to base the development on. Demo applications can be installed via the Installer …


    video audio

    RailsConf 2012: What’s Next in Rails?

    Steph Skardal

    By Steph Skardal
    April 26, 2012

    I tend to walk away from every RailsConf feeling that there was a trend for each conference. In 2009, I thought the trend was Passenger, in 2010, NoSQL and Rails 3 was all the rage, and in 2011, many of the talks were related to CoffeeScript and SASS. While there was some of these technical specifics at this conference, I felt that the overarching trend this year is that several folks that are extremely involved in Rails (DHH, Yehuda Katz, Aaron Patterson, etc.) are very passionately involved in the course correction needed to keep Rails relevent.

    As I mentioned in my blog article on Day 1, DHH talked about progress. DHH focused on the limitations of progress (loss aversion) and how and why people move from curious to suspicious when working with technology. He didn’t delve into any of the Rails 4 details, but simply ended by sharing that Rails 4 will break and challenge things.

    On Day 2, Aaron Patterson covered a discussion about what it means to incur technical debt, and how developers have different thresholds of how much technical debt is tolerated.

    He talked about the types of refactoring needed to reduce technical debt. He ended his talk with a slide that said, “be …


    conference rails

    RailsConf 2012: Day Three

    Steph Skardal

    By Steph Skardal
    April 25, 2012

    It’s Day 3 of RailsConf 2012 here in Austin Texas. Check out my posts from Day 1 and Day 2.

    RailsConf 5k

    To kick off the day, I ran the low-key RailsConf 5k along the lake here in Austin. I’m glad that this event was organized — I think it’s good to take a mental break from all the conference activities.

    RubyRogues

    This morning kicked off with a RubyRogues live session. The topic for today’s podcast was a discussion about what Rails developers care about and/or should care about. I thought that the answers apply to developers in general. Below are some of the topics covered in the talk.

    • James Edward Gray II

      • James focused on the point that experimentation is important and to perceive all code as experimental.
    • Avdi Grimm

      • Avdi’s main argument was a suggestion to practice deliberate and mindful coding. While he believes that there is a place for the “shut up and code” mentality in some projects depending on risk, it’s not acceptable to have this perspective when it comes to community sharing of knowledge.
      • Avdi recommends that exercising introspection by reviewing your code and explaining it to someone else (how and why) will make you a better programmer and communicator. …

    conference ruby rails

    RailsConf 2012: Day Two

    Steph Skardal

    By Steph Skardal
    April 24, 2012

    I’m here in Austin for Day 2 of RailsConf 2012. Here’s a quick run-down of a few talks I attended today. Read about a couple of sessions I attended on Day 1 here.

    Let’s Make the Web Faster

    One of the talks I attended on Day 2 was Let’s Make the Web Faster — tips from the trenches @ Google by Ilya Grigorik. Ilya works on the MTWF (make the web faster) team at Google; one of their goals is not only to make Google’s web applications faster, but also to make a bigger impact on web performance by developing and contributing to tools. I found a few main takeaways from Ilya’s talk:

    • Navigation Timing Spec: The navigation timing spec defining an interface for web applications to access timing information related to navigation and elements. You can look at this timing information by checking out the performance object in a console:

      Example output of navigation timing spec data.

    • Site Speed Tools in Google Analytics: Google Analytics now has elements of the page speed broken down that allows you to compare page load times and examine what the bottlenecks in the system are. To get there, you go to Content => Site Speed => Page Timings in Google Analytics. You can also measure and …


    conference performance ruby rails
    Previous page • Page 146 of 222 • Next page