Test post for possible hovercard issue

I’ll be adding comments here.

Blog Moved!

I’ve finally decided that being a real software engineer it was about time for me to have a “proper” blog. Enjoy mokacoding, powered by Jekyll and hosted on the GitHub pages.

All my coding posts are there. I still have to decide what to do with the few other muggles posts.

It’s been fun using WordPress, but the thrill and simplicity of writing my posts in Markdown is really and publishing them via git push is something my geeky soul needed.

Some things I learned in July

July has been a month dense of learning and (re)discoveries! First of all Rails 4, which I come to love back in the day, when I was working with my friends on the first prototype of Kunerango

Objective-C and iOS Development

http://rentzsch.github.io/mogenerator/

Guess what? CoreData doesn’t make your life easy when you’re seriously working with test, http://stackoverflow.com/questions/1876568/ocmock-with-core-data-dynamic-properties-problem. I like the protocol approach, even if it adds a some “boilerplate code” to maintain.

nomad a set of useful tools to automate the every-day development. Another gift from mister Mattt.

Ruby on Rails

Rails 4 finally out! http://weblog.rubyonrails.org/2013/6/25/Rails-4-0-final/

Nice and clear guide to testing with RSpec on Rails http://everydayrails.com/2012/03/12/testing-series-rspec-setup.html

Binstubs, because the less we type, the better! http://blog.barbershoplabs.com/blog/2013/03/01/upgrading-to-rails-40-binstubshttp://mislav.uniqpath.com/2013/01/understanding-binstubs/http://robots.thoughtbot.com/post/15346721484/use-bundlers-binstubs

The haml-rails gem integrates with the template generators, out of the box!

How cool are named routes? post 'items/move_down/:id' => 'items#move_down', as: :move_down ), look at the routes.rb comments to know more about them.

Amazon AWS S3 gem http://amazon.rubyforge.org

I found a nice gem to add enumeration type to the ActiveRecord models: active_enum, but is it compatible with Rails 4? Here’s a link on how to use it http://qubitlogs.com/Rails/2013/02/01/creating-pre-defined-set-of-attributes-mapping-integers-to-strings-in-rails/#.UdWbpT6DQ_U

Ruby

I wrote some scripts to speed up some of my daily task at work, and used some nice gems in the meantime:
nokogiri, to parse HTML using CSS selectors
rest-client, fetching pages from the web with one line of code
json, to parse JSON
diffy, comparing strings has never been so easy
mail, sending emails from your scripts

Coding Recipes

http://codeartists.com/post/36892733572/how-to-directly-upload-files-to-amazon-s3-from-your

http://quickleft.com/blog/keeping-your-json-response-lean-in-rails

Several ways to run a command line command from a Ruby script.

Sysadmin

Fixing Postgres connection error on OS X Mountain Lion http://jaygoldman.com/2012/11/fixing-postgres-connection-errors-on-mountain-lion/ (funny because with Node there were no problems)

Javascript

I looked into a bunch of Javasciprt techs: Underscore.jsJadeHandlebarsStylusExpress

Tools

http://imageoptim.com/

Software Engineering Good Practices

Coupled dependencies, I found one of those monsters in a colleague’s code. It took a lot of self-control to avoid being a prick and pointing it out on GitHub.

Interesting readings

How Basecamp Next got to be so damn fast without using much client-side UI

What I did in a week…

As promised one week ago, here’s a report of what I managed to do in this unusually full of free time week.

I’ve caught up with Arrow and Game of Thrones. The Red Wedding was better in the book, in my opinion.

Oh! Yes… I did some coding as well 😀 I’ve completed the MVP of my iOS app, and I have a working and tweeting setup of the Twitter based Rails App.

iOS

I’ve built a simple app using CoreData and MagicalRecod for the data storage, focusing on a simple gesture based UX, powered by JTGestureBasedTableView, with an iOS7ish look. The idea was to roll it out on TestFlight for a week or two and then submit, but the recent cracker attack at Apple have delayed plans. I also used my two WIP pods MGCraftman and MGObjectiveUtils, but the project is simple so I didn’t have the occasion to add stuff to them.

Rails

To implement my Twitter based web app I’ve relied on the twitter gem, which does all the dirty work for me. I’m using Haml for the templates, I love it, so minimal and clear. I’m also gonna use SASS for the styling. So far I’ve only been using LESS, so I decided to give it a twist.

Good Practices

Both the projects are obviously being implemented in a as much test driven way as possible! rspec and webmock on the Ruby side, Kiwi on the Objective-C one. Neat!

Finally my simple PR on xctool has been merged, and I’m proud of it. And surprised no one thought about coloring the result output before…

That’s all. I’m overall satisfied of what I managed to build. Although I could have avoided watching half a season of Arrow in two days while coding and focusing more… -.-

 

 

A week of time…

I found myself in an unusual situation: my girlfriend is gonna be away for a week, and almost all my friends are already busy for the weekend. This means that I’ll have a lot of lonely time!

What am I gonna do? The answer is easy: code as much as I can, and enjoy the sun that’s been blessing London for the past days.

I’ve actually already started coding. I’ve just submitted a PR to xctool, let’s see how it goes…

I’m gonna write again in a week and report my progress. Hopefully I’ll have an almost ready iOS app, and an embryo of a Twitter-based web-app ready

CocoaPods: the $(inherited) flag

Edit: the blog has moved! Check this article here.


 

I’ve done it a lot of times by now, but I keep forgetting it. So here’s a quick post to commit it to memory!

If we have a project with the Tests target it can happen that after running pod install we get this messagge:

[!] The target `MyProjectTests [Debug]` overrides the `FRAMEWORK_SEARCH_PATHS` build setting defined in `Pods/Pods-MyProjectTests.xcconfig'.
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.

How can we “use the $(inherited) flag”? Where should we add it?

The $(inherited) flag is an flag we can pass to the linker and that does some magic…. I haven’t been able to find a proper explanation for how $(inherited) works, although it’s easy to guess from the name.

Being a linker flag we can add it in our target Build Settings > Other Linker Flags section.

Screen Shot 2013-07-10 at 00.16.36

That’s all. I feel better now that I’ve put this piece of memory in the external storage of my brain that is the internet. And I hope it may help someone else too.

Some things I learned in June

Last month I decided to start keeping track of the things learned along the way. This list at the moment seems kinda short, let’s say that’s because I didn’t start keeping track of the stuff from the beginning of the month.

Coding

Testing Objective-C classes equality: http://stackoverflow.com/questions/10944460/testing-class-equality-in-objective-c

Objective-C _cmd returns the method name within a method: http://stackoverflow.com/questions/2770307/nslog-the-method-name-with-objective-c-in-iphone

You can use a Pod locally: https://github.com/CocoaPods/CocoaPods/wiki/Working-on-a-pod

Systems and Tools

How to stop autocorrect in zsh:
http://yountlabs.com/blog/2010/11/06/disable-autocorrect-in-zsh/

Trivia

Where does the Logarithm name come from:
“Napier first called L an “artificial number”, but later introduced the word “logarithm” to mean a number that indicates a ratio: λόγος (logos) meaning proportion, and ἀριθμός (arithmos) meaning number.” http://en.wikipedia.org/wiki/Logarithm