If you’re new to brownfield development, here’s a primer.

According to Wikipedia:

Brownfield development is a term commonly used in the IT industry to describe problem spaces needing the development and deployment of new software systems in the immediate presence of existing (legacy) software applications/systems.

All software ages poorly.

All successful software becomes legacy software and the architectural decisions taken while building the existing software may not always be in line with what is current or appropriate to the new business and technological environment. …


I’ve been playing around with Substrate over the past couple of weeks. Substrate is a Rust-based blockchain building framework that is powering Polkadot and its associated blockchains. I’ve been a blockchain skeptic but there are a few changes in the ecosystem that is changing my opinion.

So, why would I be interested in the world’s worst database? Read on.

As many of you would know, blockchains started getting popular after Bitcoin and Ethereum showed that you can run a permission-less network and how it can reach consensus without a central authority.

I’m less interested in the financial/speculative aspects of these…


A lot of clients ask us why we do not take up fixed bid projects. Many often think it is because we do not want to commit ourselves to a project but that cannot be farther from the truth. We care about our clients and our engagement and that is why we say no to fixed bid projects.

Thanks. But no.

Usually clients put significant effort into authoring an RFP and send it out to multiple consultancies or agencies. They usually require information about the price, the number of consultants with the relevant skill sets on the team and prior work that they…


I’ve been following flutter on-and-off for the past year and a half. Although I primarily work on the backend, I tend to dabble with mobile apps from time to time. I was initially very skeptical about Flutter’s claims. I guess when you get a few gray hairs, you tend not to be excited about every new UI framework out there. Also, flutter sounds too much like flash or silverlight. In fact, Flare (a flash like studio) exports assets and dart code that can directly be used in a Flutter app.

Photo by Randall Ruiz on Unsplash

Dart

One of the first things that you notice about flutter…


It started as an internal email on how we should approach hiring but in the interest of transparency; I thought it would serve better as a blog post. Hiring is a crucial aspect of how we grow at Tarka Labs, and we take it very seriously.

Photo by Steve Halama on Unsplash

Finding potential “Tarkans.”

Yeah. That’s what we call ourselves. Most of our hires have so far been from our network. Referrals are usually the most preferred source, as the potential candidate has got a reasonably good assessment from the referrer. We also get potential hires from enquiries from developer conferences and meetups where we speak or attend…


I have not been a fan of technical certifications because I believe they skew the incentives of test takers to clear the test rather than to gain actual knowledge. Most tests like the Google Cloud certifications or the AWS certifications offer a multiple choice question/answer. While this may test the knowledge about and around the product/service, it is a bad proxy for a candidate’s ability to get the job done in a given amount of time. This problem is exacerbated by the number of dumps and “learning” resources that mushroom around a certification after a few months. I have interviewed…


Most of the stories we write on our blog is focused towards the “how to” aspect of software development and we have purposefully restrained ourselves from writing about our opinions. We believe in having weakly held strong opinions. But there comes a time when expressing your opinions saves keystrokes.

The question we get asked often is -

Do you do agile?

Now that is a very difficult question to answer. While I wholeheartedly agree with the “Manifesto of Agile Software Development”, we do not do agile. We believe in being agile. …


So in our earlier blog post we saw how we could use Go’s SSH library to remote control your server. Before we go on to part 2 of the series, I wanted to talk about SSH auth briefly and on setting up a scalable approach to SSH identities.

When you set a linux server up, you will add a few known keys to authorized_keys. This is fine when your team is small. As your team grows or you bring in consultants or there is churn in your team, it quickly becomes quite difficult to keep up with the authorized_keys. The…


Go has an amazing standard library and it has a pure-go implementation of SSH. This means that you can use Go to interact with remote SSH servers. Why would you want to do that? Well, you can automate many tasks on your server by triggering things on the remote machine and do some cool SSH tunneling.

Gophers gotta have fun

Establishing a connection

SSH is implemented by the golang.org/x/crypto/ssh package. Before you can dial into an SSH server you need to setup the ClientConfig. A sample SSH client config looks a bit like this.

config := &ssh.ClientConfig {
User: "username",
Auth: []ssh.AuthMethod{…

I talked at the Ramco Nuthouse group about Kubernetes from a hacker’s perspective.

Vagmi Mudumbai

Building an awesome team @tarkalabs. Hacks on golang, kubernetes and vim.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store