TGViewer
Channel Public Channel
Efficient programmer's notes

Efficient programmer's notes

@efficient_programmer

https://boosty.to/andreykas/donate - link to support me

This channel was created to share my experience in making countless attempts to be a more efficient and healthy person and programmer
Subscribers
80
Photos
4
Videos
0
Links
30

Showing posts older than #23 · Back to latest

Older Posts 20 shown
Post #20 203
Cloud computing or all kinds of *aaS

Initially, I wanted to write a post about Serverless. I've started researching and found out that my understanding of Serverless is not clear, at least in terms. The biggest discovery for me was that Serverless and Cloud are not interchangeable words. Therefore I've decided to make a quick overview of existing approaches before diving into one of them.

We will start with the Big Three of cloud service models: IaaS, PaaS, SaaS, i.e., Infrastructure as a Service, Platform as a service, and Software as a service. Big companies like Amazon, Microsoft, Google cover all of them. Google Cloud is IaaS, Google App Engine is PaaS, Google Drive and other services for end-users are SaaS.

IaaS provides users with hardware — servers, storage, network as an on-demand service. It gives a lot of flexibility, but at the same time, it requires users to install and configure needed software on their own.

PaaS offers an infrastructure, OS, middleware, database management + some additional software to develop and deploy applications. Probably, you've used Heroku to host your website for free. It's one of the first platforms of this kind. Another good example is Google App Engine. It is a product that provides Web app developers and enterprises with access to Google's scalable hosting and Internet service. The App Engine has limited language support. You're allowed to store data only in Google Cloud Storage services and use the Google query language. We are losing flexibility...huh?

SaaS is a way of delivering applications over the Internet—as a service. Instead of installing and maintaining software, you simply access it via the Internet, freeing yourself from complex software and hardware management. Google Drive, DropBox, Zoom, all kinds of CRM/ERP solutions, you name it.

Before the Serverless the most effective way to build SaaS applications was to develop microservices, deploy them on a Platform as a Service and let the PaaS manage a lot of things. Serverless is just another degree of automation that lies between PaaS and SaaS. It usually includes two concepts: Backend as a Service (BaaS) and Functions as a Service (FaaS).

BaaS makes your app a "rich client." You are not building REST-APIs anymore. Now your client application talks to the database directly with an authentication layer in front of the database. Google has a Firebase platform, and Amazon has Amplify with Cognito for authentication purposes.

With FaaS you're still able to build REST API, but, unlike traditional architectures, server-side logic consists of independent functions that run in stateless containers that are event-triggered, ephemeral (may only last for one invocation), and fully managed by a third party. AWS Lambda is one of the most popular implementations of a Functions-as-a-Service platform.

You can use just one of them or both at the same time. For example, you're building a chat app with Firebase (BaaS), and you want to send a push notification to users that receive the message. You add this message to your database on the client, and this event triggers a cloud function (FaaS) responsible for sending push notifications to specified users.

There are two big benefits when using one of these as-a-service models:
- Faster time to market. You don't need to reinvent the wheel and manage it.
- Resources sharing lowers costs. In some cases, you may even have free monthly/weekly quotas.

The main drawbacks are:
- Vendor Dependency. You're playing by their rules now.
- It may be hard to integrate with existing infrastructure.
- You may face security issues.

If something is not clear, look at the pictures below.

#learninpublic #dev
Post #19 227
Parkinson's law and how to hack it

I've already mentioned this law in one of my previous posts.

"The work expands so as to fill the time available for its completion. Thus, an elderly lady of leisure can spend the entire day in writing and despatching a postcard to her niece at Bognor Regis. An hour will be spent in finding the postcard, another in hunting for spectacles, half-an-hour in a search for the address, an hour and a quarter in composition, and twenty minutes in deciding whether or not to take an umbrella when going to the pillar-box in the next street. The total effort which would occupy a busy man for three minutes all told may in this fashion leave another person prostrate after a day of doubt, anxiety and toil."

It's an excerpt from the original essay of Cyril Parkinson written in 1955 where he described this law for the first time. The main goal of this essay is to show the natural tendency for officials to make more work for each other. He even gives us convincing proof from the history of the British Admiralty from 1914 to 1928. While the number of ships and marines decreased by 67.7% and 31.5% respectively, the number of Admiralty officials increased by 78.5% over a period of fourteen years!!!

This is all very interesting and the full essay is totally worth reading, but the main goal of my post is to make you more efficient. And that's why I've taken the first paragraph of Parkinson's work with a story about an old lady. How often do we find ourselves in a similar situation, when we have so much more to get done? I do more often than wanted.

