HN user

ahmaman

169 karma

Freelance fullstack software engineer based in Finland.

Email: hello@mansour.fi

Twitter: @ahmaman_

Blog: mansour.blog

Posts54
Comments65
View on HN
kk.org 4mo ago

The March of Nines

ahmaman
2pts0
georgeguimaraes.com 5mo ago

Your Agent Framework Is Just a Bad Clone of Elixir

ahmaman
8pts0
northernlightshift.com 5mo ago

The happiest country wants to stay the happiest

ahmaman
2pts0
elixir-lang.org 1y ago

Elixir Outreach stipend for speakers and trainers

ahmaman
2pts0
news.ycombinator.com 1y ago

Ask HN: Home wirless router with focus on security?

ahmaman
2pts3
news.ycombinator.com 2y ago

Ask HN: What Does It Take to Be a "Black Belt" Programmer?

ahmaman
5pts4
thraxil.org 2y ago

On to Elixir

ahmaman
76pts39
news.ycombinator.com 4y ago

Ask HN: Non-obvious ways we seek status or communicate success?

ahmaman
3pts0
news.ycombinator.com 4y ago

Ask HN: Good Alternatives to VS Code?

ahmaman
8pts15
github.com 4y ago

Unimported – Find unused source files in JavaScript projects

ahmaman
1pts0
www.recurse.com 4y ago

Recurse – A community-driven educational retreat for programmers

ahmaman
1pts0
github.com 4y ago

Rich Hickey's Talks

ahmaman
2pts0
news.ycombinator.com 4y ago

Ask HN: HN's tech stack?

ahmaman
1pts0
news.ycombinator.com 4y ago

Ask HN: Is Ruby on rails worth it to learn in 2022?

ahmaman
22pts21
news.ycombinator.com 4y ago

Ask HN: What makes a piece of code beautiful?

ahmaman
2pts0
mansour.blog 4y ago

On keeping a personal journal and getting started

ahmaman
1pts0
news.ycombinator.com 4y ago

Ask HN: Software engineer interested in machine learning, what not to do?

ahmaman
1pts1
en.wikipedia.org 4y ago

Ada Lovelace

ahmaman
10pts0
en.wikipedia.org 4y ago

Algocracy – Government by Algorithm

ahmaman
3pts0
news.ycombinator.com 4y ago

Ask HN: Advice on building a brand as a freelance developer?

ahmaman
2pts0
news.ycombinator.com 4y ago

Ask HN: Where do you go for real conversations on the internet?

ahmaman
7pts7
news.ycombinator.com 5y ago

Ask HN: Getting a SF salary as a remote developer in EU?

ahmaman
11pts5
news.ycombinator.com 5y ago

Ask HN: What do you use as ergonomic peripherals?

ahmaman
2pts0
news.ycombinator.com 6y ago

Ask HN: Essential life skills to function as a human being?

ahmaman
38pts60
news.ycombinator.com 6y ago

Ask HN: When working towards a goal, how do you find relevant books?

ahmaman
1pts0
docs.google.com 6y ago

Show HN: Books for your current life situation and goals

ahmaman
3pts1
simple.wikipedia.org 6y ago

42 (Answer)

ahmaman
2pts1
news.ycombinator.com 6y ago

Ask HN: Privacy Resources Recommendations?

ahmaman
7pts3
en.wikipedia.org 6y ago

Meritocracy

ahmaman
1pts0
news.ycombinator.com 6y ago

Ask HN: Would you trust an ancestry DNA test?

ahmaman
12pts19

I would use Elixir (Phoenix + liveView), to me its the most productive stack for web apps at the moment.

You can have SPA like user experience without building a separate frontend & backend. That simplifies things ALOT!

For data persistence, I would consider SQLite otherwise go with Postgres.

Philosophy: A Complete Introduction By Sharon M. Kaye [0] is a wonderful book that introduces different philosophers and their main ideas.

