Using doobie; Scala with PostgreSQL vs ActiveRecord
06 Jun 2019
I've wrapped up my second Scala client project, and I enjoyed SQL.
A blog about stuff
I've wrapped up my second Scala client project, and I enjoyed SQL.
I estimate a 13.
The comet of success will lead your team to victory.
Tired of copying and pasting GitHub URLs for Tell Me When It Closes? We've got you covered.
Is your team setup for success? Do they have the tools to deliver working software? Step zero is being able to get setup quickly.
How to draw waveforms using JavaScript.
You may not get the results you expected.
Keep it simple.
I started a podcast! It’s called hunchpig and here’s an iTunes link if that’s you jam.
Over a year ago I started as an apprentice at thoughtbot. For those three months I managed to post once a week about what I’d learned and how things were going. I haven’t posted here for a while, so I thought it was high time for an update.
Life's a game with Ember!
Bring consistency to the structure of your pull requests.
So while trying to create a service in an addon I ran into an issue trying to access config, I found this post with a solution that no longer works. Eventually I found a post on the Ember London forum with the solution that worked for me:
Working in a well-organized code base is like cooking in a clean kitchen.
So far, we have a ember-cli application being served by divshot and a rails app providing authentication up on heroku. This is pretty sweet but we need to actually do something with the user returned by our backend. Torii comes with a built in session that we're going to take advantage of.
When we left off we had a ember app setup on divshot to talk to a rails application for authentication via github. We'll start by generating a new rails app.
Look over our shoulder as we refactor and optimize a set of queries.
This will be a multi part post, building a simple chat application. I may never actually build the chat functionality, as I'm more interested in setting up the authentication side of things. Non the less, context helps.
The last few weeks have been mercifully relaxed after the pace of thoughtbot’s apprenticeship. I’ve mostly been working on internal projects and my new keyboard! This post is in fact being slowly typed on my ergo dox. I took a bunch of pictures during its construction and put them together into a gif for your viewing pleasure.
My last week as an apprentice!
This week I spent a bit of time restyling this blog. I had some help from Mike Boresare a design apprentice who started just a few days before me. Congratulations to him as he was also hired by thoughtbot.
This week was the thoughtbot summer summit, a yearly get together of all the offices to get to know each other a little better. This year the summit was at the San Francisco office. Those of us in Boston flew out Thursday and most, including me, are flying back Sunday.
First things first.
This final month is an interesting one as Joël is working with the same client as Blake but on a different project. The project I worked on with Blake is true Legacy code, a Rails 2 application with plenty of plenty of time invested, while this project is 6 months old and developing fast. It’s almost a green fields application but there are still some bad practises sneaking in that we’re trying to nip in the bud.
I’ve been working on a breakable toy with a couple other developers and we decided to build it using ember with a rails backend. This was a perfect opportunity to try developing with ember-cli. I wanted to talk about some of the tools it provides for dealing with data and when I think you should use them.
This was my final week of my second month, next week I start with my new mentor Joël and start my final month as a thoughtbot apprentice.
This last week I spent more time on client work which I found productive. The coding itself was not all that interesting, but getting used to thoughtbot’s git flow and pull request process was awesome. At the beginning of the week I made plenty of small pull requests and got used to using all my git aliases. I also managed to get my dotfiles in order and you can find them here on github.
This week I did some setup for the apprentice breakable toy involving setting up a ember front end using ember-cli and a rails back end. Once I had both repositories generated I decided to tackle authentication as I’ve never really had to authenticate on the front end. This was a lot of fun and I wanted to go over the solution I produced.
This last week I’ve spent time getting comfortable with my new mentor’s client project. The first few days were a little frustrating. The application in question was originally a dot net application which was then converted to a Rails 2 app. However, most of the developers originally on the project didn’t have a lot of experience with Ruby or Rails so the application has some oddities that I presume come from Ruby not being their first language.
I’ve completed the final week of my first month as an apprentice at thoughtbot. It’s been incredible so far and I’m excited to get started with my next mentor Blake.
This week my mentor and I worked on a previously arranged project for just the 1 week. This isn’t the typical work flow in thoughtbot but it was interesting none the less. I learnt mostly about code spelunking and getting my bearings in an existing code base. I wrote a few JavaScript heavy features which was tough as I couldn’t get any integration specs to run. The code base isn’t well tested and the client doesn’t see the value in testing. As a result we tested everything we could, but flat out avoided touching anything untested. I felt great because we left code in a better state then we found it, but could not re factor aggressively due to the lack of tests.
This week I read through the excellent Dive into HTML5 by Mark Pilgrim. If you haven’t already, it’s definitely worth the read.
I’ve just finished my first week of the apprenticeship.
I put in an application to apprentice.io in mid September and tomorrow I start at the thoughtbot office in Boston. I’m ready for the change and looking forward to start working on a team rather than the lone ranger I’ve been up until now. I’m intending to try and mimic a blog I found that posted each week of her apprenticeship outlining the process. I tried to read everything I could get my hands on in the run up to tomorrow and I’d like for anyone else doing the same to have one more source to read.
I tried using thoughtbots dotfiles and their laptop setup.
However, I noticed both hadn’t updated their brewfile’s tap from tap
thoughtbot/rcm
to tap thoughtbot/formulae
. So I put in a pull
request or two and my first contribution to
opensource was born!
Happy New Year everyone! It looks to be an exciting year for me. Me and my wife are looking at relocating away from Arizona but haven’t yet decided where. This means new jobs, new city, new everything.
So the second week of thoughtbot’s learn prime study group is coming to an end and we were assigned the problem of writing a ruby application that generates word squares. A word square is like a crossword on steroids. Every column and row of said square needs to contain a valid word. Now this isn’t too tough for 3x3 or 4x4 squares but there was an added challenge to post your fastest time for a 6x6 square. I decided to wrap mine in rails (my reasoning was that some in the study group mentioning wanting to experience more rails apps) and you can find it here on github. One of the imaginary constraints I put on myself when writing this was I wanted every available word square to be just as likely to be found as any other word square. This made it important that picking words were random. I then pulled in the algorithms gem to gain access to a new data object called a trie. I then used this to try a optimize lookup of words from a dictionary.
Previously, I had mentioned signing up for thoughtbot’s learn prime and so far I’ve completed two of the workshops and tired to be fairly active on the forums. They’re currently experimenting with setting up study groups of 5-10 people to explore programming topics as a group. I joined and the first weeks exercise was to pair program with someone else in the group. The code in question was to make the game battleship. I paired with another Englishman and the experience was pretty awesome. Here’s what we came up with and although its not finished I think we’re both pleased with sticking to TDD and getting this far. The exercise was less about building the application and more about pairing with someone.
I’ve been thinking a lot lately about what I should be doing. Since leaving university and discovering ruby I’ve constantly been learning and growing and really it’s been easy. I’ve also been posting on here more often than I thought I would when I started. It sounds self defeating, but I honestly wasn’t sure that I’d keep going after the first month. I’m glad I kinda have.
I was reading through some ruby code and I found a cute little shortcut for avoiding lookups on those frustrating nil objects. The code is question was:
I tried making a new rails app today and got a wierd error after bundle:
Sometimes you need to know what version you have up on your production app. I theory we should all be tagging our commits and only pushing ones to production we’ve tagged. In practise I’m bad! So I thought “no problem, I’ll show the git SHA on the apps settings page!”. So I tried:
We recently started using New Relic to report on our biggest production app. So far it’s been awesome, we are currently on the two week free trial of pro. The first problem it’s helping us resolve is a loadtime spike that shows on the “Browser page load time” graph but nothing corrosponding on the “App server response time” graph.
This morning I signed up for thoughtbot’s learn prime program. This is a monthly subscription of $249 and gives access to workshops, books, screencasts, Prime Bytes, the Learn Forum, and access to a thoughtbot Mentor for one-on-one coaching sessions. The big thing there I’m interested in is the mentor.
So for the past few months I’ve been spending my working hours at a little share space called Gangplank.
I recently went on a three day course for ember put on by Tilde and I thought I’d make a post talking about the whole thing. Just a forewarning; I have only been coding for a sort time and come from a rails background, this post will be from the point of view of a rails developer.
So I’m working on some billing systems for a healthcare application and I just stumbled on some rails magic I didn’t even know was there. Both these options are methods for handling cases where you don’t want to delete associated records but need to handle the reference to a record that no longer exists.
Next week I’m being sent out to San Francisco for a three day training course in Ember JS with the lovely people over at Tilde. One of the really exciting aspects of the course is the fact that the two instructors teaching it are none other then Yehuda Katz and Tom Dale. If you didn’t already know, both these men are on the core team for Ember. Yehuda is also a huge contributer to rails and is on the w3c which means I should probably take note of anything he has to say on the future of web development.
I wanted to list the tools I’m using to make this blog and the reasons I chose them. First and foremost I do most of my work in ruby on rails and so it would seem like an obvious first choice to use for a blog. The problem with rails is its a bit of a behemoth. Using rails to write a blog feels like building ikea furniture. Each piece is well thought out and there are clear instructions for putting it together but it is still up to you to build the bloody thing!
So I've started a blog. I've been out in the "real world" for almost three years now, two of which I've been rapidly learning to develop web-applications. Two years ago I decided to learn ruby. The main aim was to start working with rails but all the internet gurus said "Without ruby one can be a good rails developer, but with ruby you will be a great rails developer!".