I can't say that the woman has made something terribly wrong. If she had no other things to do during the day, then why not? I even want to compliment her on putting and meeting some kind of deadline (the end of the day).

- But it's not our case. So what can we do to use our time more efficiently?

- In short, set clear deadlines and meet them.

- Really? That's all?

- Almost. There is a catch. This strategy may not fit every task from your to-do list. Furthermore, in some cases, if you do it wrong, it can even lead to bad consequences.

- Will you tell us about everything?

- I'll do my best in one of the next posts. For now, you can read a short interesting study on self-imposed deadlines from MIT uni. It answers 3 important questions:
1. Do people self-impose costly deadlines in tasks where procrastination may impede performance?
2. Are self-imposed deadlines effective in improving task performance?
3. Do people set their deadlines optimally, for maximum performance enhancement?

#efficiency #habits
The Economist Parkinson’s Law The report of the Royal Commission on the Civil Service was published on Thursday afternoon. Time has not permitted any comment in this week’s issue of The Economist on the contents of the Report. But the startling discovery enunciated by a correspondent…
Post #18 236
Server-Driven UI (SDUI)

In a traditional world, data is driven by the backend, and the UI is driven by each сlient (web, iOS, and Android).
Let's take products listing. You get a JSON with data like: [{"title": "iPhone", "price": 999}, {"title": "MacBook", "price": 1999}, .....]. The client parses this JSON into List<Product> and shows products to a user with predefined UI logic which is hardcoded on the client.

This comes with a few issues.

The most obvious one for me is the versioning problem, which applies only to native apps. If we do things this way, each time we want to add a new feature to our listing page, we need to release a new version of the app for each platform. Most probably, you'll have users that always protract with updates.

This leads to another problem - A/B testing is harder. It's more difficult to validate ideas and extract data from users’ interactions, which could be used to conclude important things about the product.

Many big fast-growing companies like Airbnb, Ozon, Avito have faced these problems and created tools to overcome them.

Let's take Avito - the service where you can sell and buy literally anything. If a user wants to place an ad to sell a flat, the app will show input fields like address, floor, number of rooms, square meters, etc. If a user is selling a car, he sees fields like model, year, mileage.

Okay, you've, as a good developer, foreseen every possible type of product and written a huge amount of complex logic on the client to show required fields based on the selected product type. But the world is constantly changing, and now your users want to sell NFT tokens here and now. What will you do?

The first solution is to add another piece of logic on the client-side and release a brand-new version. I've already mentioned the problems of this approach.

The next one that comes to my mind is to show a WebView. The thing is nobody likes them. They don't offer native UX and often have performance issues.

And the last one is to add a new type of product with some rules for input fields on your backend (from the admin panel, for example) and send it to the client so the client can render the necessary fields. This strategy is called Server(Backend)-Driven UI.

Of course, it's not perfect either.
It's hard to build from scratch and maintain, which makes it expensive. And maybe one day, you'll like to add some fancy type of field or section, so you'll end up releasing a new version.

#dev
Post #17 264
6 invaluable things I would tell myself when I was new to coding

1. Don't be a perfectionist
I've always considered myself a bit of a perfectionist and thought it's cool. No matter what, I've tried to do something in the best possible way, cover all possible and impossible use cases. Sometimes it led to horrible procrastination. In one case, it was a fear that I couldn't do it perfectly that made me put off the task. But most of the time, I was polishing everything up again and again just until the deadline instead of iterating several times and fixing not-so-obvious bugs before the deadline. I'm still trying to find a "perfect" balance.

2.Don't be afraid to go deeper into tools you are using
Just don't use everything as a black box. For example, if you use Flutter for building mobile apps, you won't be able to create a robust app without knowing some framework's internals. You can easily block the UI thread by doing complex calculations, so the user will think that the app is broken. If you knew that you should have used another isolate (because all your code by default runs in UI thread) for this kind of task, you'd be better off.

3. Learn how to debug, please
Yes, yes. Debugging is not inserting print statements in any situation. It's logging. Learn how to use breakpoints, so you can inspect the entire program state, not just the values you thought to print out in advance. This can massively speed up the bug-fixing process.

4. Bugs are inevitable
"If debugging is the process of removing bugs, then programming must be the process of putting them in" - Edsger Dijkstra. We are human beings. We make mistakes. Sure, there are all sorts of techniques to decrease the number of defects in software, but none of them can prove the absence of bugs.

