Redis has been about for some time now but my first real experience with it was fairly recently whilst at ExamTime and it wasn’t something I needed to hack on top of, at Buffer we have decided to start using it for some new functionality we are building out so I decided it would probably be best to bone up a little on it and get up to speed with Redis.
Before I list the resources I will give a very basic background, so that if you have stumbled upon this page you don’t waste your time going through a load of other pages that will be meaningless to you!
Essentially Redis is a key-value store, but it is a bit more than that, this is from the Redis website:
Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.
Here are the resources I have used to help get up and running with Redis;
I have also followed the following Redis folk on Twitter;
@antierz – Created Redis
@redisfeed – Offical Redis related stuff
@karlseguin – Wrote the Little Redis Book
@dr_josiah – Author of Redis in Action
If you have any resources you would like to share, please leave them in the comments
I wish this was a one line post where I say type
sudo apt-get install redis-server, and it *almost* is, but not quite.
OK so the above command will work and you will get a version of Redis installed on your machine, but it isn’t a very recent version, this may or may not be enough for your needs, but I wanted to be able to pass in parameters when I start the server, this is something you can only do in more recent versions.
This is what you need to type, I will explain it after;
$ sudo apt-get install -y python-software-properties
$ sudo add-apt-repository -y ppa:rwky/redis
$ sudo apt-get update
$ sudo apt-get install -y redis-server
Line 1 – So we want to add a new repository that contains the latest version of Redis, the easiest way to do this requires
add-apt-repository, which most likely isn’t installed on your machine, so the first thing we want to do is install
python-software-properties, this gives us access to add-apt-repository.
Line 2- Next we want to set up this new repository.
Line 3 – Now we want to update apt so it sees any changes we have made.
Line 4 – Finally we want to install
redis-server, now the latest version will be installed.
If you are wondering the -y flag just saves me having to manually OK things I was going to OK anyways, this is really handy if you are running these steps as part of a provisioning step (which I was)
Well my first week at Buffer is almost up and I wanted to get some thoughts down on paper, well actually I wanted to be testing Redis but MongoDB is taking a while to download during a Vagrant rebuild and I figured this would keep me occupied!
Working in Buffer
The Buffer Values
Working in Buffer has been really great, it has exceeded my expectations (which were already set really high!) here are my main takeaways;
- I really quickly learned the value of transparency – I felt almost immediately up to speed on what everyone was doing in the business, and not in broad terms either, like actually what they were doing. It has already paid dividends with knowing who to chat to about what. Joel has actually very recently written a blog post that talks about email transparency, it was inspired by a question I asked him recently.
- I properly love the positivity and passion of everyone on the team – it is really refreshing and makes me feel even more positive by proxy.
- Watching really smart people interacting is fascinating – because of the openness and transparency of everything it means that I am privy to a lot of ideas unfolding, it is way more rewarding to see where these ideas come from more than it is to just hear about the idea without seeing the working out.
- We use a lot less email than I thought we would – Given the fact everyone has access to pretty much all email I was worried I would need to put a stupid amount of filtering in place, but so far having the fire hose of everything has worked out 100%, I think this is largely down to the two main tools that I spend most of my days in, HipChat and Sqwiggle, both of these are excellent for getting questions answered quickly and checking in with folk. Belle wrote up a great run down of our tools recently that mentioned both these.
- The culture is completely different to what I am used to – I have mentioned the openness thing a fair amount already, but there are nine guiding principles of the Buffer culture, each one is incredibly important but I think each one is a skill that needs to be worked on over time, this is something I will need to work hard at I think.
- Everything is pondered and considered – Anything I have asked apart from the most basic cut and dry answer type question hasn’t had an immediate reply, the person on the other end of the question has paused to consider it before replying, this is something a great many people do, but it is something that I have noted pretty much everyone I have spoken at Buffer so far does, it is really interesting because I feel like I probably don’t ponder enough.
Working from Home
This also will be concluding my first full work of working from home, this has brought its own challenges and rewards;
- I am enjoying the freedom and flexibility – There is certainly a lot to be said to not being bound to one location in terms of the mental freedom it brings, not having to consider a commute in the mornings is lovely! I am even considering bringing naps into my routine, something I couldn’t really do at an office.
- On the downside I am certainly not walking the same amount – I was doing at least 10,000 steps a day before and now I am not even half of that (I guess, my FitBit is currently out of order!)
- I am spending way less money – The temptation to go out and lunchtime and buy food was just too much for me when I worked in town or near a shop, so this is good for my bank balance and for my calorie count!
- I don’t feel as disconnected as I thought I would – Whilst Sqwiggle conversations don’t negate the need for human to human interactions, they do certainly feel me feel more connected to the folks I am working with, certainly more than I thought I would. It helps as well that my fiancée works shifts so occasionally I will get to see her during the day.
- I am drinking far less – No idea why this is but my water/tea consumption has went way down, to the point where I need to remind myself to drink or else I get headaches, this is a weird one!
- My cats don’t like me being here – and not giving them attention!
Working with PHP again
I think within a week of working in Ruby I boldly declared that I would never go back to PHP, that was a short sighted thing to say and whilst Ruby is a gorgeous language and the community is amazing, I found that the more I used it and Rails the more I seen similar issues cropping up that you get with PHP, there is no perfect language, here are my takeaways;
- Feels familiar and enjoyable – I have loved diving back into it, there is a certain comfort with the level of familiarity I have with the language that I hadn’t quite got to feel yet for Ruby.
- The Buffer code base is a joy to work with – One of the main issues a lot of people have with PHP is how easy it is to write pretty bad code, luckily this isn’t the case with Buffer, which has helped me transition back in to PHP land!
- I want to try and bring some things I picked up in Ruby land back to PHP – There are some practices used amongst Ruby developers that I think would work well in PHP, I am going to see if introducing those concepts is jarring in PHP code, I suspect it won’t be.
- Semicolons – I forgot how annoying it is to leave one of these off!
I have been enjoying the experience so far and will hopefully continue to do so! Something I think I want to start doing is blogging about my experiences working remotely, I think there are going to be some unique challenges I will face that might be interesting to talk about.
Finally, if anyone knows how to speed up installing MongoDB on a fresh Vagrant Up, please let me know!
I have been meaning to post something for a while as almost a heads up for anyone searching for Citalopram and Green Tea!
You are not alone, I too feel very ill if I take Green Tea tablets!
I was doing some research and according to a couple of sources, including Epocrates Online, Green Tea is listed as something to use with caution.
I have made the mistake of taking Green Tea tablets twice since being on Citalopram and I would not recommend it, both times I have felt incredibly sick, almost like the feeling you get with food poisoning, and started to sweat an absolute tonne.
I am unaware of anything Green Tea like that I could take that wouldn’t leave me feeling sick, if you are aware of anything please let me know in the comments!
Tonight I asked the internet for recommendations on newbie friendly programming books and resources, and the internet obliged me with some excellent suggestions
I just wanted to record these here for later review.
If you would like to contribute, I am essentially looking for books that assume no prior knowledge and could teach a person the basics of programming. I am rubbish at recommending this type of stuff because the books I have read recently all assume some level of knowledge at some point. Please comment or hit me up on Twitter!