Not visible without
the aid of special
instruments: subvisible

By Luis Ferreira

  1. Narrator: Update and Insert at the same time? That sounds groovy! In comes the Upsert! Ecto: What about me? Narrator: You can come too, I guess.

  2. At Subvisual we take community building very seriously, and part of it is getting to know its members. We've prepared a small survey to get to know you better.

  3. This week on Ruby Bits we've decided to honour the Juno mission entering Jupiter's orbit by discussing another special operator in Ruby, commonly known as the spaceship operator.

  4. This is the story of Shelf, a product we just recently launched but has been in the making for almost 3 years now. Why has it taken so long? What was the process to get it into the wild? Those are the questions I aim to answer with this article, and hopefully you can draw some inspiration to do something similar in your company.

  5. If you thought that the === operator was something only JavaScript developers had to deal with, you were mistaken. We also have one in Ruby, even though it differs immensely in terms of functionality, from its JS counterpart.

  6. Debugging is something that (un)fortunately we as developers are all used to doing, but depending on the language, the techniques and tools might differ, if ever so slightly.

  7. Have you ever had to implement arithmetic operations for an object? If so, there is one little method you probably should be aware of, and it's called coerce.

  8. If you've been writing Object Oriented code for a while, you're probably familiar with expressions such as DRY, the Law of Demeter or Composition over Inheritance. One thing they all have in common is that the can be followed by using delegation.

  9. Welcome back to the world of `Enumerable` my friend. This time we will be looking at a somewhat hidden feature of most of its methods, they can be used without a block and have a return value that is itself an enumerator.

  10. If you've ever used Ruby you have probably used Bundler through it's command line tool. There's quite a few things you can do with it. There is even a very useful command which will open the code for a specified gem with an editor you can also configure.

  11. The Enumerable module is the core of everything in Ruby. It is often said that if you know this module, then you know Ruby and that's not far from the truth, in my opinion.

  12. If you have ever built a Rails application, you probably have encountered ActionMailer for sending emails. But what if we wanted to send a notification to multiple users all at once?

  13. Crystal is a typed, LLVM compiled language that reads (mostly) as Ruby. It's a modern language that comes bundled with support for WebSockets, OAuth and other niceties.

  14. Not everyone is privileged enough to be able to navigate the web in all it's glory, with all the amazing animations, crazy stuff happening on scrolls, great videos and the latest style for input fields.

  15. Git is so awesome and packs so much power that I could hardly fit it all in a blog post (or 100 for that matter). What this post will talk about though, are a couple of ways to extend your git for it to better serve you on your everyday tasks.

  16. If you've been working with Git for a while you've probably realised that it has a LOT of configs. There's even one which allows you to change the way your branches are pushed to a remote.

  17. Last friday we started a new project at Group Buddies, the Open Source Fridays. This means that for four hours every Friday, every one at GB will be contributing to OSS at some level. It can be by writing documentation, opening pull requests on other people's projects or creating our own.

  18. One of the hottest topics of the moment in the rails community is application design or architecture. There is an obsession (a good one, I think) with clean, decoupled code, that is easy to maintain and extend. This has led to things such as presenters, service objects, to some extent even rails concerns.

  19. If you've been in the development business for a while, especially if working with OO languages, you've probably heard of design principles. That's why, as with many things in the software area, you should use these principles as guidelines, not rules.

  20. A lot has been said in the past months, especially in the Ruby community, about the "Sandi Metz rules for developers", so the purpose of this article is not as much to explain them as it is to show how we apply them here, at Group Buddies.