Sunday, July 30, 2017

Nothing to demo attitude

No added value

Can you relate to or have you ever experienced a similar "conversation":
A: I can see nothing demonstrable in the current sprint task list.
B: I beg your pardon? It's the second to last sprint before the release and there's a ton of work still not finished.

Yes, there are people who, for any reason, dislike doing demos (I am a member of the club myself). And certainly all projects have sprints in which the majority of work was solely refactoring, bug fixing, testing, and so on.

Although, claiming there is nothing to showcase while the release date is approaching fast and the MVP is still incomplete clearly isn't right.

Friday, July 14, 2017

Devs, Recruiters, LinkedIn and why it all sucks

LinkedIn manners

Software development is a creative and challenging craft. It's demanding, ever-changing and scary at times. A huge demand for devs, admins, network engineers, testers, etc. surrounds us. Many people are working hard to get most out of this opportunity.

Sadly, manners of some talent sourcers are appalling.

Thursday, May 18, 2017

Git repo - a tale of two remotes

One repo, two remotes

So you have a Git repo linked to a particular remote. But you need your code available somewhere else as well. Be it because of functionality which you want to keep private, a deploy to cloud environment or the reason lies elsewhere.

How can one approach this kind of situation, i.e. how to add and manage multiple remotes?

Sunday, January 15, 2017

A year with Tor

Looking back at 2016

As a follow-up to my previous post (which described how and why I use Tor) let's now take a look back at year 2016 and squeeze out some interesting information out of collected logs.

So that's what this post is about: numbers, used nodes and a map describing my usage of Tor in last 12 months.

Saturday, July 30, 2016

PostgreSQL + SQLAlchemy: accent and case insensitive search

Ignore accents & case

Maybe you know what it's like: you store UTF-8 encoded text/strings in your database but you want to be able to execute an ASCII based query ignoring all those pesky diacritics. It's not always straightforward.

The following tutorial is a compilation of 3 StackOverflow posts and it describes how to perform an accent and case insensitive search with PostgreSQL and SQLAlchemy.

Thursday, February 11, 2016

Tor IP changing and web scraping

Anonymous web scraping

Many of us who scrape web pages, be it for fun, data, love or something else, are concerned about anonymity. Well, not anonymity per se, we just don't want our IP blacklisted.

Many of us choose Tor and its network to achieve our goal. In this post I am going to share my experience and observations using Tor + Privoxy for Python driven web scraping.

Tuesday, December 15, 2015

Atom editor and Perforce integration on Linux (Mac)

Atom for editing, Perforce for version control

Atom is a really cool text editor developed by GitHub. It is modern, lightweight, fast, provides it's own package manager and tons of packages/plugins as well. Though, if you are using Perforce for version control, things may get a bit bitter.

This short post provides an easy and elegant fix for integrating Atom with Perforce on a Linux (Mac) machine. It solves the problem when the atom-perforce package is unable to pick the right p4 client.

Tuesday, October 20, 2015

SyntaxHighlighter on Blogger and an unexpected output in a Python snippet

Syntax highlighting on Blogger

I was looking for an easy way to add syntax highlighting to my code snippets here on Blogger. Yes, you can embed Gist code snippets, but this approach is not ideal always. There must be a better way for doing this. And of course there is!

I found SyntaxHighlighter after a few minutes of googling. It does exactly what I want, it's easy to use, supports many syntaxes and is nicely documented. But, for some Python code, it is doing a bit more than it should.

Thursday, May 14, 2015

Python 3.x and packaging issues

Greetings to ...

We will create a very simple Python 3.4 command line greeting app. It will take two arguments. An user name and an effect (if any) that should be applied to the user name. Then it will print out a greeting message. That's all.

While implementing and testing, we will run into and solve imports and packaging issues that may occur when someone used to Python 2.x is creating, testing and distributing a Python 3.x application containing a sub-package.

Sunday, February 1, 2015

SQLite to Spatialite

Preface

Imagine that you have a SQLite database which besides other data has latitude and longitude stored as separate [floating point] columns representing the position in WGS-84 (or any other SRID). And at some point you would want to geographically analyse your data in your favorite desktop GIS ( QGIS for example). It would not be possible until the database is spatially enabled, or in other words, converted to a spatial database.

Sunday, January 18, 2015

Python 2.x and Unicode

Preface

I was working [and still have some work to do] on a web-scraping project for last couple of months. I stared this project because I wanted to get more comfortable with Python and some nonstandard libraries like Requests and SQLAlchemy.
Python 2.7.6 was chosen to scrape websites which were using UTF-8 character set. That's how it all began.

Thursday, January 15, 2015

Health resources

Links to interesting health resources.

Wednesday, January 14, 2015

Hello World!

Let it roll ...

Hi everyone!
This is an introductory post to my first ever tech blog [wish me luck]. I just want to state a few basic things here.