Ruby

  • Most Topular Stories

  • Ruby Object Mapper Reboot

    RubyFlow
    23 Oct 2014 | 7:42 am
    The ROM project is being rebuilt using Sequel for RDBMS. Read more about it here.
  • Exposing a Javascript API in a Web Page with Browserify

    Ryan Daigle
    Ryan Daigle
    8 Oct 2014 | 5:00 pm
    When using Browserify to build and resolve your javascript library dependencies, it’s very easy to get a resulting bundle.js file that you can include in a browser with a simple script tag. <script src="/assets/bundle.js"></script> Including the bundle in this way will execute the code in your entrypoint (often main.js) which is where most online tutorials end and which might be all you need. However, how do you create a bundle that will expose an API to the including page? So you can do something like: <script…
  • Pronto can now lint SCSS!

    RubyFlow
    22 Oct 2014 | 1:26 pm
    Pronto performs quick automated code reviews with the help of various analysis tools (RuboCop, Brakeman, Flay, etc.) by checking only the introduced changes. And now it also lints your SCSS with the help of SCSS-Lint. Check it out: Pronto and pronto-scss.
  • Practicing Rails: Learn Rails without getting overwhelmed

    RubyFlow
    22 Oct 2014 | 7:01 am
    Maybe you’ve learned the “what” of Rails, but don’t understand the “why” and the “how.” Maybe you're about to give up on Rails because you just can’t put the pieces together. If you feel like running away when you stare at your newly-generated Rails app, I wrote a book for you.
  • Painless Vim: Everything you Want to Know about Vim

    Masteruby
    30 Sep 2014 | 5:00 pm
    Have you tried Vim, but you found it hard to start and you just quitted it? Do you want to convince your colleague to use Vim? Until recently, you have hard time. You certainly walked through Vim help system or you found some tutorials online, but real Vim’s guide to beginners was really missing. Meet Painless Vim Painless Vim by Nate Dickson is a new beginner’s guide to Vim. It promises to help you to get up to speed quickly. Book has 28 chapters and each chapter covers part of Vim step by step. Book is short(166 pages), but it uses it’s space perfectly. You will start with basics like…
  • add this feed to my.Alltop

    RubyFlow

  • In Defense of Alias

    23 Oct 2014 | 8:17 am
    I've been reading a lot of Ruby style recommendations lately, and I wanted to share a relatively unpopular opinion (with some justifications) in preference of "alias" over "alias_method".
  • Ruby Object Mapper Reboot

    23 Oct 2014 | 7:42 am
    The ROM project is being rebuilt using Sequel for RDBMS. Read more about it here.
  • Pronto can now lint SCSS!

    22 Oct 2014 | 1:26 pm
    Pronto performs quick automated code reviews with the help of various analysis tools (RuboCop, Brakeman, Flay, etc.) by checking only the introduced changes. And now it also lints your SCSS with the help of SCSS-Lint. Check it out: Pronto and pronto-scss.
  • Codeship now integrating with Cloud 66

    22 Oct 2014 | 9:12 am
    For anybody using Cloud 66 and/or Codeship: The two services now integrate and it only takes one line of code to set everything up. You can read more here.
  • Practicing Rails: Learn Rails without getting overwhelmed

    22 Oct 2014 | 7:01 am
    Maybe you’ve learned the “what” of Rails, but don’t understand the “why” and the “how.” Maybe you're about to give up on Rails because you just can’t put the pieces together. If you feel like running away when you stare at your newly-generated Rails app, I wrote a book for you.
 
  • add this feed to my.Alltop

    Ruby Inside

  • Raptor: A Forthcoming Ruby Web Server for Faster App Deployment

    Peter Cooper
    21 Oct 2014 | 6:20 am
    Raptor bills itself as a new Ruby "app server” and it claims to blow everything else out of the water performance-wise (by between 2-4x!) whether that’s Unicorn, Puma, Passenger, or even TorqueBox on JRuby. The bad news for now is there’s no source or repo yet and only a handful of people (including me) have been given a sneak peek, although a public beta is promised on November 25th. The history of Ruby webapp deployment The deployment of Ruby (and therefore Rails) webapps was a painful mess for years, a state I lamented 7 years ago in No True ‘mod_ruby’ is Damaging Ruby’s…
  • Ruby’s Unary Operators and How to Redefine Their Functionality

    Peter Cooper
    15 Oct 2014 | 10:05 pm
    In math, a unary operation is an operation with a single input. In Ruby, a unary operator is an operator which only takes a single 'argument' in the form of a receiver. For example, the on -5 or on !true. In contrast, a binary operator, such as in 2 + 3, deals with two arguments. Here, 2 and 3 (which become one receiver and one argument in a method call to ). Ruby only has a handful of unary operators, and while it's common to redefine binary operators like or to give your objects some added syntactic sugar, unary operators are less commonly redefined. In my experience, many Rubyists aren't…
  • This Month in Ruby: PeepCode Acquired, Rails 3.2.14, And More

    Peter Cooper
    25 Jul 2013 | 9:25 am
    Welcome to a roundup of Ruby news, articles, videos, and more, for July 2013 cobbled together from my e-mail newsletter, Ruby Weekly. Highlights include: PeepCode acquired by Pluralsight, Practicing Ruby archives made public, Rails 3.2.14, and an interesting interview with Matz. Featured The First Four Volumes of Practicing Ruby, Now Available Online Practicing Ruby is a high quality, paid Ruby journal run by Gregory Brown, but he's made archives of over 60 articles available to the public. There's a ton of stuff to enjoy here. PeepCode Acquired by Pluralsight Ruby and Rails screencasting…
  • Does the GIL Make Your Ruby Code Thread-Safe?

    Jesse Storimer
    19 Jun 2013 | 7:19 am
    This is a guest post by Jesse Storimer. He teaches the Unix fu workshop, an online class for Ruby developers looking to do some awesome systems hacking in Ruby and boost their confidence when it comes to their server stack. Spots are limited, so check it out the class while there's still room. He's also the esteemed author of Working with Unix Processes, Working with TCP Sockets and Working with Ruby Threads. There are some misconceptions in the Ruby community about this question surrounding MRI's GIL. If you only take one thing away from this article today, let it be this: The GIL does not…
  • This Week in Ruby: Matz on Ruby 2.0, Numerous Conference CFPs, Tenderlove on define_method

    Peter Cooper
    7 Mar 2013 | 4:44 am
    Welcome to this week’s roundup of Ruby news, articles, videos, and more, cobbled together from my e-mail newsletter, Ruby Weekly. Sorry these roundups have been missing for a couple of months, I've been focusing very heavily on the e-mail newsletters which are continuing to grow like crazy! :-) I hope to get back into blogging more soon. Matz on Ruby 2.0 Matz spoke about Ruby 2.0 ('the happiest release ever') for 30 minutes at the Heroku Waza event a week ago and the video is already available to watch. He stresses that "Ruby 1.8 will die soon" and encourages everyone to upgrade. Dynamic…
  • add this feed to my.Alltop

    Ryan Daigle

  • Exposing a Javascript API in a Web Page with Browserify

    Ryan Daigle
    8 Oct 2014 | 5:00 pm
    When using Browserify to build and resolve your javascript library dependencies, it’s very easy to get a resulting bundle.js file that you can include in a browser with a simple script tag. <script src="/assets/bundle.js"></script> Including the bundle in this way will execute the code in your entrypoint (often main.js) which is where most online tutorials end and which might be all you need. However, how do you create a bundle that will expose an API to the including page? So you can do something like: <script…
  • Time-Series Database Design with InfluxDB

    Ryan Daigle
    12 Aug 2014 | 5:00 pm
    Here at Spreedly we’ve recently started using the time series database InfluxDB to store a variety of customer activity metrics. As with any special purpose database, using and designing for a time-series database is quite different than what you may be used to with structured (SQL) databases. I’d like to describe our experience designing our InfluxDB schema, the mistakes we made, and the conclusions we’ve come to based on those experiences. The mark Consider the following scenario, closely resembling Spreedly’s: You run a service that lets your customers transact…
  • The New Gist: What It Is and What It Could Be

    Ryan Daigle
    12 Dec 2012 | 4:00 pm
    Gist is an incredible tool by Github for quickly sharing code, text and files. It has syntax highlighting and rendering for a huge number of programming languages including Markdown for text. For many techies, including myself, Gist is an indispensable tool for quickly sharing code and content with coworkers. Gist has been around for several years now and, when compared with the pace of development on the main Github.com property, has been relatively neglected. Thankfully, Github recently updated Gist with a fresh new codebase and UI. As a heavy user of Gist I have some thoughts on this…
  • Site Relaunch

    Ryan Daigle
    7 Feb 2012 | 4:00 pm
    I’m currently in the middle of putting a fresh coat of paint on RyanDaigle.com, the previous home of the What’s new in Edge Rails series. All old links to http://ryandaigle.com/articles will be redirected to an archived version of the site at http://archives.ryandaigle.com. I doubt all links will make the change, but I’ve given it my best effort. Don’t have any big plans for the site beyond a renewed effort at writing more. Stay tuned.
 
  • add this feed to my.Alltop

    Obie Fernandez

  • Africa Calling

    Obie Fernandez
    14 Oct 2014 | 12:09 pm
    Reposting from my Medium blog Africa Calling
  • Do. Or Do Not. There is No Try.

    Obie Fernandez
    14 Sep 2014 | 11:16 am
    A reminder that I come back to time and again.
  • Demo of QuickMVP

    Obie Fernandez
    12 Sep 2014 | 7:45 am
    The video features my partners at Javelin, Grace and Trevor, presenting QuickMVP to the NY Tech Meetup, one of the most prestigious in the world. I don't think our idea particular complicated or anything, but I'm proud of our execution on this one. QuickMVP is a landing page builder + easy creation of Google Ads to drive early adopter traffic + tool suite to be able to analyze results of your experiments in a way that's compatible with lean startup best practices. This video is actually one of the best demos of the software out there. Learn why this product is driving more and more recurring…
  • The Future of Consulting

    Obie Fernandez
    5 Aug 2014 | 11:12 am
    I am doing an online (live) panel discussion with special guests a little less than an hour from now. https://www.airpair.com/airconf2014/keynote/future-of-consulting Here is a brief list of topics that we hope to cover: - state of software consulting today. static? growing? - what are the external forces shaping change in the industry? - opportunities of ongoing engagement outside traditional project-based models - should firms be looking to unbundle services? - or additional bundling and/or co-promotion of educational and othe rservices (ala Thoughtbot) - what is the proper balance of…
  • How to Write and Publish a Technical Book (and make lots of money)

    Obie Fernandez
    28 Apr 2014 | 5:56 pm
    Over the course of the last few years, the tech publishing market has changed. Authors are in a much better position than ever before. If you are serious about success as a technical author, here are your up-to-date instructions. As long as your content is solid and valuable to your audience, I believe this is how you make the most money. You'll also reap serious long-term benefits. First of all, are you talking to a publisher about a book deal already? Maybe you have a book proposal and/or outline in hand already? Good. That's a good starting place, but it's time to get in the driver's seat.
  • add this feed to my.Alltop

    slash7 with Amy Hoy

  • How to design the most efficient software your users have ever seen

    Amy Hoy
    17 Oct 2014 | 8:49 am
    When’s the last time you heard or read somebody discussing efficiency in software experience? Probably just about never, I’d wager. It’s not trendy. It’s not sexy. It’s certainly not easy… you can’t apply it with a Node.js library or an icon font. This is not the sound of a grumpy old lady waving her cane at the kids — it’s the sound of opportunity begging you to take it. If you design[1] software[2], this post will make you money. [1] if you make decisions about your company’s software products in any way, even if you don’t think of…
  • My secret startup past

    Amy Hoy
    13 Oct 2014 | 2:40 pm
    I’ve been designing & developing for hire since I was 14. But I almost never write about my past. It’s old hat to me. I’m an always-moving-forward kind of girl. This has led many to assume my strongly opinions on bootstrapping come ex nihilo — or possibly from bitchy sour grapes at being excluded from Startuplandia, unable to reach that sweet venture dolla dolla. Quite the opposite. I wrote, once before, three second-hand tales from the startup trenches that I had the privilege (or misfortune) of witnessing. Here are my stories. Let’s start with what may seem…
  • How Your “Fuck This!” Moment Changes Everything

    Amy Hoy
    19 Aug 2014 | 11:35 am
    “I’m going to write a book.” “I’m going to build a SaaS app.” “I’m going to quit my job and travel the world.” Sound familiar? How often are these statements followed by action — real action? We all know That Guy. We all know people who spend all their time talking about what they want, what they’re going to do. People who never follow up their grand plans with action. People who never take the tiniest step to prepare for it. We also all know people who take the tiniest steps only — who set up a LaunchRock coming-soon page, but…
  • Finish your drafts! Three rules to make writing for your audience easier

    Amy Hoy
    18 Aug 2014 | 4:47 pm
    This post was written by 30×500 co-teacher and my bootstrapping partner in crime, Alex Hillman. Oh, and don’t miss the homework challenge at the end. Enjoy!— Amy Step 1 - Decide, “I’m going to write a blog post about ______________”. Step 2 - Sit down to write that blog post. Step 3 - Stare at the blinking cursor. Debate my angle. Write, erase, and rewrite my opening at least 3 or 4 times. Step 4 - Walk away from the computer, frustrated. Grind teeth.  Curse at myself. Step 5 - Come back, write a few wandering paragraphs. “It’s okay, I…
  • Startup Winter is Coming

    Amy Hoy
    10 Aug 2014 | 1:49 pm
    Do you remember the mortgage crisis? In case you didn’t hear about it — or don’t remember the details — it worked something like this: Banks figured out a new way to profit from mortgage loans, even if the loans never got paid back… …which led them to loan money to people who’d never be able to pay the loans back, because they got paid either way. High demand (thanks to easy money) drove home prices up, up, up. The economy boomed. Years passed. Then results of this disruptive innovation became clear: People defaulted on loans they could not afford; Demand dried up;…
 
  • add this feed to my.Alltop

    Polishing Ruby + Software Releases - zenspider.com

  • imap_processor version 1.6 has been released!

    ryan davis
    17 Oct 2014 | 3:48 pm
    IMAPProcessor is a client for processing messages on an IMAP server. It provides some basic mechanisms for connecting to an IMAP server, determining capabilities and handling messages. IMAPProcessor ships with several executables which can query and manipulate IMAP mailboxes in several different ways: imap_archive :: Archives old messages to a new dated mailbox. imap_cleanse :: Delete messages older than a certain age in specified mailboxes. imap_flag :: Flag messages to/from certain people. imap_idle :: Shows new messages in a mailbox. imap_keywords :: Queries an IMAP server for keywords set…
  • Happy Birfday to me!

    ryan davis
    15 Oct 2014 | 6:13 pm
    Today is my Fourteenth Year Anniversary with Ruby! Yay! 823 gem releases (up by 93), 9805 commits (up by 823), and bazillions of test runs later, and I’m still going strong. Rawr!
  • ruby_parser version 3.6.3 has been released!

    ryan davis
    26 Sep 2014 | 6:54 pm
    ruby_parser (RP) is a ruby parser written in pure ruby (utilizing racc–which does by default use a C extension). RP’s output is the same as ParseTree’s output: s-expressions using ruby’s arrays and base types. As an example: def conditional1 arg1 return 1 if arg1 == 0 return 0 end becomes: s(:defn, :conditional1, s(:args, :arg1), s(:if, s(:call, s(:lvar, :arg1), :==, s(:lit, 0)), s(:return, s(:lit, 1)), nil), s(:return, s(:lit, 0))) Tested against 801,039 files from the latest of all rubygems (as of 2013-05): 1.8 parser is at 99.9739% accuracy, 3.651 sigma 1.9 parser…
  • ruby2ruby version 2.1.3 has been released!

    ryan davis
    26 Sep 2014 | 6:48 pm
    ruby2ruby provides a means of generating pure ruby code easily from RubyParser compatible Sexps. This makes making dynamic language processors in ruby easier than ever! Changes: 2.1.3 / 2014-09-26 1 bug fix: Fixed handling of kwargs. (joenas) home: https://github.com/seattlerb/ruby2ruby rdoc: http://docs.seattlerb.org/ruby2ruby
  • ZenTest version 4.11.0 has been released!

    ryan davis
    26 Sep 2014 | 6:34 pm
    ZenTest provides 4 different tools: zentest, unit_diff, autotest, and multiruby. zentest scans your target and unit-test code and writes your missing code based on simple naming rules, enabling XP at a much quicker pace. zentest only works with Ruby and Minitest or Test::Unit. There is enough evidence to show that this is still proving useful to users, so it stays. unit_diff is a command-line filter to diff expected results from actual results and allow you to quickly see exactly what is wrong. Do note that minitest 2.2+ provides an enhanced assert_equal obviating the need for unit_diff…
  • add this feed to my.Alltop

    Vinsol - Ruby on Rails, iOS, Android Consulting and Development

  • Fragment view state retention: A dirty solution

    achin
    22 Oct 2014 | 3:40 am
    This is the last part of this 6 part series about Fragment Oriented Architecture in Android applications. In the previous post I talked about managing sessions in fragment oriented application. In this post I am going to talk about retaining view hierarchy of a Fragment after removing it from container and then coming back to it by popping the backstack. (Sample application’s source code and README) When a fragment gets replaced by another fragment and the transaction is added to back stack, the expectation after a popBackStack() is to return to the previous fragment with its UI state…
  • Session Management

    achin
    22 Oct 2014 | 3:29 am
    This is the fifth part of a 6 posts series on Fragment oriented application architecture. In the previous post I talked about efficiently handling back button press inside fragment. In this part I am going to talk about session management in Fragment oriented application, by explaining integration of Facebook SDK. (Sample application’s source code and README) In a fragment oriented application, we can conveniently manage all session related code in the activity and all its fragments would utilise it. Facebook SDK is quite in sync with this approach. Implementation of Facebook session…
  • Handling back button press Inside Fragments

    achin
    1 Oct 2014 | 6:25 am
    This is the fourth part of a 6 posts series on Fragment oriented application architecture. In the previous post I talked about Inter-Fragment Communication. In this part I am going discuss about elegantly handling back button press inside fragments in a fragment oriented application. (Sample application’s source code and README) Android devices have a hardware back button which normally serves the purpose of going back through the screens/actions stack. Callback to a back button press event is received in the foreground Activity (onBackPressed() event callback) which can be overridden…
  • Inter-Fragment Communication

    achin
    25 Sep 2014 | 6:05 am
    This is the third part of a 6 posts series on Fragment oriented application architecture. In the previous post I talked about Transaction BackStack and its management. In this part I am going to talk about Inter-Fragment Communication. It’s a general concept, not deeply linked to the context of this series. (Sample application’s source code and README) It’s a communication pattern over which fragments should talk to each other. Ideally, a fragment should never keep a reference of another fragment or even, in best case, of the specific parent activity. So, how would two…
  • Transaction BackStack and its management

    achin
    19 Sep 2014 | 7:48 am
    This is second part of a 6 posts series. In the first post I talked around basics of fragment oriented architecture. From this post onwards, I’ll be talking about it’s implementation details. (Sample application’s source code and README) In this part I am going to talk about Transaction Backstack and few related methods that can be used frequently. Transaction BackStack has often been misinterpreted as backstack of fragments. FragmentManager inside an activity deals with fragment-transactions rather than with fragments. An entry into this backstack is a…
  • add this feed to my.Alltop

    Ruby-coloured glasses

  • Link: Good Ruby-gems patterns

    Taryn East
    21 Oct 2014 | 12:45 am
    RubyGems patterns Gives you five good tips to follow to write better ruby gems: Consistent naming Semantic versioning Declaring dependencies Loading code Prerelease gems
  • Link: schedule your sidetiq jobs for a specific timezone

    Taryn East
    14 Oct 2014 | 5:55 pm
    Currently, "UTC" and "not UTC" are the only options available for scheduling your sidetiq workers... Now, UTC is great if you're lucky enough to live in London - in which case, you can stop reading now. Or if all your systems happen to be set that way... though it doesn't let you accommodate local things such as daylight savings time-shifts. So the only other option provided by sidetiq is "not UTC" which means you default to whatever timezone is set on your server... which is great if your server's local time is set to the timezone you actually live in... but, if, like most of us, your server…
  • Change your dropbox passwords...

    Taryn East
    13 Oct 2014 | 10:18 pm
    You should: Change Your Password: Hackers Are Leaking Dropbox User Info
  • Classic: Beating the Averages by Paul Graham

    Taryn East
    12 Oct 2014 | 1:10 am
    Beating the averages by Paul Graham It's a classic. It's about lisp as a secret weapon, the building of viaweb and the blub paradox.
  • Sidekiq.❨╯°□°❩╯︵┻━┻

    Taryn East
    1 Oct 2014 | 9:55 pm
    No, that's not me expressing my current frustration with Sidekiq not playing nice with mandrill-mailer... It's a real method on Sidekiq... [1] pry(main)> Sidekiq.❨╯°□°❩╯︵┻━┻ Calm down, bro => nil I found it while scanning the sidekiq test suite describe "❨╯°□°❩╯︵┻━┻" do before { $stdout = StringIO.new } after { $stdout = STDOUT } it "allows angry developers to express their emotional constitution and remedies it" do Sidekiq.❨╯°□°❩╯︵┻━┻ assert_equal "Calm down, bro\n", $stdout.string end end <3 <3 <3
 
  • add this feed to my.Alltop

    Masteruby

  • Painless Vim: Everything you Want to Know about Vim

    30 Sep 2014 | 5:00 pm
    Have you tried Vim, but you found it hard to start and you just quitted it? Do you want to convince your colleague to use Vim? Until recently, you have hard time. You certainly walked through Vim help system or you found some tutorials online, but real Vim’s guide to beginners was really missing. Meet Painless Vim Painless Vim by Nate Dickson is a new beginner’s guide to Vim. It promises to help you to get up to speed quickly. Book has 28 chapters and each chapter covers part of Vim step by step. Book is short(166 pages), but it uses it’s space perfectly. You will start with basics like…
  • How to Add User Karma in Rails

    11 Aug 2014 | 5:00 pm
    A week ago you’ve learned how to add voting. Acts_as_votable is great, but it doesn’t provide user karma. This time you will learn how to add user karma functionality to your app. What do you need Links controller and model created User authentication created Acts_as_votable gem Adding karma column to users table To use karma for user, we need to generate new migration. Create new migration like this: rails generate migration AddKarmaToUsers Let’s edit it now. db/migrate/add_karma_to_users.rb class AddKarmaToUsers < ActiveRecordMigration def change add_column :users :karma :integer…
  • How to Add Comments to Rails App with Commontator

    7 Aug 2014 | 5:00 pm
    Last time we’ve added voting. This time I will show you how easy can be adding comments with Commontator. Why to Use Commontator Commontator has following advantages: It includes comments count Is easy to configure It includes creating, editing and deleting comments You can add voting with acts_as_votable Is customizable How to Install Commontator First thing we need to do is to add commontator gem to Gemfile Gemfile gem 'commontator' Then install it with Bundler bundle install Now you can create Commontator configuration and migrations rake commontatorinstall And move migrations to…
  • How to Add Voting to Rails App

    4 Aug 2014 | 5:00 pm
    In this post I want to show to add upvotes and dowvotes using acts_as votable gem. What do You Need Basic Authentication with current_user helper(Devise or something else) One model with name Link and controller links acts_as_votable gem installed How to setup acts_as_votable Add gem acts_as_votable to your Gemfile. Gemfile 'acts_as_votable' And install it with bundle bundle install Now generate acts_as_votable migration rails generate acts_as_votable:migration And migrate to database rake db:migrate Now we’re done with preparation let’s add upvote action. Adding upvotes First…
  • How to convert Ruby source code to pdf in Linux

    8 Jul 2014 | 5:00 pm
    In this post I want to show to convert source code to pdf using Linux. We’ll use file base.rb from Sinatra framework as example. Converting Ruby source code to HTML First thing we need to is to convert our source code to html. To convert it we’ll use code2html. Install it right now: sudo apt-get install code2html We want to convert base.rb file from Sinatra source code. We want to include line numbers in our conversion so we’ll use flag -n to add them. Let’s convert it. code2html -n base.rb base.html Code2html will take work for conversion. Look at our converted file in browser.
Log in