Image for post
Image for post
Photo by Fotis Fotopoulos on Unsplash

Testing is one of the most important practices in software development. And with automated test runners like Travis, there’s no reason not to write tests.

In this article, I talk about the testing ideas that have helped me in my developer life.

Test external dependencies periodically

External APIs can break anytime. They don’t actually “break” but the API you expect it to provide and the API it provides can mismatch anytime. So, you can’t relax while using them.

One way to reduce this risk is by running tests against them periodically. You can use the cron feature of TravisCI to do so. …

which might look like yet another note-taking app

Image for post
Image for post
Screenshot of Your Note’s web version

A little backstory before we get into the “why” — I have been taking notes for as long as I started using computers. In fact, the first software that I install on a new PC would be a way to take notes.

That being said, I have used a lot of note-taking software over the years. First, it was OneNote, then CintaNotes, then CherryTree, then SimpleNote, then Apple Notes, then my own Sublime Notebook, then Notion and currently Evernote.

You might be wondering why did I switch through so many apps if note-taking is so important to me. …

Image for post
Image for post

I first started Competitive Programming (CP) in the first year of undergrad college. I should have started sooner.

CP has played an important role in my career so far. In fact, it was the major reason I got the freelance contract (Toptal) that I am doing. Simply speaking, being good in Competitive or Sports Programming allowed me to outrank other programmers by a large margin.

So yes, CP is important. Let’s just list down the reasons why it helps you as a programmer.

(1) Improves Logic

Your logic improves by practice. You weren’t this smart to being with. With CP, you continuously train yourself with algorithmic problems that test the better out of your current logic skills. …

Image for post
Image for post

I was recently asked by a Computer Science college fresher about plans and advice for this new adventure of theirs. Here is the exact reply I sent.

Hi Slim,

I don’t know if this will be a self-fulfilling answer. But here it goes.

The truth is, you can’t really plan a lot. At least, that’s what I believe in. Instead, find something that you are interested in, and do it.

Like, for example, at first, I got interested in how Android apps were built. So I learned the shit out of Android development in a couple of days. …

Image for post
Image for post

People have really a hard-time paying for software, online courses, digital subscriptions, and other similar online stuff. This really saddens me.

We have reached this point in our civilization where software (or any code-backed product) are commonplace like any physical goods. So why the discrimination?

I will tell you why.

People know that software, songs, courses etc can be easily mass distributed. That is, if you do make a software or song, you can almost distribute it for the same cost to 10s or millions of people. There is very little overhead.

And that is partly right. Maybe that’s why people don’t want to pay for software because they think a song/software developer has an unfair advantage. They are essentially just making copies of the code (which is free unlike physical photocopies) and earning sweet 100% profit from it. …

Image for post
Image for post

I have been asked this many times. How do I get into freelance?

Honestly, it’s not that easy. Freelancing comes with downtimes where you won’t get a client for a period of time which can be quite nerving if you are just starting out (and don’t have any savings).

But all in all, freelancing is quite a good career option in the long run. Why?

Many reasons -

  • Ability to choose your work
  • Location independence — work from anywhere, including your home
  • Higher relative pays if you reside in a third world country

But you can really enjoy all these benefits once you have set your foot in the freelancing world. …

Image for post
Image for post

Move Fast and Break Things — such a popular saying in the startup world. Some are so in favor of it that they sing it everyday while there are others that absolutely loathe it.

I, for one, used to be not much of a strong believer in this. But then, through my own life experiences, I realized how this works.

There are two components to it -

(1) Move Fast

The first idea is pretty simple. You move fast. You do things fast. You work fast. In other words, you don’t over-plan or procrastinate because it won’t help.

(2) Break…

Image for post
Image for post

The new languages coming out these days are amazing, especially when coming from the C’s and Java’s.

Go is super fast and a pleasure to code in, thanks to its static typing.

Rust has a syntax we all know and love but in bonus, with the speed of C.

Dart is nice too, and thanks to Flutter, we can make beautiful native mobile apps using it. And that too, cross-platform.

But that’s not what is most exciting about these languages I just mentioned. There’s one more thing — they are more like the no expert zone.

No one knows a lot about these languages (at least if you go by the general population of programmers) so if you learn them, you can stand out. …

Image for post
Image for post

For those who don’t know, Chattt is an open source CLI based chat application that I created in my free time. I recently launched it on Product Hunt and it was able to reach the 7th position for the day, with 288 upvotes. In this article, I will share my expertise on how I got there, and how you can do it too.

We would like to take this opportunity to thank the awesome folks at Hasura for providing us with free production-grade cluster space. We owe you guys!

Image for post
Image for post
HapRamp powered by Hasura.io

The Stack

In case you are wondering about HapRamp’s stack, here’s a pictorial representation that best describes it —

About

Avi Aryan

Maker, Fitness, Books

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