Each chapter starts with a thought experiment about a given idea and then it gets into more details.

I liked that the book was written in simple language and gave a good overview of many philosophers. Later you can decide to dig deeper into whatever grabbed you the most.

[0] https://www.goodreads.com/book/show/18265274

Some of the apps I download on a fresh mac.

==> Casks

1password

anki

bartender

bitwarden

brave-browser

calibre

cryptomator

deepl

docker

exifcleaner # Cleans images metadata

fantastical

firefox

flux

freetube # Privacy respecting youtube client

imageoptim

karabiner-elements

keka

knockknock

libreoffice

little-snitch

microsoft-teams

obsidian

oversight

postman

protonmail-bridge

protonvpn

raycast

rectangle

shottr

signal

slack

spotify

tableplus

thunderbird

tor-browser

transmission

tresorit

vlc

vscodium # Microsoft-free VSCode

I maintain my mac's configs in a dotfile repo, feel free to check it out for more configurations: https://github.com/mansour-ahmed/dotfiles

I can relate to your feelings.

Your suggestion are good. Perhaps a combination of them would be most effective.

However, often the problem isn't completely solved with a specific technique. I found that the growth of my inbound is just a symptom not the root cause.

To me, the root cause was not accepting the following fact:

I am a finite being, with finite time, living in a world with infinite possibilities. Regardless of how productive I am. I probably will miss on 999% of what the world has to offer. And that is OK.

By treating time as a resource that must be optimized. I found myself trying to fit in as much as possible. Which paradoxically sucked the joy out the very things I scheduled. Every thing became a chore.

I found much more helpful to practice being fine with the fact that I will be missing on most of the things out there. Afterwards, the productivity techniques magically became much easier to stick to.

People crave the feeling of being understood without judgement. To me, being compassionate is to show people real understanding.

Few techniques that I found helpful:

- Actively listening. Keeping any input you might have till the end.

- Repeat what you understood back to people - mirroring.

- Ask open-ended questions. Just be genuinely curious. Don't show any judgement.

- Be vulnerable first for them to open up and share their vulnerability.

- Often the solution is just listening. Suggest solutions only when explicitly asked for.

As mentioned by others, Non-violent Communication is an amazing book about the subject.

A comment about the book NVC. Often people get stuck in the implementation details of the book's recommended way of communicating. When X happens I feel Y, could you Z? But there is so much more to it than that.

One needs to be self-aware. To know more precisely:

a) What actually happened, seeing reality as it is without their interpretation.

b) What they are feeling

c) What needs do they have

d) Concrete actions to resolve a conflict

How these things are communicated is important but still, but the awareness of these components is often overseen.

That is why meditation is often recommended. It is easier to be a better communicator if you are more aware of your feelings, thoughts, and your current environment. Really being present.

I wonder why is that.

Employers would benefit a great deal from employees doing more than the acceptable minimum. Maybe it is an issue with measuring value provided by each employee?

Figure out a way to package your expertise in a different way than being an employee.

Often the employment model doesn’t reward for going above the acceptable minimum.

How you package and sell your expertises to the world can make a signicant difference to your income.

Consider freelancing, building own product or making courses. If you have options, go for something that is not measured hourly and tied to your time, there is only so much you can charge per hour.

I use 1password for the convenience they offer.

However for important accounts, I use 2FA with yubikeys or codes that are not stored on 1password. Just in case.

Especially for non-tech family members and friends. Its either an easy password manager or using the same password everywhere.

JetBrains seems to be indeed very popular among HN users.

Could you share some of your favorite features in WebStorm? Curious what would the pitch be if you would recommend it to a colleague.

A word of advice, always use a custom domain, alot easier to change providers.

As for switching, I did it few times.

From microsoft to migadu. Switched to custom domain at the same time. Migadu was good for the price but in the early days it wasnt very stable and I wanted something more private.

From migadu to Tutanota. More private but tutanota wasnt as polished and can only be used with their custom email clients. Again great value for the money but I was missing better UX.

