Photo by Sebastian Herrmann on Unsplash

One of the first questions that come to mind is how to get a client. It’s one of the most challenging parts of freelancing when you’re just starting out. You’re amazing at what you do, so how do you get the word out about it? To win your first client, you’ll need lead sources and also some legwork, just like any other company. I’ll go over three ways to get new clients in this article.

1. Define Your Niche

If you want to find the right customers, you must first define your niche in order to know who to approach. Tom Abbott suggests in…

Photo by Senad Palic on Unsplash

I’ve been a VIM user for a long time, but as I mentioned before I
finally wasn’t satisfied with the quality of VIM language and its
limitations on basic editing features that I needed even though I
could correctly setup and use it for my specific needs using various
plugins and manual configuration.

I’m a bit perfectionist about how I work and regularly read and measure
how I do, and I’m willing to improve no matter what I’ve been used to.

To get something you never had, you have to do something you never did.

Let’s get started!

Emacs With Better Defaults

I wasn’t…

Photo by Nazarizal Mohammad on Unsplash

When dealing with micro-functionalities, you don’t want to deal with many things, including server management, logging, performance, and scaling. That’s where AWS Lambda comes into play.

Processing CSV Files

You have an application that allows users to upload CSV on AWS S3, and the uploaded file gets processed afterward; to do so, you need a background job to avoid blocking your application and rate-limit the traffic.

After AWS added S3 Triggers, it is easy to specify that every time a file gets uploaded to a specific bucket, an action will trigger, which is AWS Lambda function.

Photo by William Krause on Unsplash

All configuration management systems suck in equal measure, but each in a different fashion. Pick the one that sucks the least for your particular use-case and hope that two years down the line you made the right choice.

Ansible is hard

With Ansible, we do not see the same ability to be transportable. Templates begin with the relationship of your services to the business. It becomes difficult to adopt an idea that does not match with your context.

Configuration management also seems to be the place most people want a “standard” for. “Just tell us how to do it,” the phrase uttered from…

Photo by Micah Tindell on Unsplash

I imagine you all wish there were a tool that could give you enough insight into what you are doing; hmm, context-specific and helpful that kind that eases your pain and makes you a better craftsman in your career! If you’re a developer, then that may sound familiar cause every day, you’re working with tons of things with a lot of context around it that makes it hard to keep in your head.

The Answer Is Already In Your Code

Have you ever wondered what if a tool could understand your code and tell you what you need to do next or at least give you a…

Photo by AZGAN MjESHTRI on Unsplash

I’ve tried so many times to create my blog using Github, Ghost, and a custom domain, but every time I find a distraction that keeps me from doing the actual thing, writing than designing or boiler plating my blog.

After reading the first few chapters of Indistractable: How to Control Your Attention and Choose Your Life, I decided to remove the “distractions” and focus on “tractions” as Mark Manson calls it, which in this case is just writing on Medium and regularly than finding a new fancy blogging platform.

You’ll Reach To Your Audience

One of the main reasons I think you shouldn’t start your…

One of the worst practices in Ruby On Rails is to clutter the Gemfile to do basics as authentication, authorization, validation, etc. considering the fact that they are practiced for so long and they can be accomplished using just the batteries already included in Ruby On Rails; service objects are no different for which developers often end up using different gems to do such a simple pattern.

In the favour of simplicity and the fact that I never trust dependencies due to to the complexity they bring in I’ve been using ActiveModel and SimpleDelegator to apply service objects through a…

You can make your search results a bit fancier by using a little of bit of jQuery to highlight your search keyword or going with more feature-rich tools e.g.

As once the legend said (was a wonderful person)

(less dependencies are better)

So as we already had jQuery in our Ruby On Rails project I decided to not add more dependencies and I just go with jQuery only.

Short story but hope it’d come in handy!


It’s killing your deep work

As a VIM master from using others’ plugins to rolling out my own at some point I started to think as a professional that these concerns are much less important to me than shipping features you’re paid to ship features not spend time on your editor to make it look better or finding new ways to do things which don’t make your productive by any indicators.

It’s not suited for a lot of context switching

Let’s consider a Ruby On Rails task

1-Generate an API controller

2–Write/update specs

You did a typo on controller’s class name and the filename should be renamed too what’s the fastest way to fix…

You’re going to writing test for you’re ActiveRecord models to check if they have a specific set of associations?!

You have two options; going with shoulda-matchers gem (that’s a great gem, though) or writing a simple version of yourself for learning or reduce complexity of using too many gems.

At first you should create a file under spec/support/ called association.rb (call it whatever you want) then require it in your test helper (whether it’s spec_helper or rails_helper)

require_relative "support/association"

And all you have to do is


Here we have defined two matchers have_many and belong_to using ActiveRecord::Reflection#reflect_on_association which allows…

Alireza Bashiri

∞ Travel | Coding | Lifestyle ⦿ Bangkok | ✧ #freelancer ▷ Got a project? ⭣

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