Ruby

  • Most Topular Stories

  • Dr Jekyll's Themes of the Month - August'15 Edition - Leonids, Video, Centrarium, etc

    RubyFlow
    30 Aug 2015 | 6:14 am
    Hello, let’s welcome the August’15 Edition of the Dr. Jekyll’s Themes of the Month series that highlights ready-to-fork static site themes. The new themes include: Leonids by RenYuan Zou; Video by Max White; Centrarium by Ben Centra; Mickey by Vincent Chan; Material Design Lite (MDL) by Oscar Cortez and Planet Jekyll’s Starter (Minimal) by Gerald Bauer. Find all themes at the Dr. Jekyll’s Themes directory. Any theme missing? Add your theme! Cheers.
  • How can Ruby heroes write better code?

    RubyFlow
    29 Aug 2015 | 7:00 pm
    For a practical discussion, please read : Fail Early and Loudly
  • Writing a Klondike Puzzle Solver

    The Buckblog
    Jamis
    3 Aug 2015 | 11:00 pm
    In which the author presents a Ruby program that solves Sam Lloyd's famous "Back from the Klondike" puzzle — 13-minute read
  • Lita 4.6 released

    RubyFlow
    29 Aug 2015 | 8:13 am
    Hot on the heels of Lita 4.5, version 4.6 of Lita, the Ruby ChatOps framework, has been released. This release adds long-requested support for chat-service-specific APIs. The Slack adapter for Lita has also been updated to add support for sending Slack attachments from your bot.
  • Ideas are Cheap

    The Buckblog
    Jamis
    28 Aug 2015 | 11:00 pm
    Paralyzed by a fear of ruining a great idea, the author set himself a challenge to prove that he had far more ideas to draw on — 3-minute read
  • add this feed to my.Alltop

    RubyFlow

  • Dr Jekyll's Themes of the Month - August'15 Edition - Leonids, Video, Centrarium, etc

    30 Aug 2015 | 6:14 am
    Hello, let’s welcome the August’15 Edition of the Dr. Jekyll’s Themes of the Month series that highlights ready-to-fork static site themes. The new themes include: Leonids by RenYuan Zou; Video by Max White; Centrarium by Ben Centra; Mickey by Vincent Chan; Material Design Lite (MDL) by Oscar Cortez and Planet Jekyll’s Starter (Minimal) by Gerald Bauer. Find all themes at the Dr. Jekyll’s Themes directory. Any theme missing? Add your theme! Cheers.
  • How can Ruby heroes write better code?

    29 Aug 2015 | 7:00 pm
    For a practical discussion, please read : Fail Early and Loudly
  • Lita 4.6 released

    29 Aug 2015 | 8:13 am
    Hot on the heels of Lita 4.5, version 4.6 of Lita, the Ruby ChatOps framework, has been released. This release adds long-requested support for chat-service-specific APIs. The Slack adapter for Lita has also been updated to add support for sending Slack attachments from your bot.
  • Stay safe while using html_safe in Rails

    28 Aug 2015 | 4:16 pm
    http://product.reverb.com/2015/08/29/stay-safe-while-using-html_safe-in-rails/
  • Code quality at scale

    28 Aug 2015 | 8:25 am
    Avoid ‘the big refactor’ on big Ruby projects with incremental code cleanup. The ‘quality’ gem uses the power of continuous integration and some great community tools to keep your code quality increasing over time!
 
  • add this feed to my.Alltop

    The Buckblog

  • Ideas are Cheap

    Jamis
    28 Aug 2015 | 11:00 pm
    Paralyzed by a fear of ruining a great idea, the author set himself a challenge to prove that he had far more ideas to draw on — 3-minute read
  • Reducing a Number to Its Sign

    Jamis
    4 Aug 2015 | 11:00 pm
    A simple technique is presented for extracting the sign of a number — 3-minute read
  • Writing a Klondike Puzzle Solver

    Jamis
    3 Aug 2015 | 11:00 pm
    In which the author presents a Ruby program that solves Sam Lloyd's famous "Back from the Klondike" puzzle — 13-minute read
  • Writing a Simple Recursive Descent Parser

    Jamis
    29 Jul 2015 | 11:00 pm
    A simple implementation of a field-based query string, with binary operations, using a recursive descent parser — 6-minute read
  • tar.gz in Ruby

    Jamis
    22 Jul 2015 | 11:00 pm
    A method is described for reading and writing tar and gzip files, using only the Ruby standard library — 5-minute read
  • add this feed to my.Alltop

    RailsTips by John Nunemaker

  • Flipper: Insanely Easy Feature Flipping

    John Nunemaker
    3 Aug 2015 | 5:00 am
    Cross posted from JohnNunemaker.com as it seems relevant here too. __ _.-~ ) _..--~~~~,' ,-/ _ .-'. . . .' ,-',' ,' ) ,'. . . _ ,--~,-'__..-' ,' ,'. . . (@)' ---~~~~ ,' /. . . . '~~ ,-' /. . . . . ,-' ; . . . . - . ,' : . . . . _ / . . . . . `-.: . . . ./ - . ) . . . | _____..---.._/ _____ ~---~~~~----~~~~ ~~ Nearly three years ago, I started work on Flipper. Even though there were other feature flipping libraries out there at the time, most notably rollout, I decided to whip up my own. Repeating others is, after all, one of the better ways to level up your game. My main issue with rollout…
  • Of Late

    John Nunemaker
    24 Feb 2014 | 11:00 am
    A lot has changed over the years. I now do a lot more than just rails and having railstips as my domain seems to mentally put me in a corner. As such, I have revived johnnunemaker.com. While I may still post a rails topic here once in a while, I’ll be posting a lot more varied topics over there. In fact, I just published my first post of any length, titled Analytics at GitHub. Head on over and give it a read.
  • Let Nunes Do It

    John Nunemaker
    18 Apr 2013 | 12:20 pm
    In a moment of either genius or delirium I decided to name my newest project after myself. Why? Well, here is the story whether you want to know or not. Why Nunes? Naming is always the hardest part of a project. Originally, it was named Railsd. The idea of the gem is automatically subscribe to all of the valuable Rails instrumentation events and send them to statsd in a sane way, thus Railsd was born. After working on it a bit, I realized that the project was just an easy way to send Rails instrumentation events to any service that supports counters and timers. With a few tweaks, I made…
  • An Instrumented Library in ~30 Lines

    John Nunemaker
    23 Jan 2013 | 12:00 pm
    The Full ~30 Lines For the first time ever, I am going to lead with the end of the story. Here is the full ~30 lines that I will break down in detail during the rest of this post. require 'forwardable' module Foo module Instrumenters class Noop def self.instrument(name, payload = {}) yield payload if block_given? end end end class Client extend Forwardable def_delegator :@instrumenter, :instrument def initialize(options = {}) # some other setup for the client ... @instrumenter = options[:instrumenter] || Instrumenters::Noop end def execute(args = {}) instrument('client_execute.foo', args:…
  • Booleans are Baaaaaaaaaad

    John Nunemaker
    10 Oct 2012 | 10:10 am
    First off, did you pronounce the title of this article like a sheep? That was definitely the intent. Anyway, onward to the purpose of this here text. One of the things I have learned the hard way is that booleans are bad. Just to be clear, I do not mean that true/false is bad, but rather that using true/false for state is bad. Rather than rant, lets look at a concrete example. An Example The first example that comes to mind is the ever present user model. On signup, most apps force you to confirm your email address. To do this there might be a temptation to add a boolean, lets say…
 
  • add this feed to my.Alltop

    slash7 with Amy Hoy

  • Making huge projects work: Implementation

    Amy Hoy
    25 Aug 2015 | 10:03 am
    In my last essay, I totally pulled back the curtain on the planning + design stage of the (huge) brand new 30×500. The next step? Action, baby. And the key takeaway? Work has an interface and experience all its own… and YOU get to design YOURS. Do it right, and it’ll pay you back. Typically, I meld Kanban with franken-GTD Those are the columns I set up for my cards: Projects (big picture) To-Do’s (individual tasks) Doing (currently active… for anyone who’s working on it) Waiting On (held up, needs a response) Done (obv) Backburner (not gonna do this now, maybe…
  • How to deal with haters.

    Amy Hoy
    21 Aug 2015 | 10:04 am
    Haters. If you do anything other than cower quietly in your cubicle, you’re gonna attract at least one hater of your very own. There’s just something about doing shit that attracts assholes. Like dopey bears to an unmonitored pic-a-nic basket. Here’s an example from my inbox today: This, my friends, is the hater in his natural habitat. As is typical with haters, there’s a weird dynamic: I HATE YOU WHY WON’T YOU GIVE ME WHAT YOU WANT (AKA MORE OF YOU). Pay attention to this; this is the key to most haters. Haters want you(r stuff), and can’t have you(r…
  • Making huge projects work

    Amy Hoy
    10 Aug 2015 | 10:14 am
    You know I always tell you: you should do a tiny project first. You know I always advise that you must accept that good things take time, work incrementally, and keep stacking the bricks. Buuuut… sometimes you need to go big. You can build a lot of things nibble by nibble, but sometimes you need to take a great big honkin’ bite. Sometimes you’re not building a good-sized wall out of bricks. Sometimes you’re building a cathedral. The brand new 30×500 Launch Class is our cathedral. After five years and 5 different versions, trying different things, different approaches,…
  • The Ship by September Challenge

    Amy Hoy
    15 Jul 2015 | 10:23 am
    Let’s talk about That Thing. You know, That Thing you want to work on. That Thing you dream of finishing. That Thing that’s sitting, unfinished (or unstarted) on your desk or your hard drive. Or, uh, a vague dream only in your head. You keep saying you “need to find the time” to work on That Thing. Well, actually, you know you need to make the time, cuz “finding” is too passive, but… You haven’t yet. You haven’t made the time. Or That Thing. Welllll. Are you ready for a little bit of tough love? Cuz I’ve got a pair of facts for you:…
  • The sounds of self-sabotage

    Amy Hoy
    17 Jun 2015 | 12:09 pm
    I skipped the steps and it didn’t work! It will never work! It’s a lie! I’m a failure! I suck! This sucks! Screw everything! I can’t set a price on my book… I’ll make my potential customers do it! I’ll set up Pay What You Want! I’m gonna re-start my newsletter! There will be so much great content! But I can’t just send them something awesome and useful. That’s too scary. What if they reject it? I better send a limp-wristed announcement first, with an entire unsubscribe paragraph. That way if they reject me, it’s because I basically…
  • add this feed to my.Alltop

    Polishing Ruby + Software Releases - zenspider.com

  • rubygems-checkcert version 1.0.1 has been released!

    ryan davis
    10 Aug 2015 | 8:41 am
    Gem command to display the certificate of a gem, if any. Changes: 1.0.1 / 2015-08-10 1 bug fix: Removed dead rubyforge setting in Rakefile http://rubyforge.org/projects/seattlerb
  • minitest-sprint version 1.1.1 has been released!

    ryan davis
    10 Aug 2015 | 8:35 am
    Runs (Get it? It’s fast!) your tests and makes it easier to rerun individual failures. Changes: 1.1.1 / 2015-08-10 1 bug fix: Remove -w from bin/minitest because SOME people run dirty code. :P home: https://github.com/seattlerb/minitest-sprint rdoc: http://docs.seattlerb.org/minitest-sprint
  • minitest-unordered version 1.0.2 has been released!

    ryan davis
    10 Aug 2015 | 8:30 am
    Adds a new assertion to minitest for checking the contents of a collection, ignoring element order. Changes: 1.0.2 / 2015-08-10 1 minor enhancement: Updated for minitest 5. Not that anyone should be using this. home: https://github.com/seattlerb/minitest-unordered rdoc: http://docs.seattlerb.org/minitest-unordered
  • omnifocus-github version 1.8.2 has been released!

    ryan davis
    10 Aug 2015 | 8:26 am
    Plugin for omnifocus gem to provide github BTS synchronization. Support for Github Enterprise: In your git config, set the key github.accounts to a space separated list of github accounts. git config --global github.accounts "github myghe" For each account API and web end points and authentication information should be stored in the git config under a key matching the account. For example: git config --global github.user me git config --global github.password mypassword git config --global myghe.api https://ghe.mydomain.com/api/v3 git config --global myghe.api https://ghe.mydomain.com/ For…
  • debride version 1.5.1 has been released!

    ryan davis
    10 Aug 2015 | 8:11 am
    Analyze code for potentially uncalled / dead methods. Changes: 1.5.1 / 2015-08-10 1 bug fix: Allow debride to run on unreleased versions of ruby that ruby_parser doesn’t support yet. home: https://github.com/seattlerb/debride rdoc: http://docs.seattlerb.org/debride
 
  • add this feed to my.Alltop

    Saturn Flyer with Jim Gay

  • Commanding objects toward immutability

    18 Aug 2015 | 5:00 pm
    Following the rules for East-oriented Code helps me organize behavior in my code but it can lead to other benefits as well. As a result of following the rules, I find that my code is better prepared for restrictions like that which immutable objects introduce. I recently went looking for samples of how people are using instance_eval and instance_exec and ended up with a great example from FactoryGirl thanks to Joshua Clayton. As I was searching, I came upon some code which happened to use instance_eval. Although it was a simple use case for that method it lent itself as a much better example…
  • Cohesive behaviors with data clumps

    29 Apr 2015 | 5:00 pm
    A good example of how we use context and locality to understand and manage concepts in our code is using a data clump. A data clump is a collection of two or more bits of information that are consistently used together. You’ll find that your data loses its meaning when you remove items from the clump. Date ranges are simple examples of how a data clump puts necessary information into context. An example of this is to find out if a question was asked between today and one month ago. If our Question class implements a query method for this: class Question def asked_within?(start_date,…
  • The difference between instance_eval and instance_exec

    21 Apr 2015 | 5:00 pm
    There’s an important difference between instance_eval and instance_exec. And there’s a great lesson about how to use them well in FactoryGirl But first, before you go rushing off to build your fantastic DSL, let’s look at what instance_eval is and does. The simplest of examples can be taken straight from the Ruby docs: class KlassWithSecret def initialize @secret = 99 end end k = KlassWithSecret.new k.instance_eval { @secret } #=> 99 The current value for self inside the provided block will be the object on which you call instance_eval. So in this case the k object is the…
  • Locality and Cohesion

    20 Apr 2015 | 5:00 pm
    “The primary feature for easy maintenance is locality: Locality is that characteristic of source code that enables a programmer to understand that source by looking at only a small portion of it.” — Richard Gabriel This advice is from Patterns of Software by Richard Gabriel. Keeping cohesive parts of our system together can help us understand it. By managing locality we can keep cohesive parts together. It’s easy to see coupling in our code. When one object can’t do it’s job without another, we experience frustration in the face of change. We often think about…
  • The 4 Rules of East-oriented Code: Rule 4

    6 Apr 2015 | 5:00 pm
    Often the rules we create are defined by their exceptions. It is difficult to create a program which continually passes objects and never returns data. Often the first rule of “Always return self” is met with immediate rejection because it’s easy to see the difficulty you’d encounter if that rule is continually followed for every object. In my presentation for RubyConf, I showed how we break the rules to allow value objects to handle data for a template. I previously wrote about the approach I used in the presentation to push data into a value object. class Address def…
  • add this feed to my.Alltop

    DevInterface Blog

  • Vuoi creare una startup? Solo 1 su 10 ha successo, ecco come far sì che sia la tua.

    Marco Urban
    25 Aug 2015 | 6:08 am
    Creare una startup è facile, vederla morire lo è altrettanto: nel 2015 il 90% delle nuove imprese è costretto a chiudere i battenti. Vediamo cosa fa la differenza tra successo e fallimento. Le vacanze estive sono finite quasi per tutti, e tra una settimana inizia il mese di settembre. Si, lo so che mi odi per avertelo ricordato ma a volte bisogna essere realisti. Vediamo il lato positivo: l’autunno (e il fresco) è alle porte, siamo tutti rilassati e pronti per iniziare un nuovo anno lavorativo. Dopo il meritato riposo molti di noi avranno sicuramente concepito qualche strabiliante…
  • Analisi del traffico sul tuo sito web: non la fai? Scopri perché dovresti.

    Marco Urban
    12 Aug 2015 | 6:01 am
    Una breve introduzione all’analisi del traffico sui siti web con Google Analytics: perché non sfruttare una risorsa gratuita che ti aiuti a migliorare?   “There is nothing so terrible as activity without insight.” Johann Wolfgang von Goethe Qualche settimana fa il noto web influencer Rudy Bandiera scriveva questa citazione su un suo post, la quale mi ha dato l’ispirazione per questo articolo. Goethe, uomo formidabile vissuto tra il XVIII e il XIX secolo, si occupava di attività, tra le (tantissime) altre, che spaziavano dalla poesia e la letteratura alla…
  • 6 Cose da NON fare per Creare un’Homepage di Successo

    Marco Urban
    6 Aug 2015 | 2:45 am
    Nell’articolo di oggi ti spiego perché devi assolutamente evitare queste 6 cose se desideri che la home del tuo sito web acquisisca valore per le persone che la visitano. In questo articolo e in quest’altro, ti narravo rispettivamente dell’importanza di rendere il tuo sito user-friendly e poi ti davo qualche piccolo consiglio per aiutarti a farlo risultare piacevole agli occhi dei visitatori. Oggi, però, ci occupiamo della homepage, poiché essa merita una menzione a parte visto che è il fulcro del nostro sito, l’atrio della nostra casa, dal quale i nostri ospiti si…
  • 9 Motivi per Usare un Programma Gestionale Online

    Marco Urban
    27 Jul 2015 | 4:07 am
    In questo articolo esamineremo perché vale la pena che startup e piccole e medie Imprese investano in software gestionali per organizzare i processi interni. Chi usa ancora Excel? Un po’ tutti credo, perché è un software utilissimo e potente. Qual’è il problema? Che spesso viene adoperato per sostituire un programma gestionale da molte PMI. Mi spiego meglio: se devi lavorare velocemente con pochi dati, un modello Excel può andare; quando, invece, devi immagazzinare tutte le informazioni relative ai processi aziendali o devi creare preventivi e fatture, avere un software…
  • E-commerce: Come Creare Valore Aggiunto Per I Vostri Clienti

    Guest
    16 Jul 2015 | 3:41 am
    Questo articolo è gentilmente offerto da Gloria di Stampaprint . Viviamo in un’era altamente digitale. Basta guardarci intorno per vedere persone che consultano il loro smartphone, manifesti e locandine con impresso il link di riferimento a ciò che si sta promuovendo oppure il simbolo di TripAdvisor sulle entrate di ristoranti e hotel (per fare solo alcuni esempi). Internet, infatti, riveste ormai un ruolo considerevole nella vita quotidiana di tutti noi, proprio perché è uno strumento estremamente utile se impiegato nel modo corretto. Grazie ad esso, possiamo metterci in contatto…
  • add this feed to my.Alltop

    Ruby on Rails | Microservices | UI/UX | Android/iOS | Rants and everything else

  • CQRS and Event Sourcing at Idyllic

    Surekha James
    14 Aug 2015 | 3:36 am
    Our journey into micro services has led our teams to think more about building highly available and resilient software. A lot of this has been related to how we identify with the concept of the state. In most systems, state is always tied to the database and losing this data would mean losing all information about the state system. Replication and snapshotting have been our solutions to ensure we don’t lose data in any way. Event sourcing provides an interestingly different approach to viewing the state of the system. Event sourcing forces us to think in terms of events – events that…
  • Don’t use up your user’s device storage space

    Javal Nanda
    16 Jul 2015 | 3:40 am
    Hello, fellow developers!! This article is for iOS developers on how to give a better user experience and more control over the app to its users. These days, most API-driven applications do have some/large amounts of media content, whether it’s an image or a video. And to give the user a better experience of not downloading the content each time, we tend to cache the content with the most images by using various Image Caching libs available. Now, it often happens that most of the content being cached becomes outdated due to various reasons like image is updated for the same content or the…
  • Why should businesses care about microservices?

    Surekha James
    13 Jul 2015 | 1:24 am
    You have an awesome software team. They are following agile practices so that you can adopt change. But how many times was your development team able to make the change you asked for in the same hour or even on the same day? The most common answers you would get are: we could get it done by next week as we are in the middle of a sprint or the change you are asking for would require a lot of rework and testing. All in all, you never get the job done the same night. If you do push them hard, a chaotic release is made leaving everyone frustrated and scared. You end up with this fear that…
  • Microservices at Idyllic

    Surekha James
    5 Jul 2015 | 11:24 pm
    Over the last one and a half years we’ve been constantly working towards finding newer ways to build more resilient software, faster. And, we’ve found that the lines between enterprise software development and building for startups has significantly blurred. The value of iterating and releasing software quickly has been universally acknowledged and our traditional methodologies for building applications fall short in more than a few areas. At Idyllic, our experiments with Burst Mode Development (TM) brought us to Microservices and we haven’t looked back since. Rarely has there been…
  • Technology Heterogeneity and Microservices

    Jinesh Parekh
    16 Jun 2015 | 6:56 am
    Developers are always akin to learning new technologies and are on a lookout to employ cutting edge technologies on projects that they are working on. The chief technologist would often guard against this to ensure that abrupt technology choices are not made merely to satiate the developer’s geeky hunger. In the monolith world, the job of guarding is easier because the technology stack itself will throw in limitations and make it hard for the developers to plug in other languages. Microservices makes it very easy for developers to use different technologies for various services they are…
 
Log in