This commit is contained in:
Yann Esposito (Yogsototh) 2020-05-09 12:15:46 +02:00
parent b720452dbc
commit cdcb7a5a55
Signed by untrusted user who does not match committer: yogsototh
GPG key ID: 7B19A4C650D59646

View file

@ -1,39 +1,37 @@
#+Title: Who is in Control #+Title: How to choose your tools
#+Subtitle: How I started to take care of the tools I use.
#+Author: Yann Esposito #+Author: Yann Esposito
#+Email: yann@esposito.host #+Email: yann@esposito.host
#+Date: [2019-08-17 Sat 20:00] #+Date: [2019-08-17 Sat 20:00]
#+KEYWORDS: opinion #+KEYWORDS: opinion
#+DESCRIPTION: Modern tools disapears. #+DESCRIPTION: Modern tools tend to disapears.
#+DESCRIPTION: Some tools are worth a big time investment. #+DESCRIPTION: An app on the web will change, and could break for the worst.
#+DESCRIPTION: Quite often investing in long living tools which are harder start
#+DESCRIPTION: with will be worth the investment.
#+LANGUAGE: en #+LANGUAGE: en
#+LANG: en #+LANG: en
#+OPTIONS: H:5 auto-id:t #+OPTIONS: H:5 auto-id:t
#+STARTUP: showeverything #+STARTUP: showeverything
This week I worked a lot more than usual. This week I didn't take a look at HN to grab some news.
So much I didnt take the time to take a look at HN. And this week-end, in the morning I read those:
So during my morning in the week-end, I started to read what I missed.
And here are a few articles I read along their comments:
- [[https://news.ycombinator.com/item?id=23102430][Zoom acquires keybase]] - [[https://news.ycombinator.com/item?id=23102430][Zoom acquires keybase]]
- [[https://news.ycombinator.com/item?id=23107123][Making Emacs popular again]] - [[https://news.ycombinator.com/item?id=23107123][Making Emacs popular again]]
- [[https://news.ycombinator.com/item?id=23092904][Github Codespace]] - [[https://news.ycombinator.com/item?id=23092904][Github Codespace]]
Such article have existed for years on different products. Similar articles have existed for years on different products.
What is their common point? What is their common point?
/Software tooling and their potential change and disparition/. /Software tooling and their potential change and disparition/.
Accross the years, to many times I saw tools I used disapearing from my Accross the years, too many times I saw tools disapear.
environment. By tools I mean applications, web applications, web sites.
By tool it could be: applications, web applications, web sites, I think we I think we can also include programming languages, control versionning
can also include programming languages, control versionning tools, building tools, building tools, package manager, etc...
tools, package manager, etc...
The story can be quite different. The story can be quite different.
Sometimes the disparition of a tool is positive, because I found a better Sometimes the disparition of a tool is positive, because I found a better
one (for me at least). one (from cvs to svn to git).
But too often the tool simply disapears or worse downgrade its quality. But, too often, the tool simply disapears or worse downgrade its quality.
I think we can find different names for those softwares: I think we can find different names for those softwares:
- /bloatware/: remember digg, stumbleupon, windows? - /bloatware/: remember digg, stumbleupon, windows?
@ -43,8 +41,11 @@ I think we can find different names for those softwares:
- /dieware/: Remember Friendfeed, Google Reader™, etc... - /dieware/: Remember Friendfeed, Google Reader™, etc...
- etc... - etc...
So regarding Github Codespace; the integration of VSCode™ inside GitHub™ I This is often quite frustrating because you lose a lot of your investment
think this could be worse than a disapearing tool. with that tool.
Regarding Github Codespace; the integration of VSCode™ inside GitHub™ can
be even worse.
This is what I would call a /trapware/. This is what I would call a /trapware/.
#+begin_notes #+begin_notes
@ -54,12 +55,12 @@ By slowly but surely add features that while looking great for the user at
first sight will ensure to entrave other tools to interoperate. first sight will ensure to entrave other tools to interoperate.
#+end_notes #+end_notes
Furthermore, the fact that Microsoft is involved has a taste of [[https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguish][Embrace, Extend and Extinguish]]. Furthermore, the fact that Microsoft is involved give this story a taste of
[[https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguish][Embrace, Extend and Extinguish]].
I think the real concern is that it could become a /work framework/. My real concern is that it could become a /work framework/.
So if sufficiently businesses start to use this. This could impose the full tooling on a lot of developers without giving
This could impose the full tooling on a lot of developers without giving them them the freedom of choice.
the freedom of choice.
For a startup CTO/CEO this GitHub™ Codespace™ could offer the following For a startup CTO/CEO this GitHub™ Codespace™ could offer the following
advantages: advantages:
@ -115,10 +116,6 @@ Yes great.
But I really doubt a company like Microsoft™ offer anything without a plan But I really doubt a company like Microsoft™ offer anything without a plan
to make it worth it. to make it worth it.
Until here I mostly talked about the Github Codespace article and HN thread
reaction.
Where I saw a lot too much enthusiasm about this news for my taste.
The [[https://news.ycombinator.com/item?id=23102430][Zoom acquires keybase]] is just another story of a dying product. The [[https://news.ycombinator.com/item?id=23102430][Zoom acquires keybase]] is just another story of a dying product.
Apparently the keybase team will probably stop maintaining keybase. Apparently the keybase team will probably stop maintaining keybase.
The idea behind keybase was pretty nice. The idea behind keybase was pretty nice.
@ -148,16 +145,17 @@ But you have a lot more work to do yourself.
The common pattern I see during choice decision is often reducible to: The common pattern I see during choice decision is often reducible to:
1. Easy now, but less extensible and more difficult later 1. Easy now, but less extensible and harder in the long run.
2. Harder now but more extensible and less potential blocker in the future. 2. Harder now, but more extensible and easier in the long run.
And mostly the answer is not hard to infer. As a conclustion I would state that when you need to choose between
If you are going to use a tool a lot, the difficulty to start learning it different tools.
is not that important. Take the time to think about the investment costs.
If in the end the tool help you to go farther. Sometime, the bit of pain in the begining is worth it.
In particular if you are going to use this tool every days for many hours
So if you're going to make a living with it. during the following years.
And use this tool a lot I highly suggest the second option. If on the other hand you don't plan to use that tool much.
Going with the easy option is certainly the best choice.
I consider Emacs to be of the 2nd option when compared to VSCode. I consider Emacs to be of the 2nd option when compared to VSCode.
Harder to start, but with a lot more control and potential power that you Harder to start, but with a lot more control and potential power that you
@ -165,23 +163,83 @@ will probably never be able to get with most modern IDE/Editor.
Also choosing a Free Software[fn:1] gives you a lot more control about its Also choosing a Free Software[fn:1] gives you a lot more control about its
future. future.
A few last words about Emacs, because for now I can state that this is an
amazing tool which when used correctly will improve your coding experience
and project management a lot.
If you want to start using it from something like VSCode I suggest you to
start by using either [[https://www.spacemacs.org][spacemacs]] or [[https://github.com/hlissner/doom-emacs][doom-emacs]].
It will take a few weeks to absorb vim keybindings.
Slowly you'll start to learn how to configure it for your needs.
And I really suggest you to take a look at org-mode.
Mastering it could change your carrier.
org-mode alone would be enough to use emacs.
But there are a lot more to discover.
The first difficult aspect when faced with open source is the lack of
centralization.
Instead of having a big bundle with everything prepared to work you
generally need to install each part of a big system separately.
[fn:1] note I said /free software/ and not /open source/; c.f [fn:1] note I said /free software/ and not /open source/; c.f
[[https://www.gnu.org/philosophy/open-source-misses-the-point.en.html][Why Open Source misses the point of Free Software]] [[https://www.gnu.org/philosophy/open-source-misses-the-point.en.html][Why Open Source misses the point of Free Software]]
** Post-conclusion -- Emacs is awesome
:PROPERTIES:
:CUSTOM_ID: post-conclusion
:END:
To go beyong my opinion, I'd like to share my experience with editors and
emacs.
When I started to code.
We coded with vi, not vim, vi.
At that time I only knew, =i=, =a=, =dd= and =cw= vi commands.
So when I started to use IDEs I was thrilled.
After a few year I started to work for a company that forced me to use
their shitty computers.
I started to have wrist issues.
So I decided to learn vim.
And I saw the benefits only after a few weeks.
They were tremendous.
No more wrist pain.
And I started to learn a lot of editing automation.
Then I started a new work where we decided to code in Clojure.
And so knowning that Clojure is a LISP and most LISPers love emacs because
emacs plugin language is emacs LISP.
I tried to use spacemacs.
At that time I didn't want to invest much time in learning Emacs.
I just wanted to learn the tricks that will make Emacs more valuable to my
work.
And it did after just a few days, weeks.
I used Emacs superficially for years.
Just Spacemacs + a few useful layers.
And it was already quite efficient, at least as much as vim.
More recently I started to dig deeper.
In particular, I read so much praise about org-mode I was really curious.
And it took me some time to really discover why it is so great.
First, let's just say that, basic org-mode is already quite valuable.
But you can do a lot.
And unfortunately this is a bit hard to describe how org-mode is great
without really digging a bit.
So you can think of org-mode as an extremely versatile todo-list / note
taker with agenda and time tracking integration.
Mostly you are in control of your working workflow with org-mode.
The ability to do org-capture and org-refile is also great.
Recently there is org-roam that is a step further to make orgmode a nice
place to keep track of all your knowledge in one place.
Concretely, emacs has changed my workflow a lot and made me a *lot* more
productive.
It improved not only my coding workflow, but my full work environment.
I started with the editor, a few plugins, and slowly, I integrated more
aspect of my day to day tasks in emacs.
Emacs is designed to adapt to your own needs you can start to automate a
lot of small tasks.
I really love Emacs and if you want to joyfully join the Emacs users here
are my advices:
Start by using either [[https://www.spacemacs.org][spacemacs]] or [[https://github.com/hlissner/doom-emacs][doom-emacs]].
It will take a few weeks to absorb vim keybindings.
Slowly you'll start to learn how to configure it for your needs.
I really advise you to take a look at org-mode.
Mastering it could change your carrier.
Im my opinion [[https://orgmode.org][org-mode]] alone is a good reason enough to use emacs.
But there are a lot more to discover.
However, if you are used to tools from startups, with nice UI/UX.
Almost no configuration cost.
Be aware that digging in Free Softwares is a lot diffierent.
Instead of having a big bundle with everything prepared to work you you
will need to take the time to configure each part of a big system
separately.
Howevery I'm deeply convinced the investment is really worth it.