Marko Anastasov wrote this on July 4, 2014

Redesigned: The New RenderedText.com

This week we’re very excited that we launched a brand new design of renderedtext.com.

Our website looked like this for a very long time:

It was a great representation of us back around 2009-2010: a small and lean team doing full service web development. The layout was optimized for a few pages as they were conceived at the point of design and while we loved it, it was not flexible enough for new content ideas. As a result everything but the blog has eventually become out of date.

The new site looks like this:

The first thing you see is us, as our goal was to tell you more about who we are.

Nowadays there are always some events which we are either organizing or attending, places where you can meet us. So we are introducing a new section for events, with it’s own RSS feed which you can subscribe to. Our blog feed remains the same, however the fate of FeedBurner is questionable so we now encourage you to subscribe directly to renderedtext.com/posts.atom.

Visually, we looked for style over fashion. A layout that is simple, text-driven, pleasant to read and free from elements which look cool only to become passé soon.

We hope you like the new design. Our sincerest thanks goes to Superawesome for the collaboration on design and Nikola Bradonjić for photography. And to you — for listening.

Marko Anastasov wrote this on May 16, 2014

base-app and admin_view work with Rails 4

I just released admin_view 0.3 and tagged base-app at a point where they both work great with the latest Rails 4 (4.1.1 to be precise).

base-app is the Rails application template we use to jumpstart new projects. It includes the full BDD stack set up and a number of helpful gems configured to work out of the box.

admin_view is a small code generator that can create a nice Bootstrap-friendly admin interface for existing Rails models. In our practice we almost always want to be able to access some data from the database with a domain-specific twist. This gem helps us get the data immediately and the flexibility to customize whatever we need.

Marko Anastasov wrote this on May 15, 2014

Rails Girls Belgrade 2014 Applications Open

Just like last year, Rendered Text is supporting a Rails Girls event in Belgrade with mentorship.

The goal of Rails Girls is to give tools and a community for women to understand technology and build their ideas. This is done through a two-day workshop where women with no programming experience create a simple Rails web application.

The event will take place on May 31st and June 1st. More information (in Serbian) and how to apply is at railsgirls.com/beograd.

Please spread the word if you’re in the area. Feedback from last year was great and we’re looking forward to helping this year’s participants learn something new.

Marko Anastasov wrote this on February 20, 2014

Five

Today Rendered Text becomes five years old. I’m not fully aware how much time that really is, we’ve just been doing this thing, you know? But it feels a bit like graduation.

For my partner Darko and me Rendered Text has always been primarily a conduit for creativity. In the beginning the idea was, we need to figure out a way to make money making software that we like. We loved making software: designing the classes, making the UI simple to use. And we liked working together. A quick survey of local companies amplified our desire for independence. We had this social network slash user generated content thing going which was so much fun, because real people actually started to use it and they liked it, but it was still a long shot for making a living. Let’s try consulting. We can write pretty much the same kind of Rails code we’ve been writing ourselves and get money? Awesome.

The day we became entrepreneurs I knew it was the right thing to do. We thought we were ready for projects with a large impact. The only thing left was to learn a million small lessons about how to run a business. Don’t work for a percentage. Is answering an email billable time? Have a policy for late payment. Nobody will find you unless you spread the word. There’s so much you can read on the web but somehow nobody shared the exact advice that you need right now. Learning from your own mistakes often happens sooner than you can find the right article or presentation.

I am very proud that we kept the company independent. It’s not that we haven’t tested the VC waters; Plakatt was the first Serbian team to appear on a Seedcamp, and Rendered Text was a winning company in the first ever Balkan Venture Forum. In hindsight, on both occasions we were seeking help in building something that was beyond what we could accomplish. Fortunately for us, the second time we were actually wrong and needed just a little more patience for Semaphore to bring more fruit. Right now six of us are working on it, and I couldn’t be happier about the sweet design, engineering and business challenges that we are dealing with every day to produce something that thousands of people across the world love to use every day.