5. Write code every day
Every day is just another opportunity to learn something new. Consistent practice makes perfect. This guy has managed to do it, so you also can.

6. Use code generation whenever possible
I'll never write another toJson/fromJson method. There is just no reason to write more code when you can write a short description of what you need, and a generator will be willing to make it happen.

#career #dev
Post #16 307
Some thoughts on this channel

Hello, my friends. It's been about a month since I've started this channel. And there are already 10 posts in here. These posts mostly are about good habits + efficiency. I appreciate all of you who were reading them. Hope it was valuable.

Also wanted to add that I fell in love with writing. Although, it's super hard for me. I still spend plenty of time writing one post. Partly cause it's hard to put my thoughts on paper, partly due to the fact that English is not my native language. No pain, no gain)

I think it's time to introduce new topics/rubrics. Maybe, make this channel a bit more technical, a bit more about Flutter and mobile development in general. Since there will be more topics, I want to add more structure by using hashtags. #efficiency, #habits, #career, #learninpublic, #books, #dev, #flutter, #thoughts and more.

I've recently written about learning in public and its benefits. Yesterday, I set a goal (actually, goals) for myself until the end of the year. It's connected to Flutter and animations. From now on I'll post my progress here under the hashtag #learninpublic. Wish me luck!
  • 👍 1
Post #15 279
The easiest way to get your first job (as a developer)

Vacancy requirements for a mobile developer usually look like this:
- Several published apps (AppStore/GooglePlay)
- Coding a layout from Figma
- REST principles
- CI/CD
- Some advanced state management approach
- Some libraries used by this company/team
- 1-2 years of experience

And why do all these points matter (except for the last one*)?

The answer is quite simple. Small business needs an app from scratch here and yesterday. And if you've built something cool already and managed to deliver it to the audience, probably you'll do it again. No matter how good it will be from a code perspective.

Congrats if you've already made several apps that appeared in stores. You're on fire. Everybody wants you. But what to do when you want to land your first job?

Most programmers learn fundamentals and practice them here and there by building small nobody-cares-about apps. But in this case, they miss out on a large part of app development. Architecture, theming, CI/CD, testing, different capabilities like notifications, in-app purchases, and much more.

The easiest way to stand out from the crowd of juniors is by building a production-ready app and posting it to the store. I talk about real pet projects. Not tic-tac-toe or another to-do app. This way, you'll cover the whole project lifecycle.

You probably already have an amazing idea for an app. Find a free API or create one with some cloud backend like Firebase. Get a mobile app design sample from google. Create tasks in Trello or somewhere else. And start coding. Screen by screen. Feature by feature. Try to touch every point from vacancy requirements.

I know it's hard to build something great** because you don't know how to structure your app, divide it into layers, why it even matters, and many useful tricks and hacks. Find a person who will review your code. Then fix everything and ask to review it again.

Voilà. You've just increased your chances to land a job by 1000%.

*I don't think that measuring experience in years is an accurate approach. It highly depends on the person.

**I've built a quiz app with the help of Firebase. I've changed my initial design in Figma to make it look more modern. I've changed state management to more advanced when I realized that my code is highly coupled, and it becomes harder and harder to maintain it. I refactored it a couple of times, added theming, linting, and localization in the process. Today I can see that there is so much more to refactor. But I've learned a lot during the development process.
  • 👍 1
Post #14 245
Embrace boredom

Can you put aside your phone for 30 minutes and sit in silence one on one with your thoughts? It sounds so easy, isn't it?

We live in a world of distraction. Our brains got used to multitasking and escaping boredom at all costs. Can you recall yourself having a long ride on public transport without looking at your phone? Do you often find yourself reading news, scrolling Instagram, or watching Youtube just not to feel bored? Why don't we like boredom so much?

Our hatred for this state is so extreme that in some cases, people would prefer being in pain to being bored. There was an experiment where students had to sit alone in a room with a shocking button for a short period of time (6-15 minutes). A quarter of the women and two-thirds of the men preferred to give themselves mild electric shocks to be somewhat entertained than to think. How crazy is that?

I don't have an answer on why we can't stand the boredom and always need some stimuli. But I believe that a bit of boredom is what we need to be more creative and productive.

Several experiments show that people are more creative after doing some boring monotonous tasks. My experience and Cal Newport's (author of "Deep Work") observations show that experiencing a lack of entertainment also boosts our ability to concentrate on some task for longer periods.