Finally from Tutanota to Protonmail. It was painful to export emails from Tutanota. I am very happy with Proton. If money isnt a constraint I think it is the best option for privacy focused providers.

It would be cool if code-reviews were done "anonymously"

Sometimes during code-reviews I find myself wanting to leave 100+ comments. Instead I settle for the few major ones and leave behind most of the minor stuff. I don't want to be perceived as someone who is difficult to work with, so try to pick my battles wisely.

Wonder if anonymous code-review that helps with that.

To be honest, only around 10-15% of the time.

Often they were small dev teams in a small company that have high standards and given the trust & freedom to do things.

I think it boils down to how much the programmer actually cares and is given the necessary time to do a good job.

P.S: Been programming only for 6-7 years so can't say if my experience is any indicator.

Clean code is code that does what you expect it to do without many surprises. It is simple, not clever. Effortless to follow. Each part handles one idea at a time, at the same abstraction level. Doesn't force you to mentally juggle many balls at the same time.

The code often tells you a story, it communicates how the programmer (author) described the problem, the solutions and the trade-offs. Very similar to writing.

Maybe it is a vague term. But it is not an excuse to write "bad" code. Perhaps every team need to have a "definition of clean code" for themselves.

It sounds like in comparison to NestJS, Rails third party "gems" (if I am using the right terminology) are easier to use out of the box without too much hustle integrating it with the rest of the framework? Perhaps also the third party's code follows more standard "Rails" patterns?

The community can make or break a technology for sure! Most devs I know would very much avoid interacting with PHP unless it is a must.

Too many options to choose from can be paralyzing.

Here are somethings that I found helpful.

------------------

Improve one aspect of life at the time. It becomes overwhelming in life if there are too many moving parts.

Asking "right now, what is more important to me?"

Moving abroad? Changing fields and follow what interests you? Starting a relationship?

When I am not sure what I want, I try to pick a plan that gives me the highest amount of flexibility and randomness.

- Pick a big city and be active.

- Become financially independent to increase the flexibility in my life.

Often asking what I am struggling with right now and focusing on fixing an immediate pain is helpful.

If you decide to move abroad, it is easier if you have a useful skill. Right now web development is in demand. Moving should be easier.

Choose the destination depending on what you want from moving abroad. Want learn new perspectives? try a different culture. Want to build a new home? Try different places where you feel like home. For context I immigrated to Finland 8 years ago and now living there permanently.

When it comes to career, by far the most useful thing I found was to choose what interests me. Figure out a way to make a living combining 2-3 unrelated things that interest you.

Find a subject or something that is important to you right now. A lot better to learn things just-in-time instead of just-in-case. Questions like "what I am obsessively thinking about or struggling with" tend to be helpful.

I keep track of book recommendation by people I know or from sources I follow on the internet using Goodreads. So whenever I decide to learn about about X, I check first my book recommendation books.

If available also try to read a book summary before reading the actual book. Often I find myself reading books based on the title & description and only halfway through I discover that the book isn't really about the things I thought it is.

My Goodreads list if it is any helpful: https://www.goodreads.com/review/list/46183317

I would image that it is indeed against their terms but when it comes to crawling it always feels like a grey area. Always "it depends".

Interesting idea!

For some reason it seems that books can be really tricky. With that said, Google does have a books API[1] that I played with in an earlier project.

I guess that explains why there haven't been any real competitors to Goodreads even people complain about how terrible is the service all over the internet.

Related to books, few days ago this app[2] was trending on HN which I thought was pretty cool.

1 - https://developers.google.com/books

2 - https://hacker-recommended-books.vercel.app

Indeed seems to be the case with Slack & Discord.

Haven't been very active on these platforms but maybe its time to explore what is out there.

Nice trick, Thanks!

Haven't looked into it but I wonder whether it is technically possible to start crawling public Slack/Discord channels or they are off-limits by design.