Moving forward, wonder if such AI capabilities would widen the security gap between open-source software vs. proprietary?
HN user
ahmaman
Freelance fullstack software engineer based in Finland.
Email: hello@mansour.fi
Twitter: @ahmaman_
Blog: mansour.blog
Curious to hear if anyone have experience using Svelte together with LiveSvelte [0], as described in this blog post [1]?
In theory, it sounds like this could be the sweet-spot for using the Javascript ecosystem where its required where LiveView fall short.
[0] https://github.com/woutdp/live_svelte
[1] https://dockyard.com/blog/2024/03/14/harnessing-liveview-and...
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.
Cloudron.io might be helpful. Makes self-hosting a lot easier for beginners.
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?
I highlight sentences that summarises different ideas of the book. Afterwards, I create flash card for each highlight to review these them regularly.
Currently using readwise with highlights exported from kindle (when possible). I also use Anki for all other flashcards.
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.
The idea of a native editor is very appealing. However, I heard that their plugin ecosystem is rather limited. Any experience with that?
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.
Anybody has experience using webstorm? How does it compare to vscode?
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.
Wow, this is amazing, thanks for sharing! Anybody had prior experience attending their retreats?
I just started working on my "craft" as a programmer as a side project and definitely would be interested to attend one of these.
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.
In my bubble PHP gets a bad reputation, not sure how much that has changed!
About Node, I have been using NestJS[1] and quite like it! Definitely has a lot more functionality out of the box when compared to other options in the Node ecosystem.
Thanks for the recommendation, seems that many people share your experience. Any learning resources that comes to mind if you would learn RoR from scratch today?
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.
I would delete posts only if they cause harm.
Irrelevant content is very subjective. You never know what somebody on the other end of the world find helpful.
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
Thanks for the recommendation!
I also have a Signal group with couple of close friends where we discuss all sort of topics in depth. Really enjoy the conversations but I imagine it is difficult to scale that.
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.
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.
Indeed, for me it was podcasts…Found myself listening to way too many podcasts just to pass time!