What’s the Point in Having This Blog?

iStock_blog write keyboardI remember a while back I was headhunted by a (tech) company and the initial discussions went rather well so I decided to accept their invitation to go to their office for a more in-depth interview discussion. While meeting one of their team members the discussion came up about how do I keep myself up to do date with technology. I told him that I spend time regularly checking sources like Twitter, LinkedIn, buzzfeed and so on, I attend meetups and also I have mentioned, I blog.

“You blog?” he asked and his face showed a clearly not pleasant surprise.

I told him that yes I do, and to clarify the confusion I explained that while my blog (this one) sees updates at time to do with my personal life, I blog also a lot about technical matters.

“Why?” he asked again visibly irritated.

Read the rest of What’s the Point in Having This Blog?

Using the Netflix Genie Client in Java

netflix genieOk, so if you haven’t been watching my activity on GitHub you might have missed this, and as such I feel it deserves a full on blog post. Recently, having joined Netflix, I started using some of their libraries, as to be expected. One of the things that I used pretty much from day one here, was the Genie library. To quote from Genie’s page on GitHub:

Genie is a federated job execution engine developed by Netflix. Genie provides REST-ful APIs to run a variety of big data jobs like Hadoop, Pig, Hive, Presto, Sqoop and more. It also provides APIs for managing many distributed processing cluster configurations and the commands and applications which run on them.

As you can probably figure out from the above, I’m using Genie for querying some of our Hive datastores. And in doing so, I’m using the Genie client code which Netflix provides with this package — available in Github: https://github.com/Netflix/genie/tree/develop/genie-client

However, having looked at the sample code they provided I realised this can be actually improved. I spoke with the folks here who are looking after the Genie project and it transpired quickly that indeed the client library is in need of some lovin’. So I set off and put together a pull request (https://github.com/Netflix/genie/pull/116). This has now been merged into the main trunk however I think it needs a bit of attention as I’ve seen code presented in this project used elsewhere which can be improved based on the changes I put together in that pull request. This blog post will walk you quickly through these changes — if you are using pieces of code from the client’s code in GitHub, it might be worth reviewing your code and see if my changes can be applied in your project too.

Read the rest of Using the Netflix Genie Client in Java

CodeNarc and Gradle

OLYMPUS DIGITAL CAMERAI have started using recently Gradle, which I have to confess I actually find to be a bliss compared to Maven. Maybe because I prefer a Groovy-based syntax for build configuration, rather than Maven’s XML-based configuration file. Or maybe because I feel somehow the Gradle peeps have made the tool a bit easier to use than Maven. Or maybe because the integration with IDE’s seems to be cleaner. And I could probably go on, but you get the idea: after the initial playing with this, I’m digging it :)

And while using Gradle, here at Netflix, one of the things I started looking at is how to add a bit more automated defect detection to our code base in Ads Engineering, in order to improve our code quality. Of course, for those of you who are familiar with code coverage tools and the likes, Checkstyle, FindBugs and so on springs to mind. And all of these tools have (rather nice!) Gradle plugins — which makes this task a bit of a breeze!

Read the rest of CodeNarc and Gradle

About Writing Clean Code

iStock_000008980370XSmallEvery now and then I feel any developer should sit down and reflect upon some of the experiences from the past. I feel this is healthy: once you allow enough time to pass, you can go back and revisit good and bad (technical and less technical) experiences from the past and learn from them. The good experiences will teach you what to keep doing. The bad experiences will teach you what to avoid, and that is very very useful knowledge. (As a side note, it is said that that good judgement comes from experience, and experience comes from bad judgement — so don’t shy away from failures, they provide a lot of learning!)

Based on my own advice above, I do try to do this myself rather often. And changes in my life provide a good point often to sit down and do this. Right now I have just joined Netflix and the focus and tempo of my work has changed again so this is a good point in my life, I feel, to do so.

And as with a lot of times when I sit down and think, there’s a blog post to accompany my trail of thoughts :) This particular time I’m going to talk about writing clean code.

Read the rest of About Writing Clean Code

Mobile Advertising Is Still Where Web Advertising Was in the 90’s