Moreover, I'd say that trying to avoid boredom but having no access to social media makes me want to start my work as soon as possible. This is why I like detox (no Youtube, no Instagram). You should definitely try it out as a one-week challenge. I'd like to hear about your experience and what you think about it.

P.S. Don't take it to extremes. Don't try to stay in total isolation for 3 days like this crazy guy.
Harvard Business Review The Creative Benefits of Boredom Two new studies show how tedium fosters brilliance.
Post #13 208
Learn in public

I've discovered this concept a year ago or so in a Coding Career Handbook. Its author claims that this is "the fastest way to build an expertise, network, and second brain." Sounds cool, right?

The main idea is to open-source your knowledge, share the process of learning a new thing with other people in the form of an article, youtube video, conference speech, etc.

Why should you start learning in public?

- To deepen your understanding of your work. The protégé effect in action. While trying to explain a new concept to somebody, you're gaining more understanding of this topic and closing all the gaps.
- To keep yourself accountable. If you have an audience, at least one person, it will be harder to give up on everything and stop posting. You probably don't want to be that inconsistent person in your reader's eyes.
- Fast feedback loop. Cunningham’s Law: "The best way to get the right answer on the Internet is not to ask a question; it's to post the wrong answer."
- To create a reviewable archive of your knowledge. Building a knowledge base to which you can refer at any given moment (you can also do this in Notion or any other note-taking app).
- To connect with others along the way. You'll get new friends, colleagues, mentors by simply showing up.
- To set yourself up for new income-generating opportunities. You build a self-brand. You promote yourself as an expert in your area. Potential recruiters may seek you out themselves for one of the 80% of jobs that are never published.

I recommend you to read this free chapter of the book I've mentioned above to find more reasons on why you should accept the idea and make the first move.

I've already started applying this principle by sharing my general knowledge and experience with you and tech knowledge with my teammates. I do plan to expand in this direction cause it works, and I enjoy it a lot.
Post #12 196
It's not rocket science

You don't need to be smart to be a programmer. There are many areas in IT, that don't require you to be eggheaded. You have a language, framework, and many ready-to-apply approaches, that cover almost every use-case you'll need to implement during the development of your app.

Building a typical mobile client requires you to know how to:
- get and send JSON
- handle authentication (JWT token in most cases)
- create a layout based on a design in Figma
- UX (just a bit) to keep a user informed on what's happening in your app
- navigate between screens
- add payments, subscriptions
- add notifications
- add localization
- cache data
- implement the basic architecture, at least separate different layers of your app

It seems like it's a lot, but here's a trick. You can easily find manuals for all of these things in docs, on youtube, or somewhere else. Do it once and learn how to do it even better and faster in your following projects. In some cases, you can apply a "special" copy/paste technique. And you are a newborn developer.

Of course, most likely, your first apps will be unscalable and unmaintainable (in Russian: gavnocode, in English: suboptimal code). But it's totally fine. I firmly believe that only practicing and reading deep books make you a better programmer.

On the other hand, there are also complex apps that require all of your problem-solving skills and some deep knowledge to come up with unique solutions to unusual problems. If this is the case, congratulations! Your job is not so tedious.
Post #11 203
Do you use the best tools money can buy?

I'm not a money-waster.
When I need to buy something, I think like hundred times if I need this particular thing and where it'll be in several days/months/years after the purchase. But when it comes to investing in myself and my tools, SHUT UP AND TAKE MY MONEY.

I've upgraded my laptop two times. In both cases, I was thinking about how it would make my job easier and more efficient. In both cases, I regretted not getting them earlier. I still believe making these purchases was the best choice at the moment.

After the first upgrade, I was able to develop web projects in professional IDE. So, I've made like 5-6 small web apps (Python/Django) in 2 months and got some pocket money and a hell of a lot of experience.
After the second one, I gained the ability to develop Flutter apps for iOS and macOS and decreased an app build time by 200%. It allowed me to look for new job opportunities and explore an App Store Connect (better keep away from it).

I've made an example of my laptop because it's the most crucial tool in a programmer's inventory. That goes without saying. The same approach applies to additional hardware&software, working place, and other things that can make my life as a programmer more enjoyable and efficient. The more I can remove avoidable stress and frustration from my daily routines, the better the work I'll be able to deliver.

So, don't ever try to save money on your tools. Upgrade and open up new opportunities.

P.S. Don't take it too far. If you don't have enough money at the moment, try to save up a bit. Taking a loan may not be the best decision in your situation.
Post #10 208
What is Self-Image, and why it's so important?