The only thing Rendered Text has though, are its' people. By far our biggest accomplishment has been creating and maintaining a stress-free place where communication is open, people collaborate all the time and knowledge is always seeked and shared.

Here’s to another five years.

Marko Anastasov wrote this on January 30, 2014

Become an exceptional programmer by learning to ship

It seems like there is always a shortage of good programmers; that is why programming is one of the highest paid professions today. Note that there is no shortage of programmers in general. Companies that need a high body count in order to be formally capable of negotiating certain kinds of deals do not have a problem finding people for that. But I am not interested in that kind of a programmer. I am interested in those who love their craft and want to create something meaningful.

Such programmers need to stand out of the crowd when starting their career in order to work in a company that is a satisfying place to be in. These companies typically say something like, we hire through open source. When we at Rendered Text post a job ad, we always mention as a requirement that the person applying should have shipped at least one project to end users, be it open source or otherwise. Because sometimes cause and effect get confused, I want to explore a bit what that means exactly.

What does it mean to ship?

Young programmers, due to lack of experience, sometimes don’t see that writing code is only a small part in producing software. To borrow from the terminology presented in the famous book The Mythical Man-Month by Frederick Brooks, at the beginning we have a program. It is standing alone on a drive somewhere, not used by anyone and not interacting with other components in some kind of a production system. This is the easiest thing to accomplish, because generally we work alone and can declare the code as “finished” at any point in time.

It is more expensive to produce a programming product. This now involves shipping your code to the public. Desktop apps need to be easily installable. If the program is a library you need to polish the API, hopefully refactor the code to some degree, provide some tests, write documentation, write and publish a public announcement. The moment all that is completed, you enter a phase of maintenance: you begin to communicate with your users, perhaps contributors as well. You also need to repeat the process of developing and releasing new versions.

So for example, publishing source code of an implementation of an audio compression algorithm on GitHub is not shipping. On the other hand, a library with multiple versions, downloaded and used by hundreds of developers is a clear indicator of shipping behavior.

Most software needs to interact with other parts of a system in order to become alive and useful. You need to make sure that your program is stable and works efficiently with other components. For example, a web application needs to use a database and system memory. Writing code for mining data from a remote API is a good first step; making sure that it’s a runnable application that can scale to many users over a long period of time is a different matter.

Useful software then is a product that works well in a production system, and shipping means developing useful software. Any software company’s best interest is to avoid hiring programmers who are not capable of persisting through all phases of development over a long period of time. People do drop off for whatever reason, some of who unfortunately have brilliant coding skills. There are more aspects to hiring of course, but demonstrating that you’ve been capable of shipping something in the past is definitely a requirement in any good software company.

Darko Fabijan wrote this on January 21, 2014

Learn Elixir to stay young

New libraries, frameworks, databases and languages appear daily. It’s obvious that you cannot and should not learn, use, or even follow each of them with too much attention. You probably already have those filters in place. From experience I know that some developers tend to set those filters to be too harsh because of a constant flood of new tech. If you feel that you have almost forgotten that newbie experience which you get when you are playing with something new, it might be a sign that your tech filters need some adjustment. If you are open to that idea please keep on reading. Elixir might slip through.

Why Elixir

Many say that next programming languages that will matter will be LISP and/or Erlang descendants. Just by simple deduction it seems that Clojure and Elixir are the cool kids that you should hang out with.

I haven’t had a chance to play with Clojure, but I got into Elixir after researching about Erlang and I really like it. It runs on Erlang VM, has a really nice Ruby-like syntax and allows you to write powerful DSLs with macros. The fact that it runs on Erlang VM with its' actor-based architecture means that you can not only transparently run your application across multiple CPU cores without thinking too much, but also run it across multiple machines in almost the same way.

If you ever touched Ruby you know that syntax can really matter and how it just feels nice under your fingers. Well for Elixir I could say the same. And finally macros, originated in LISP, are also available in Elixir because of it’s homoiconicity. Macros give you the power to extend the language as you feel needed and that means that you can turn Elixir in a language specialised for solving your particular problem.

If these few lines got you exited about Elixir and you want to read more, below I have listed a few resources that will help you get started.

