Sign in

Making Impacts using Information Technology

How to use the power of sharing to reach out and grow your network

6 sharing channels for your writings

Photo by Mateus Campos Felipe on Unsplash


One thing you will learn writing on Medium is that you are not done when you have finished your writing. As they always say “sharing is caring” and before anybody else you need to reach out and share your articles.

Sharing your article helps you get more visits not only by getting more people’s attention but Medium will help you too. When a lot of people come to read your article right after you published it, you had a better chance of curation. Medium finds your article interesting for more peoples and curate it. …

Turn the devils in the details into your minions

Learn to restrain the devils in the details and clear your path toward productivity and shared understanding

development team devils that could be turn into your minions

No one like a software development team knows that the devils are in the details. But it is not enough. they also need to learn to restrain those devils. And if you could tame your devils, you may create minions out of those devils. So they could work for you, instead of harming you.

Minding the details is an important skill for every team. As a lead developer for years, I always struggled to mind these details. Also, recently I wrote documentation about our development process for my team so the whole team and new members can follow. To create…

How to write a Telegram bot that uses real-world API

A complete tutorial and source code for Telegram bot in Python for Todoist App

In this post, I will explain how to create a Telegram bot in Python. Todoist is a great tool to manage to-do lists. Although this post can be just a general tutorial about creating a Telegram bot, I will go through connecting to Todoist API and bringing its power into Telegram, so you can learn more about working with real-world API and interacting with users in Telegram bots.

This post assumes you know basic Python. What you will learn includes:

  • Creating a Telegram Bot with Telegram Bot Father
  • Working with API in Python
  • Writing Telegram bot script in Python
  • Interacting…

How to create a more productive way of getting things done

It is not the plan that fails, it is the way you do

Photo by Simon Matzinger on Unsplash

When I look at the Giza pyramids, I see three smaller pyramids that are almost collapsed. I don’t know if they are first tries or other kinds of pyramids but I always wonder how many tries before humans find out how to create the greatest pyramid. When do they find the method of creating the best pyramid?

Many builders build many buildings with the bricks, but not everyone builds the pyramids.

All of us have many great plans. Building that website, recoding that podcast, starting that side project, etc. Somewhere in the middle of doing these great plans, we got…

A Python tutorial on getting Telegram channel messages and members lists

For research purposes, and to analyze the content of a Telegram channel, you may need the channel’s data in a clean JSON format.

I created a Python script to get data from Telegram channels. It has two main files: One for getting a member’s data from a channel, and second, to get the channel’s messages.

This script saves this data into JSON files; you can use them for analysis or to import into your databases.


You need Python 3 installed. Also, I used telethon, a Python package to work with Telegram.

To install telethon you need to use a pip

My notes from Y Combinator Startup School lessons

notes from Kevin Hale “How to Evaluate Startup Ideas”

Last year experience at startup school showed Y Combinator that last year curriculum was too advanced. Most of the people participating in last year startup school have no idea or have a lot of ideas and they don’t know which one to pursue.
One of the reasons many people can only work part-time on their startups is that they don’t know what do they need to be convinced to quit their jobs. Also, this is a critical skill for startups to know when to pivot. Evaluating your startup ideas tells you when to pivot, and what to pivot for that worth…

I got rejected, then I got accepted and How it will help you get accepted

Y Combinator helped more than 15,000 startups including me by mistake, and it may keep doing that.

StartUp school by Y Combinator

Disclaimer: I’m not part of Y Combinator or Y Combinator startup school and I’m not affiliated with Y Combinator or it’s partners in anyways. This post is a regular user’s experience. I’m just trying to show you how it’s look like and what you should expect.

I am a software developer and I’ve been in the startup field for a while. Many of us have ideas about startups. Sometimes we didn’t even write them down. Sometimes it turns into a million-dollar company.

When I registered for Y Combinator startup school I don’t have a particular idea in my mind. We…

Make use of Laravel features and best packages for localization

A step by step guide to implement multi-language functionality in your web projects

Laravel made it so easy to implement a multi-language website. You can implement it with Laravel localization and just some tricks. Also, there is plenty of Laravel translation packages which you can use in your project. In this post, I will explain how to implement multi-language functionality.

Creating a multi-language website requires two steps. Firstly, you need to detect user local language setting and change it bu user choice. Secondly, you need to translate messages and strings into user local language, in which we use Laravel localization.


In order to detect user language setting, we need to create a language…

easy and flexible users permissions management

a simple guide for a flexible authentication and authorization

Photo by Diego Jimenez on Unsplash

In many web projects, we have different user roles interacting with the system. Each role has its own permission. Every feature of the system can be enabled or disabled for these roles. We can define users permissions in our codes and check if they are authorized to do the requested action or not. A better way, mostly in more flexible systems, is to create a role and authorization management system. I’ll explain how to implement a Laravel authorization system and define users permission based on their roles.

In this post, firstly we manage users in groups we called roles. Every…

Amir Yousefi

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