188 lines
8.5 KiB
Org Mode
188 lines
8.5 KiB
Org Mode
#+Title: Who is in Control
|
|
#+Subtitle: How I started to take care of the tools I use.
|
|
#+Author: Yann Esposito
|
|
#+Email: yann@esposito.host
|
|
#+Date: [2019-08-17 Sat 20:00]
|
|
#+KEYWORDS: opinion
|
|
#+DESCRIPTION: Modern tools disapears.
|
|
#+DESCRIPTION: Some tools are worth a big time investment.
|
|
#+LANGUAGE: en
|
|
#+LANG: en
|
|
#+OPTIONS: H:5 auto-id:t
|
|
#+STARTUP: showeverything
|
|
|
|
This week I worked a lot more than usual.
|
|
So much I didnt take the time to take a look at HN.
|
|
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=23107123][Making Emacs popular again]]
|
|
- [[https://news.ycombinator.com/item?id=23092904][Github Codespace]]
|
|
|
|
Such article have existed for years on different products.
|
|
What is their common point?
|
|
/Software tooling and their potential change and disparition/.
|
|
|
|
Accross the years, to many times I saw tools I used disapearing from my
|
|
environment.
|
|
By tool it could be: applications, web applications, web sites, I think we
|
|
can also include programming languages, control versionning tools, building
|
|
tools, package manager, etc...
|
|
|
|
The story can be quite different.
|
|
Sometimes the disparition of a tool is positive, because I found a better
|
|
one (for me at least).
|
|
But too often the tool simply disapears or worse downgrade its quality.
|
|
I think we can find different names for those softwares:
|
|
|
|
- /bloatware/: remember digg, stumbleupon, windows?
|
|
- /downgradeware/: Swagger-UI v3 (v2 is neat), reddit new redesign (looks better, but slow)
|
|
- /payware/: Useful free service ask for money now. Or cost a lot more.
|
|
- /crapware/: Stop to works, quality degrate unless you pay: Twitter streaming API?
|
|
- /dieware/: Remember Friendfeed, Google Reader™, etc...
|
|
- etc...
|
|
|
|
So regarding Github Codespace; the integration of VSCode™ inside GitHub™ I
|
|
think this could be worse than a disapearing tool.
|
|
This is what I would call a /trapware/.
|
|
|
|
#+begin_notes
|
|
/trapware/:
|
|
A software that is intented to put you inside a closed ecosystem.
|
|
By slowly but surely add features that while looking great for the user at
|
|
first sight will ensure to entrave other tools to interoperate.
|
|
#+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]].
|
|
|
|
I think the 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 them
|
|
the freedom of choice.
|
|
|
|
For a startup CTO/CEO this GitHub™ Codespace™ could offer the following
|
|
advantages:
|
|
|
|
- /security/: impossible or very hard to steal the source code by a single dev.
|
|
- /homogeneity/: all dev must use the same development environment. Thus
|
|
the integration of new dev is faster.
|
|
- /cheaper/: don't need to pay for a full featured, fast machine to each new developer.
|
|
A less performant machine able to display an electron app will do the trick.
|
|
- /stats/: you can observe the throughput of your developers.
|
|
How many commits a day, how many lines of code, etc...
|
|
How much bugs involved which part of the code and thus which dev to blame?
|
|
How much time the dev is typing, moving its mouse, how much copy/paste is
|
|
involved, etc...
|
|
|
|
For the single developers and open source developers this offer:
|
|
|
|
- /homogeneity/: if I learn how to work in this environment, I'll be easier
|
|
to recruit and I'll know how to work fast.
|
|
- /lower barrier to entry/: for an opensource repository, it will become much
|
|
easier for anyone to propose a PR to fix some issue. No need to local
|
|
clone the project, no need to download all the dependencies to test it
|
|
locally, etc...
|
|
|
|
But the price to pay is hidden.
|
|
|
|
1. First, you are now, not able to choose your local working environment on
|
|
your machine.
|
|
2. GitHub™ can still change so much to become one of the previously
|
|
mentionned ~/.*ware/~ you don't want to be involved with.
|
|
They could forces you to pay a lot more, remove features, redesign to a
|
|
bloatware, make it harder to interop with other platforms (prefer Azure
|
|
to AWS etc...).
|
|
3. If everything involve machines in the cloud via the browser and via
|
|
authorized plugins only. A lot of tools, features will never be allowed
|
|
in this new ecosystem.
|
|
4. Surveillance on meaningless or wrong metrics about your work.
|
|
Instead of being evaluated on the feature you shipped or on other higher
|
|
level metrics. It will be very tempting for your bosses to find flaws in
|
|
your working habits.
|
|
We are already living in a world were surveillance, metrics and stats
|
|
are too easy to grab about a person. And anyone involved know this is
|
|
all bullshit.
|
|
Human are very good to play those kind of games.
|
|
So people really working hard for the best will certainly perform badly
|
|
compared to other people that simply trick the system.
|
|
|
|
So if the endgoal of GitHub™ is really to help open source and single
|
|
developer.
|
|
And more generally provide simply a better working experience by adding a
|
|
new tool without any hidden marketing plan.
|
|
Yes great.
|
|
But I really doubt a company like Microsoft™ offer anything without a plan
|
|
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.
|
|
Apparently the keybase team will probably stop maintaining keybase.
|
|
The idea behind keybase was pretty nice.
|
|
And they filled a gap in the current open source world.
|
|
|
|
The last article I mentionned was [[https://news.ycombinator.com/item?id=23107123][Making Emacs popular again]].
|
|
The first comment in HN was about how VSCode is easy to start with as
|
|
compared to Emacs that need a lot more time to configure correctly for your
|
|
needs.
|
|
Yes, VSCode certainly just work and is easy to use.
|
|
But Emacs is another beast.
|
|
VSCode can become bad very fast, you don't control how it will evolve.
|
|
The fact that this is a succesful Microsoft product does not garanty it
|
|
will keep its currently quality.
|
|
Emacs on the other hand is 44 year old and was designed so that it adapts
|
|
to you.
|
|
You are the one using libs and customizing it.
|
|
|
|
The argument to chose VSCode instead of Emacs look similar to me to the
|
|
debate "Frameworks vs Libraries".
|
|
Frameworks are easier to start with, but soon you find corner cases were
|
|
you start to fight against them.
|
|
|
|
A Library on the other hand, is just a bunch of helpers you can use.
|
|
And if you need another functionality, just make it using the libraries.
|
|
But you have a lot more work to do yourself.
|
|
|
|
The common pattern I see during choice decision is often reducible to:
|
|
|
|
1. Easy now, but less extensible and more difficult later
|
|
2. Harder now but more extensible and less potential blocker in the future.
|
|
|
|
And mostly the answer is not hard to infer.
|
|
If you are going to use a tool a lot, the difficulty to start learning it
|
|
is not that important.
|
|
If in the end the tool help you to go farther.
|
|
|
|
So if you're going to make a living with it.
|
|
And use this tool a lot I highly suggest the second option.
|
|
|
|
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
|
|
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
|
|
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
|
|
[[https://www.gnu.org/philosophy/open-source-misses-the-point.en.html][Why Open Source misses the point of Free Software]]
|