The longer you practice something, the more you start identifying the really important stuff about it. One such thing is what makes you perform better and what hold you back. Being forced to use a tool for the job that you have no or little experience of will most likely hold you, your efficiency, focus and developer happiness back.
The last couple of years I’ve gotten to use a bunch of different analytics tools to really get to know what users do on sites or web apps we’ve produced, but also how they come to do it. This post is all about the how and watching real users browsing and using your website to really get to know how your site is used. It’s time to evaluate these tools and compare them to make a conclusion on which session replay tool is really the best one.
We’ve been using BrowserStack for quite some time now. It’s a great tool when testing sites in different browser environments and covers our need for that.
Back to school
I had a great time doing this lecture about how you can think of APIs as a core component of your product development toolbox. The lecture consisted of three main parts.
Just like Ruby, with its rbenv and rvm, Node.js has its own version management system. The node.js eco system and community is growing at speeds we would never imagine. Seldom, but sometimes libraries simply can´t keep up with the development of the node.js core, which propagates both for and against using a version manager.
Lets face it. Keeping a personal brand is hard. I´m a traveller and citizen of the Internets and there are others, may it be clients, colleagues or friends who deserve to know the right “me” online as well. Partly for what I stand for, but mostly for inspiration, my offer and my experience.
I was just about to throw out my old swedish blog, making room for this one, when I realized that it would be nice to keep it online, but have it compiled statically. Using HTTrack, you can simply download a whole site to a static local version.
On the theme of productivity and effiecency… I´d like to share the extensions I use daily to get more productive and do less stuff, while achieving even more.
Building a great API is a hard task. There are many pitfalls to avoid to succeed and since (hopefully) your API will be a dependency for many systems, you will want to try to hit it hard right from the start.
We are working hard to get to Form Analytics out of the door into the real world. Early mornings and late nights. We put a large part of our life into something we cannot physically touch or hold in our hands. We are creating something new that hopefully brings a huge value to our customers. Every now and then, a bit of doubt comes knocking at our door, while happiness and satisfaction comes knocking the next day. Creating something innovative is an emotional rollercoster.
Thinking of buffers in vim as tabs when using Textmate just made so much sense. So much sense that I wanted to write down the basics for me to come back to. Here are some few tips on how to use them to work efficient in VIM.
PUSH notifications are all good and all. But do our products in RevRise really need them? We´re in the middle of making the last couple of changes to Form Analytics and I´m evaluating a couple of additions to it.
Everybody have to make them, we make them all the time, some turn out to be the right ones and other do not. Decisions are there to make them.
Today exactly one year ago I was on the same flight as I am now, meeting up with the same friend down in Stockholm as I was then, on the same trip to Chamonix, France as I was then. There is only two major differences from one year ago. I’m staying in Chamonix and my friend has just made his first exit.
The hardest thing is, when you think about focusing, is saying no.
~ Steve Jobs
Today I woke up and realized where I was about to go. I´m moving to Chamonix for half a year, making one of my big dreams happen.
Another ‘note to self’. This time it’s about Ruby.
A great professor that I had during my studies at JTH always said that while a Volvo kept on running smoothly, a Ferrari would need service every 500 kilometer just because of its refined design of the engine and other parts.
There are two problems with keeping a “daemon” compiling coffeescript and those are error handling and always having to initialize that daemon. However, there is a simpler way.
First of all, there is a github repo which I’m referring mostly referring to down below. There is all you need to install this CSS module.
Sometimes you may have to keep third party libraries included in you project up to date in an easy way. Submodules in Git makes this as simple as a pimple.
An easy way to deal with variating Regular Expressions.
Ever wondered how to distribute you rails application to a window instance. This is how:
SPAM bots usually fill in all of the fields in a form, especially those who a user would normally fill in. The plan is to simply trick the bot into filling in a form element, call it “comment”, that is hidden from the real users. When the form is submitted, we will detect if it is filled in. If it is, well, then we have our SPAM bot.
Good programmers usually have one thing in common. They work efficiently. These are my own rules on how to get better and foremost more efficient when it comes to programming stuff. Whether you do C#, Ruby or even LOLCode, these rules apply to all of them. Sure, you can be a master of Zen in one or two languages, but that doesn’t mean that you are an efficient and good programmer overall. Do give me feedback if you know something this post lacks!
I find that a lot of times you want to use jQuery selectors that are a bit messy on a couple of places. Making your own selectors tidies your code and makes it DRY.
Jekyll is the “engine for static blogs” that I’m using here when blogging. You simply write your posts in any text editor (preferably TextMate if you are on a Mac) and then process the blog posts that are written in Markdown or Textile formats via the Liquid Templating Language.
Making your own REST(ful) API based on Ruby on Rails is not that hard. There are plenty of libraries that makes it a bit easier, but as you probably know, dependencies are not always a good thing for maintainability.