F`k it – Fix it – Psychology

I have just created a page Hire Me and told few friends and one asked me to come over and discuss a few projects his team is working where I can assist. Every single one of them was in Dot Net except one in Go. He is helping a renowned trader who has chosen to stay anonymous. A project is having code name OTAMIA.

Too Hot to Touch!

He stated that because of some inconsistency in an official Client of Kite Connect, the project is becoming annoying and unnecessary harder. His approach was not to touch the official API but use some duplicate structures to fix the issue or some conversions. He didn’t touch the official code but then again it wasn’t new. I created a framework on which every single Shopify App was build in SpiceGems and there, everyone worked on the framework decided not to touch what I wrote and this made a huge pain for everyone. I asked them why – they just said it is official (part of a framework)! My response was ‘F`k it Fix it’

F`k it – Fix it

The whole job of mine is to save time and pain. So we fixed the following issues or added feature (so far)

  1. Turned two packages into single – R.I.P compatibility.
  2. This enabled us to use a single structure for both packages.
  3. The error was coming as nil even when there was one – we fixed it.
  4. Data in converting JSON to STRUCT was giving blank (0000-00-000) dates – we added another known date format.
  5. We added a new flag to enable OI to be fetched.

All of the above changes were made within 2 hours but this removed all the unnecessary conversion, custom structure for proper JSON conversion and managing time column in our project. All of this so far had taken more than a week.

Be Brutal – Consultant’s Principal

Coding must be enjoyable and just because something is coming under the tag “Official” it doesn’t mean that there is no scope of improvement or you got to use that in the same way. If I can tell my team to f’k my framework, I can tell to f’k anyone’s. Knowledge and Tech both are evolving and we are all learning. Wherever you can save time and pain – just go ahead. Although, sometimes initial pain would save a lot of pain and time in the future. You will have to make a wise choice.

Open-Source KiteAPI

It was almost impossible for my client to let us make it opensource but he agreed and we have a code over here under MIT license.

https://github.com/VarunBatraIT/kiteapi

Tell your network!

11 Comments

  1. Under this big article what I like the most is you have highlighted the problem with Go. If you think about it – smart people made it and are using it (so to speak) but you just can have fucking functions attached to exported symbols (interfaces of structures) like WTF they were thinking. Now it goes with the FORK! Or you write a lot like you friend did. My bitbucket is filled with 10s of fork because of this. They all talk about simple C like syntax and go keyword, they don’t talk about the major limitations because of which you can’t extend the functionality as of today – March 2020

  2. Idea of maintaining your own fork of something very popular (actively developed) is in itself is scary. I have been through it. Despite tests were passed, sometimes what I have would fail. Or they will have same feature with a different API and I will reflect myself as a fool to make that change in first place!

  3. I was just like that – I pushed my company to use forks by fixing the issues opensource were having. The truth is opensource is slow in fixing issues. You can still find 100s of PRs on any popular libraries. We have been using many. The bug in Laravel DB was never fixed. My senior kept wining and we just couldn’t wait. So we forked the framework made our changes. We just used that fork until in 5.7 they fixed it. Then it was a pain to update on every minor version. Laravel minor version updates are more painful than any thing I have ever seen. We were stuck with PHP 7.3 because of this for quite long. If we don’t have time for update who are paid for it what can you expect on maintainer who are usually doing it in free time?

    1. Mr. Rick, fortune 500 are doing forks and not hiring the same dev who is maintaining open source. They are user and not creator – That goes with the Google as well. Most of the successful tools are closed. This is economy.

      1. Laravel is a shity framework. It is a business first of all and this is why it is hard to update it. They will ask you to pay some shit to help you with that.

  4. I am forwarding this article to all Juns. This has given me a new prespective. I am not a coder but my team tells me this all the time that they are doing some hack or waiting for some pull request.

  5. In most languages you can inherit the core class and add functionality. Still there are some where the dev would declare something private instead of protected. Opensource comes up with its own pain. Fork is the quickest solution to deal with the shit. As long as you have a dedicated guy who would simply keep things updated – say every month, I say you are good

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>