My close friend recently asked me how do I work out every day? How did I develop such consistency?

I took some time to think about how I make habits stick in general and what helps me wake up every morning and work out. I guess I've finally found an answer.

The answer is Self-image.
It is all about how we perceive ourselves. What kind of person do we think we are, and what do we believe others think about us.

It all comes down to 1 simple idea. You do what you think you're supposed to do as a person from your self-image. For example, if you think you are a shy person, it's unlikely that you'll start a conversation with a stranger in the bar.

I know. It may sound ridiculous. Like another useless mantra from an amazon bestseller self-help book. But it works.

So, in my case, my self-image tells me that I am a sportsman (as I've been professionally playing tennis for 11 straight years.) So I do what I'm supposed to do. I don't need any motivation or discipline to keep it going. Somebody may call it a habit. Maybe.

I also consider myself a consistent and responsible person who keeps his word and likes to build new habits, to try something new.
- It helps me to do everything before the deadlines. Of course, if they are adequate.
- Plans work as a promise to myself to do something. So, I do it.
- I like taking up new challenges. Meditation for a month or solving a couple of problems on Leetcode every day (yet to come).

Of course, there is also a negative part of my Self-Image.
Back then, when I was playing tennis, I thought I have a terrible backhand. So, my backhand was magically disappearing during the tournaments.
I still think that I'm a bit shy and not-talkative person. And if I don't have a strong reason to talk to some stranger, I won't.
And never ask me to solve some Physics problem. I'm the worst at it.

Self-image forms unconsciously from our past experiences, successes, and failures. And there is a way to change it. It takes a lot of time and effort, but it is the easiest way to alter your behavior, not for a month or a year (wasting all your willpower), but for as long as it is consistent with your self-image. If you're interested in it, read this article on Medium.
Post #9 194
Post #8 203
Make your fingers smarter

It's time to remind you (and me) that I'm a programmer. And one skill that is perfectly assisting me in this craft is touch typing (an ability to type some text without looking at the keyboard).

I've started practicing a year ago when I was typing 40w/min using an advanced hunt-and-peck technique.

Why did I start?
First of all, 40w/min is just too slow for fingers that spend their lives mostly on the keyboard. Why not speed up a bit?
Another reason is that it is mentally exhausting to look for the needed key and think about your current programming problem simultaneously. It's like driving a car when you're a beginner. Painful.

I've decided to practice for at least 30 minutes daily, found a web app that teaches this skill in a step-by-step manner, and started.

Honestly, it wasn't a walk in the park.
I remember how I did 15-20 w/min during the first days using only 5 keys.
I remember how I learned to type long-distance keys ("y", "b", all of the numbers). It's pretty demanding and takes time to build muscle memory.
I remember a regress in speed and accuracy when I started typing capital letters and punctuation.
I'm 100% sure that everybody who has mastered this skill experienced the same difficulties during their learning process.

On the other hand, there were also many enjoyable moments.
What on earth can be better than beating your speed record by 2-3 words or winning a multiplayer typing race? Nothing.

I've intensely practiced for 3-4 months in different apps. After 6 months, I was already typing 60 w/min on average. I started trying to apply my new secret weapon to my work. It was a success. It has certainly paid off.

I urge you to try it out if you're still struggling with your typing routine. Make it a one-month challenge. It’s worth a shot. I believe in you.

Btw, check out my profile on keybr.com. It was the first app that I've used, and I loved it. It collects every possible statistical data that you can imagine, so you can always see where you should try a bit harder.
Post #7 195
How to work more productively (based on my own experience)

We waste too much time working unproductively, saying that we don't have time for something meaningful. For me, it is a big problem.

I did this many times before. I still do it sometimes (doing my best not to fall into the same trap). I know what I'm talking about.

If I need to work 4/6/8 hours a day (remotely), I try to complete all the work in my working hours (7:00-10:00, 13:00-16:00, for example). Otherwise, Parkinson's law comes into play. It states that "work expands to fill the time available for its completion." If this is the case, I work more hours less productively, having less time for other things at the end of the day. Furthermore, I start feeling guilty and try to compensate for a wasted time by sacrificing my free time.

Having specific working hours is not the only hack that I use.
- I track my working sessions using a time tracker (I prefer Toggl). It helps not to get distracted when the timer is on.
- I have all my tasks in Trello, so I could take one from the "To do" column and start/continue working.
- If you're prone to surf socials during work, install special software, which will block certain websites. I used Self-Control for macOS. It is a free supersimple no-way-back type of app.
- If you're not alone, warn your mates that you don't want to be distracted during specific hours.

I hope these tricks will help you to be more productive and have more time for your hobbies. If you have some cool hacks not stated above and they work for you, I would love to know about them.
Post #6 198
The problem with instant gratification

You’ve probably heard something about instant gratification (or immediate reward). Every motivational book doesn’t forget to mention this term and how it can affect your life.

Basically, this is a temptation to obtain pleasure HERE and NOW instead of gaining some more in the future.

First of all, you should understand that this is a weird natural thing that happens to all of us on a daily basis. I won't deep dive into the reasons for such behavior (google it), I’ll just say that we have inherited this tendency to see pleasure and avoid pain from our ancestors. It gave them some advantages many centuries ago. But the world has evolved and nowadays this behavior is mostly ruthlessly ruining our lives.

Some examples of instant gratification are:
- Hitting snooze instead of getting up early in the morning.
- Watching funny YouTube videos instead of completing your work (study).
- Eating junk food instead of cooking healthy one

Easy to see that delayed gratification is generally (there can be some exceptions*) the best choice for your future self. If you prefer deferred reward, most likely, you pursue a long-term goal which can be learning new technologies, getting fit, saving money for your future self.

There are several ways, which can help you to choose delayed gratification over instant one.
1. Think about your future self. What would you feel? Will you be happy about your "past self" decision to choose immediate reward?
2. Plan (again and again) and commit to something beforehand. This won’t require making any decision at the moment. This way you’ll more likely do what you suppose to do.
3. Break down big goals into smaller ones. It is hard to do something when the task is laborious and unclear, moreover, the moment of getting pleasure lies too far from you. When you achieve a small goal you can already get some satisfaction (this is a little hack).

*As I was writing this post I had a related discussion with my girlfriend which led us to the conclusion, that we are all different and instant-grat-thing for one person could be a part of a long journey to success for another. For example, somebody chooses to watch some entertaining youtube videos, cause it helps him to relax and get some mental boost for another work session, not because he is simply procrastinating.
Post #5 211
Plan or suffer

If I don't have a plan in some area of life (training, finance, learning, etc.) I suffer. Suffer badly.

The most recent example from my life is morning exercises. I get up at 6:30 every day and go to the sports ground. For several weeks I was training without a clear plan (I don't really have a reason for not planning this, probably, I was too lazy).

My workout went like this:
I did 8-10 pull-ups and walked around until I'm ready for the next set. I didn't have the number of pull-ups that I wanted to accomplish during training, neither had I a time limit for rest between sets. When I felt a bit tired, I went home.
One day I did 40 pull-ups in 30 minutes, another - 70 during the same time!

In my world, a training session should bring joy and motivation for the rest of the day. But these kinda uncontrollable sessions gave me only the feeling that I'm lazy and not consistent. Not hard to imagine that this has negatively affected my work sessions.

Moreover, when you practice without planning, it's hard to make any progress and nearly impossible to monitor it (if there is any).
I've decided to change my approach.

Guess what happened when I just started setting the minimum amount of pull-ups for each session the day before?
50, 55, 60, 65....
I felt like superhuman)

You may ask: "What happened?"

It's all about planning and setting small clear goals.

This applies to all areas of our lives.
- You want to work efficiently and have more free time for your hobbies: find your working hours and prepare the most important tickets.
- Want to eat healthier: research + create a meal plan + stick to it.
- Want to learn a new language: I don't know how I can help you. It's beyond me. (kidding, just decompose this cumbersome task, set deadlines and milestones, and start learning)

Don't suffer if you experience these kinda feelings. Make a plan and stand by it!
Post #4 200
Of course, I also expect that this channel will help me to improve my English and motivate to stay on this cool "self-discipline track"
Post #3 214
Hello, my fellow friends.

I'm on detox now. It means that I'm trying to read books instead of scrolling the newsfeed, watching online courses instead of Instagram stories, eating fruits/vegetables/nuts/otherHealthyStuff instead of trashy snacks, walking every day. This process has led me to have much more spare time to think about my own life.

Who am I? What do I want? What's next?

During these solitary reflections, I've found out that I do like helping people. But in what field am I competent? A bit of programming (currently working as a mobile dev) and everything connected to building good habits, self-discipline.

Not so long ago, a good friend of mine started her telegram channel. It has hit me. I sincerely believe that sharing your positive and negative experiences may help other people in their life. This is why I've created this channel. I hope it will make somebody's life better.

Keep it up and feel free to text me)
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →