It is always observed that changes in one class cause other class’s tests to fail. This happens often because many other classes change when we change one class, leading to many other tests changing / breaking. It is always best to mock all other classes. That way, other classes are not actually used in the test, and you can ensure that your tests do not break! This also ensures that the only coverage we get is from the test written... Read More Read More
First, this will make your commit message a cryptic mishmash, which no sane person will understand! Second, when someone needs to cherry-pick something from one branch onto another, they’ll be unable to do so cleanly. If you are linking your commits with JIRA, this is even more awesome because now the unrelated JIRA stories are also linked together by this commit! And if your team uses JIRA or commit messages to write release notes, oh well, they are in for... Read More Read More
Kill The Hi Yeah, you read it right; I mean the “Hi”; the ‘hi’ people often use as the first message of a conversation in online chat, the same ‘Hi.’ That “Hi” is a productivity killer, a waste of time, and an unnecessary formality that does not suit today’s remote-enabled chatting modes. The Game Of Hi And Seek Have you ever started your work day to see a “Hi” from a random person on the office chat? You naturally respond... Read More Read More
The Problem How often has it happened that you go through the pains of selecting the best fitting candidate for the role you have in your Company, offering them the best salary you can afford, and yet they do not turn up on the joining date? How often has it happened that you have gone through the painstakingly long and challenging interview process, got the offer that met your expectation, but still continued to interview with other companies, mainly because... Read More Read More
Scrum is not Agile! There, I said it! Okay, okay, before you all bring out the pitchforks, please allow me to explain what I mean: Scrum is not the same as Agile, Or Scrum is not the only Agile framework; there are many more Agile frameworks, and one should not use the words Agile and Scrum interchangeably; Or one should not assume Scrum when someone says Agile. That’s all, that’s all I am saying. (Yes, the title is a clickbait!)... Read More Read More
I take it that most people, by now, know what Feature Flags are. The interesting thing, though, is that depending on whom you ask, they’ll have a slightly different answer as they have a slightly different use for the flags. The UX designers see them as a way to test users’ responses to various interface choices and flows. Similarly, an advertiser will tell you that they use Feature Flags to test audiences’ responses to different campaigns. For software developers, they... Read More Read More
Historically, interviews have always been about the company. It has always been a way for an organization to evaluate candidates. And no denying, that is the purpose of the interviews, this is why any company would fund the interviews. And this is why the interviews are so boring to go through as a candidate, this is why I as a candidate would be unsure if I wish to join your organization, unsure if you are offering what I am looking... Read More Read More
Some 2 or 3 months ago I decided to experiment with Polyphasic Sleep. It is a fancy word, I would just describe it as “sleeping in multiple slots spread across the 24 hours of the day”. Don’t ask me why; maybe to make more time for myself, to be awake more, maybe to do more stuff, or maybe just because it is a fancy new thing. But I think it was because I wanted to wake up early, start my... Read More Read More
I do not want to get into the reasons of why someone would want to migrate their email account from Zoho, a free/cheaper service, to GSuite, a paid service. For small businesses, Zoho is a really good service provider, but it has some drawbacks and so, if someone needs to migrate away from Zoho to GSuite, here is a tried and tested way to reduce your hassles with some handy tips along the way. Some Considerations Now this is your... Read More Read More
This is a discussion on Git, the version control system. It is intended for folks with: Limited or no knowledge of any version control system Experience with Centralized Version Control Systems Experience with DVCS, but specifically git. It covers the basics of version control, DVCS, and then goes on to describe Git in a practical way, with exercise to get the team quickly started on using Git. It also talks a bit about how Git works internally, giving insights into... Read More Read More
A bit late to post this? May be. But it is still relevant, so here goes. We shall see how to setup openvpn client on Ubuntu versions greater than 18.10 (or was it 18.04?) It certainly matters for 19.10 though! A few things changed back then that caused issues in openvpn connection and DNS resolution. There was a fix found, and package released bundling the scripts so that normal users like us can install and enable those scripts. This solved... Read More Read More
This is not an episode of the Tech Nuggets And Thoughts podcast, this is just an update. The podcast is moving to a new home: https://www.tnt-podcast.com Please follow the new website or various other podcast aggregators for updates on new episodes and topics. You can find all the applicable links in sidebar or on the new website. The blog will continue to be the vessel for my personal ramblings as usual.
This is the forth episode of podcast “Tech Nuggets and Thoughts”. In this episode, we talk about Unit Testing covering points such as: What is testing? What are software requirements? The test pyramid Importance of business in software and what it means for testing. Test principles: F.I.R.S.T Test First approach What is a unit, in unit testing? To get updates, you can subscribe to the podcast on: Apple iTunes, Google Podcasts, player.fm, RSS feed, FeedBurner, Stitcher Radio or TuneIn . If you have any... Read More Read More
This is a myth-buster exercise. When it comes to microservices, the talks and blogs around are riddled with fancy and scary terms. This presentation is takes a different take on it. Instead of learning the terms, we discover the solutions to various problems and then learn what those solutions are popularly referred to as. We go through the history of software architecture to understand how it evolved in the good old days. Based on which we draw some rules of... Read More Read More
Recently, while reviewing some code, I came across the snippet below. Now a keen mind can spot many issues with this. The ones I am referring to are something specific and relevant to the business though. The code is supposed to fetch all active clients, loop through, get job specifications from some DataSources defined for those clients, build a config object and return those values to calling function so that those jobs can be fired. Interestingly DataSourceInstance, DataSourceOriginConfig and DataSourceJobConfig... Read More Read More
This is the third episode of podcast “Tech Nuggets and Thoughts”. To get updates, you can subscribe to the podcast on: Apple iTunes, Google Podcasts, player.fm, RSS feed, FeedBurner, Stitcher Radio or TuneIn . If you have any suggestions, thoughts or recommendations, please feel free to comment below. You can also reach me on podcast’s twitter handle @TechNggets or my personal account @nikhilwanpal. (If the fancy player above does not work, try the bare bones player below.)
A few days ago I published this blog mocking the ‘Ceremony Focused Agile’ teams. But it is pointless to state what one thinks is not right, without also commenting on what one thinks is right! So let us do that today. Here is a conversation, which I am sure many of us have witnessed (or been part of): A: “I have assigned a ticket to you, what is the status of it?” B: “”Ticket, what ticket?” A: “It’s in JIRA,... Read More Read More
So here’s a true story. I work with a normal sized team as per Agile/Scrum guidelines, about 8 people. We have our usual stand-ups every day, at about 10:30 in the morning. As a general rule, people have to join this meeting. Everyone speaks following the Scrum rules, just what is required: What I did, what I am going to do today and if I am blocked. And that’s it. Yet, our discussions diverge, others jump in to help whenever... Read More Read More
This is a quick tip about a quick solution to a regular small problem! AWS CloudWatch logs are great, but the search feature on those logs is not. The search only lists the lines that are exact match to your search term. Usually you would want to see a few lines above or below the match as well! Not all logs are single line, unless you spend efforts in ensuring that there are no newlines in the content being logged... Read More Read More
This is the Current State Of Processes Around It! I recently started working on a foreign software development contract. It seems that to ‘earn’ via such a contract, you need to have a business entity of sorts. I had to undergo a long, painful process riddled with unknowns and uncertainties to establish one and raise my invoices. Here is a brief of my understanding of the process and various norms and laws. I do not claim that the material below... Read More Read More
Here is a quick tip for all the automation buffs like me. Turn your mic on and off with just a keyboard combo. I do all my work remotely. Which is also to say I have a lot of conference calls. And like you, I hate it when people do not mute their phones / mic on laptops when not speaking! (cue in the obligatory meme about not putting your phone on mute during a call!) I always wished for... Read More Read More
If you work on cloud it is likely that you have used those numbers and slash that follow the IP addresses. The documentation points to something called CIDR. It is said to be super helpful, and awesome standard adopted by internet that extended life of IP4 . But have you tried searching ‘what is CIDR’? It is all jargon, all of it. There is hardly any lay-man friendly explanation of the term. Even Wikipedia has managed to find a complex... Read More Read More
This is the second episode of podcast “Tech Nuggets and Thoughts”. Some docs on git flow: The blog that brought it to us: http://nvie.com/posts/a-successful-git-branching-model/ git flow scripts project discussed in podcast: https://github.com/petervanderdoes/gitflow-avh A superb cheat sheet for git flow: https://danielkummer.github.io/git-flow-cheatsheet/ To get updates, you can subscribe to the podcast on: Apple iTunes, player.fm, RSS feed. If you have any suggestions, thoughts or recommendations, please feel free to comment below. You can also reach me on podcast’s twitter handle @TechNggets or my personal account @nikhilwanpal. (If the fancy player... Read More Read More
I have moved by blog over from blogger to WordPress! As these two platforms are not exactly compatible, old links are broken, please give me some time to fix them. I am working on it. How do I access the old blog pages? Meanwhile, you can: Try replacing the year and date between the domain and the actual blog you are looking for with link with ‘/blog/’. If you are logged in to WordPress, the blog may show you a... Read More Read More
This post was written ~6 years ago, a lot of things in the world of browsers have changed since, the game may no longer work/look correctly. A game with unknown name! That is what it was when I started working on it… I played this game first as a board game, on a very very old board, with no reference to the name. It was to be played by two players. The other day, my younger sisters friends had come... Read More Read More
It has been almost a year since I have been working primarily in JavaScript. During this time I have written three jQuery plugins and loads of other scripts.This is the story of how my approach to writing jQuery plugins has evolved. I was working on my first plugin, which was supposed to be a large (in LOC) and went through the authoring mentioned on the jQuery site. In the beginning- it was great, a few exposed methods, well organized code, private functions,... Read More Read More
How many of the web developers do not depend on Firebug or the chrome’s console… Just wondering.. BTW, its plain fun to work with firebug, makes life a lot easier.. Its a different matter all together that the other browser that you have to develop for does not have a powerful enough tool. (Name deliberately avoided to avoid the eminent flame-war!) Yes the current versions have a quite powerful debug and development tools but (hopefully) few developers working on products... Read More Read More
While there are awesome syntax highlighting and styling libraries with nicely written tutorials for using them with blogger, a simple ‘code’ tag can suffice at times… For such times: .myCodeHighlighter { border-left: 4px solid #FF9933; display: block; font-family: Courier,"Courier New",monospace; margin: 15px; overflow: auto; padding: 15px; text-align: left; white-space: nowrap; } And use as: //the code codes here.. A preview of how it will make your code tags look like? You are looking right at it! 🙂
Now this is a post that is going to be updated time and again.. The very post that made me abandon my previous blog to move on to a Google site.. Requirement: Need to setup a local repository.. a version control system.. Given that I use VSS (I know, please dont make faces..!) at my work place, I am used to the ‘ease’.. However it may be, it sure is simple to use…! I need the repository to be platform... Read More Read More
To give an introduction, TiddlyWiki is a wiki in a single html page, a must have tool for every developer, what you use it for is subjective. And mGSD is a TiddlyWiki variant to aid in GTD. I believe, CheckboxPlugin is a must have in a tiddly wiki that can even remotely be used to track things! In spite of warnings that it ‘damages your mGSD’ I haven’t been able to damage mine nor the data in it for a while... Read More Read More
I believe almost all dual booters wish for something like this.. The eclipse workspace should be independent of the operating system they are logged in..! well.. I have found a way to do it.. Issue: The problem with using the same workspace is that ‘it doesn’t work!’ 😀 well.. the configuration of a workspace is stored in .metadata folder inside the working directory.. it has all the paths.. Most importantly, the path to JRE/JDK..! If a workspace from Windows... Read More Read More
Hello!It’s not that this is my first attempt at blogging but my previous attempts never went past a couple of posts… This precisely is the 3rd!This time, I was serious to make it a habit to blog. The idea is, when you want to blog, it has to be about something new, something you tried ‘new’, in effect, you keeping doing something new. One of my attempts to keep up experimenting. This time wanted to make it different, a name... Read More Read More