iStock_000016927626XSmallI wrote before about how bad occasionally mobile advertising gets nowadays (see this blog post here). That was about 6 months ago — and I was hoping things started to change in the meanwhile. (After all, in the Valley we hear a lot about how quickly the world changes, right? :D) Well, it appears not — some companies are still stuck in the silly mentality of using in-app advertising to just annoy the hell out of the user until they buy some premium service. And today I had just encounter another case of really really bad advertising.

This one is extremely bad because it’s not just nagware where you get shoved advertising in your face at each step until you pay for a premium service. (And by the way, that in itself makes a really bad case for advertising because it is actually stating upfront to user that “look, we know advertising doesn’t work — soooo not true by the way! — and we don’t really value it either but we know you hate it and we’ll keep shoving it in your face not because we hope you might be interested in the products we advertise, but because we hope you will get so annoyed with it to buy our premium service and get rid of it”. In other words, advertising is not used to trigger user interest in other products or services, but instead just to annoy the s#@$t out of the user.) No, in this particular case advertising actually prevents the user from using the application!

Read the rest of Mobile Advertising Is Still Where Web Advertising Was in the 90’s

Love Thy History

iStock_000021005439Large_little_boyThis is another speech I’ve given at Valley Toastmasters and it’s part of the Competent Communicator manual, project #10: “Inspire Your Audience”.

(The speech is actually based on a Ted talk given by Terry Moore titled “Why is ‘x’ the unknown” and you can watch it here: http://www.ted.com/talks/terry_moore_why_is_x_the_unknown )

As a reminder, the objectives of this project are:

  • To inspire the audience by appealing to noble motives and challenging the audience to achieve a higher level of beliefs or achievement.
  • Appeal to the audience’s need and emotions, using stories, anecdotes, and quotes to add drama
  • Avoid using notes

With that in mind, here’s the speech I delivered.

Read the rest of Love Thy History

23andme Holiday Party

Goodbye Old House, Hello New House!

Read the rest of Goodbye Old House, Hello New House!

Advertising vs Digital Marketing

Computer devicesIt’s been known for a while now that I have taken on the role of CTO of The Linus Group. It has been said at the time about this that I am changing my area of expertise, since I left Magnetic / Cognitive Match who were clearly focused on online advertising to join a company which operates in digital marketing space. This statement is something which I disagreed to from the beginning, as I don’t see this as a change of direction on my side at all (on the contrary!) — so I’m setting off to shed a bit of light into this matter in this post. I’m going to make a bit of a side-by-side comparison in between the online advertising and the digital marketing and see how much they are alike to each other as well as complement each other.

To start with, let’s look at who is a heavy user (and by user I mean someone who buys advertising inventory not just consume it, the way any web user nowadays does) of online advertising. It turns out it’s exactly digital marketers! These guys are looking at ways to increase brand awareness, develop a regular user base or increase their sales by using all sorts of channels, one of these channels being online advertising. The concept is very simple: you buy advertising to attract users to your website — with a view in mind to sell them a product/service, have them join the ranks of your regular users and so on. It’s the typical sales funnel with the advertising at one end and sales at the other end. The thing that one might not be aware of working in online advertising is that most of the online advertising budgets come as a result of a marketing strategy — and as such are approved by marketers.

Read the rest of Advertising vs Digital Marketing

Marketing Automation Companies Have a Lot to Learn from Tech World

businessman shows modern technologyAs you might know by now, I’ve adjusted a bit my career recently. My core experience is a techie in the online advertising world — and as of recently I’ve moved into an adjacent segment: digital marketing. It sounds like a drastic move, but to be honest, when you look closely, it’s actually the same thing, but from the other side of the fence (and to be honest at a much smaller scale).

The advertising world deals with ad views, impressions, clicks, conversions, visitor profiling… and the digital marketing world deals with the same: any digital marketer is constantly looking at conversions, page views, call-to-actions, landing pages, profiling visitors, lead nurturing (which is very similar to visitor scoring we’re applying in advertising) and so on.

In fact, back in the day when I was in Cognitive Match, the original idea of the business was exactly that: to take ownership of the whole sales funnel. (Sadly a few things went wrong somewhere at the top and we had to ahem pivot a bit…)

Read the rest of Marketing Automation Companies Have a Lot to Learn from Tech World