Books

Programming Elixir by David Thomas is a great book. I read it once during the summer and recently went through it again. In the second reading I was already familiar with most basic concepts so I was ready to absorb many details I missed the first time. It could be the first book on your menu.

Introducing Elixir by Simon St. Laurent and J. David Eisenberg is the second book that is I guess is the same kind of beginner’s book. Those two will be in print around June this year but of course you can get ebook versions right away.

The Third book would be Elixir in Action by Saša Jurić, scheduled for spring 2015, but is also available through early access ebook program. The fourth and last one that I am aware of is The Little Elixir & OTP Guidebook by Benjamin Tan. There is no publishing date for that one yet.

Elixir Sips

There’s a fantastic screencast series on Elixir by Josh Adams. Although I think that screencasts may not the best medium to acquire new knowledge when you have some experience, I think they are amazing when you are just starting out. Josh does great job and I am sure he will do big things for the Elixir community in the same way as Ryan Bates did for Ruby/Rails community. There are a few episodes that are free. Go and support Josh’s great work. It’s only $9 per month.

Elixir fountain

Fountain is weekly newsletter created by HashRocket, a company that was originally, just like Rendered Text, focused only on Ruby. Newsletters contain only a few links since community is very young but it’s a good way of staying up to date with latest development.

Mailing list & Google

Googling for random error message will probably make you desperate. First result will not be a solution on StackOverflow for the exact same problem you had, the way you might be used to with languages that have been around for longer. A few years will have to go by before that happens. Community is small but it’s growing really fast. This is of course understandable since the language hasn’t hit 1.0 yet. You will probably have to dig around on the mailing list or ask on IRC channel, but all that is part of the excitement.

Elixir is awesome. You will discover and learn many new concepts from computer science that are really powerful but neglected in other languages. Ultimately Elixir will replace Node.js and Ruby in many places and now is a chance to be an Elixir guru even before the waves start rising.

Marko Anastasov wrote this on December 30, 2013

Goodbye 2013

In our business it is easy to lose sense of time. Software projects, unless a complete failure, are hardly ever finished. The stream of new work to be done and discussed, skills to learn and perfect, opportunities to explore is endless. So thank goodness for the calendar and New Year, when we can have a moment to take a look back and draw a line.

2013 was the most exciting and successful year so far for Rendered Text. The biggest change was caused by the growth of Semaphore. What seemed like a very distant goal a year ago when it was ramen profitable with a tiny team of two became a reality - most of the company (and enough for the service itself) is now working on Semaphore full time. The product has grown from a Rails-only CI service to a full continuous delivery platform. We love helping our customers work better and yet feel like we’ve merely scratched the surface yet. We are also thankful to all our clients for the great cooperation we’ve had and good work they have driven us to do.

This wouldn’t be possible if we didn’t have such an amazing team, which has this year grown too. We moved to a glorious new office in spring. We shared office with Superawesome for four years and they’ve always been our key partner, so we’re very happy to see them grow and move out to their own place as well.

This year also feels like a turning point for the local tech startup scene, which is no longer just fiction. Many people met and even projects were founded through various events organized mostly by the great people behind StartIt. I think such events are critical for further development of local entrepreneurship, development and design practices. And we were there to help - mentoring startups and giving talks. I think the first side effects can be seen in success of seemingly non-related events such as Rails Girls.

We also started organizing our own events: CTRL+FLOW for programmers on the edge and our first conference, RenderConf. We find that bringing smart people together leads to great experiences and will continue to do so in the future.

We’ve always looked for people for what they’d become, and the great things everyone on the team has been doing are making me very proud as a (co)founder. I can’t wait for another year.

Browse Archive

If you like what you are reading, subscribe to our RSS. You can also follow us on @renderedtext for updates.

Contact

Rendered Text is a software company. For questions regarding Semaphore, please visit semaphoreapp.com. Otherwise, feel free to send us an email and get touch any time.

Rendered Text
Svetozara Miletića 10
21000 Novi Sad
Serbia