1.  

    I would appreciate the rationale behind marking this as spam.

    1.  

      It was flagged because it promotes a commercial product and there’s nothing to discuss at the direct link. The flagger didn’t see the sample chapters in the story description.

      And then the meta comments are getting flagged as off-topic, which is appropriate for “why was I flagged” conversations.

      1.  

        Got it, thanks for the explanation. (I had considered linking to the sample chapters directly, but instead opted for the “canonical” URL with links in the description)

      2.  

        Probably someone thought “object-oriented = bad. functional = good”. I did hear good things about this book personally.

      1. 4

        Why remap to enter key? It’s so far placed. I remapped my ‘a’ key to control as I pretty much always hover over ‘a’ key already.

        1. 1

          I agree with you, but the author shared their motivations in an older post, http://emacsredux.com/blog/2013/11/12/a-crazy-productivity-boost-remap-return-to-control/

          1. 1

            I guess I can see it, but the advantages seem pretty minor, certainly not what I would call “crazy”. Also, having used the “dual function” key that is described, is can be pretty finicky sometimes. Hitting Enter instead of Control can be rather disruptive.

            If it works, great. It just feels unnecessary.

            1. 2

              Well, back then this type of keyboard remapping seemed pretty novel to me, probably today I wouldn’t use the adjective crazy to describe it. :-) Still, Enter is definitely easier to press than the actual left CTRL with a pinky on most ANSI keyboards, and not having to move my hand off the home row is quite nice. I did play at some point with using SPC as control, but I typing several spaces in a row becomes quite problematic with this arrangement. :-)

              1. 1

                One more thing - I came across this idea when I was working on a Mac keyboard without a left control to begin with and it was the only way I wouldn’t lose any other key (e.g. one of the Options) in exchange for the left control I desperately needed. With Linux and a normal Win keyboard that’s not as big of an issue, but I still prefer that arrangement over a control on the bottom row of the keyboard.

          1. 2

            And rebuilding my site. https://nikitavoloboev.xyz

            Do you plan to continue using Gitbook for the wiki?

            1. 1

              Wow, that’s one impressive Wiki!

              Have you ever considered periodcally backing up the linked contents? Almost like a WaybackMachine, but locally? Or are stale issues not really an issue/concern for you?

              Also, have you ever run into the issue where a resource would fit in multiple places? How do decide where it goes?

              1. 2

                Have you ever considered periodcally backing up the linked contents?

                I have backups of content of my mac. The wiki is a folder in Dropbox so it gets backed up too.

                Or are stale issues not really an issue/concern for you?

                Stale issues are not a concern as I update the wiki whenever I use it and see stale content. Otherwise, the wiki is oss so is open to edits from anyone.

                have you ever run into the issue where a resource would fit in multiple places? How do decide where it goes?

                Isn’t an issue often although some links do fit into multiple topics. For that I am building out https://github.com/learn-anything/learn-anything which will address this issue. And will be my link manager in the future.

              2. 1

                For now yes. I do want to move to custom solution later. Especially my journal (https://wiki.nikitavoloboev.xyz/looking-back) as I plan to build some tools to get data from Twitter/LastFM/GitHub to show on the side with the entries.

                1. 2

                  What do you think of the Zettelkasten style of note taking?

                  1. 1

                    Never really tried it. I like my style of just using files in directories.

            1. 2

              It’s annoying that Elixir or Erlang languages are only good for writing web applications. You can’t write CLI tools as starting the BEAM doesn’t make sense for it. Unless I’m mistaken.

              With Go for example, you can write the same highly concurrent web apps but also write CLIs thus use one language for everything + Go LSP is more mature.

              I never tried out Elixir/Gleam though, perhaps its functional & expressive features are really that good.

              1. 9

                You can write command line applications in Erlang based languages, it’ll just be a bit slower to start and harder to distribute than a language that complies to binary, similar to tools written in Ruby, etc.

                I wouldn’t pick Erlang for a general purpose CLI but I might for a tool for a larger Erlang project. This is a common approach: iex, mix, rebar3, rabbitmq CLI, etc.

                Go does a great job of making easy to distribute binaries, but sadly it is lacking many of the concurrency and durability features of Erlang. Ideally there would be a language with both! I’m hoping Lumen, the LLVM compiler for Erlang, will deliver here in future.

                1. 7

                  (On a second read of your comment, I can’t tell if you have experience in the Erlang world. If you do, my apologies if you already know what I’ve written below. I’m learning about a new topic and I’m some what excited.)

                  I have been messing around with Elixir for a few weeks and I love the pattern matching, function overloading, and expression oriented syntax. It’s a very fun, expressive language. I would recommend checking it out!

                  I believe that there are some frameworks to make TUIs, but it is probably not suitable for short lived command line tools. Specifically, I understand that it is not very fast when it comes to text processing.

                  One important thing to note about the erlang virtual machine (BEAM) is that it is built for low and consistent latency. You could run an infinite, cpu bound loop in one process and the rest of the processes would keep chugging along. This means that it is not necessarily built for high throughput. (The runtime interrupts each process after a certain number of “reductions”.)

                  So while Go might be able to build highly concurrent systems I think you would have to put a lot of work into making the latency consistent and to build fault tolerance into your application. That said, throughput is more important than responsiveness for some applications so it is a reasonable trade-off to make.

                  1. 6

                    Use escript. It doesn’t start OTP which is where the startup time is spent. Starting escript is pretty much instantaneous. If you need distribution access you can still call net_kernel:start/2 manually and send messages to other instances.

                    http://erlang.org/doc/man/escript.html

                    1. 5

                      As a follow up to my previous reply (https://lobste.rs/s/q66slp/v0_10_gleam_statically_typed_language_for#c_upesnz) I would like to say that I’ve been thinking about how Go could be a complication target for Gleam. I keep hitting into problems of not being able to replicate some Erlang features using the Go concurrency primitives (namely monitors, process isolation, and links). If you or anyone has an idea of how we could tackle this I’d love to explore this area!

                      1. 1

                        Go LSP

                        LSP?

                        1. 1

                          Language server protocol. It’s a common API for IDE engines so that one program can be made per language and then shared with all editors, rather than each editor implement their own language tooling.

                      1. 5

                        This article by Dan is good and on the same topic:

                        https://overreacted.io/goodbye-clean-code/

                        1. 4

                          But that article is about some abstract definition of “clean” as opposed to talking about the book.

                        1. 4

                          I love https://linear.app. It’s very keyboard friendly.

                          1. 1

                            That looks awesome, will sign up for their waiting list.

                            1. 1

                              Thanks for this suggestion!

                            1. 2

                              On macOS I use https://github.com/lox/alfred-github-jump to do the same but search from Alfred.

                              Even when I have over 12k repos starred, the results from the search are instant. I also modified it with modifiers to jump to issues/prs/create-new-issue/clone.

                              1. 1

                                Sweet! Yeah Alfred is fantastic for this sort of stuff. I’m currently investigating how I can make this work with fzf and maybe add a quick clone shortcut or something not sure yet :)

                              1. 8

                                Karabiner for me by far. I have access to over 500 actions/hotkeys without moving my fingers at all. Caps lock is too far so is return key. i.e. my return key is mapped to s+f. That is I press s key, then f key. My control key is a key. Most map control to caps lock but why map it to caps lock when you always hover over a key already.

                                It’s pretty powerful stuff. My config. https://github.com/nikitavoloboev/dotfiles/blob/master/karabiner/karabiner.edn

                                1. 2

                                  I love Karabiner. It is an essential part of my workflow on Mac. Vim bindings, layers, media controls, screen organization, all on my 60% keyboard with Mac-compatible keys is amazing.

                                  1. 1

                                    This looks awesome. I see that your config is EDN format but I’m seeing JSON in the docs. Do you just convert yours to json?

                                    1. 2

                                      Yeah its converted from EDN to Karabiner JSON using Goku (https://github.com/yqrashawn/GokuRakuJoudo)

                                    2. 1

                                      This looks amazing, admittedly I looked at karabiner when I had a 60% keyboard, but didn’t realize that it could do all the extra things it can do! I’m going to have to give this a try this weekend, may steal some of your config to test it out.

                                    1. 2

                                      One thing I think can be improved is removing the friction of writing proper commit messages when updating docs. I personally automate docs and other trivia commits with https://github.com/nikitavoloboev/gitupdate

                                      1. 2

                                        Not directly related but anyone knows a list of awesome RSS feeds? A bit like the other “awesome” lists.

                                        1. 13

                                          I find myself using RSS rather for the non-awesome feeds. The awesome stuff reaches me via lobsters or other aggregator. RSS is necessary for feeds I care for but which are not mainstream enough to be on an awesome list.

                                          1. 3

                                            This is what I have realized as well. In this way, I have 100s of feeds which I don’t even see in a month. But, when I want to narrow my sources to something specific I am working on, then I could just go back to the mountain of feeds with relevant information.

                                            1. 1

                                              Good idea. Thanks!

                                            2. 3

                                              RSS is probably too personal, but there is this website where people have added their own personal sites.

                                              1. 3

                                                https://github.com/learn-anything/blogs contains lots of blogs who have RSS feeds

                                                1. 3

                                                  One good source I recently found on hn is https://reddit.com/r/hnblogs/. You can append .rss to this URL as well: https://www.reddit.com/r/hnblogs.rss

                                                  1. 2

                                                    For all the (mostly warranted) excitement around static site generators, this is a bit of a downside: RSS tends to be left out.

                                                    1. 6

                                                      Really?! That’s disappointing.

                                                      I mean, if your SSG is generating a generic site, that’s fine I guess, but in my experience most people want to use them as blogs, and a blog without RSS/Atom is a travesty of the term, in my arrogant opinion.

                                                      1. 2

                                                        Not so arrogant, I agree. Or maybe that means we’re both are.

                                                        1. 9

                                                          I’m prepared to die on the hill that a blog without syndication is not a blog.

                                                          1. 2

                                                            Right beside you, brother. 💪🏾

                                                        2. 2

                                                          The default template for Jekyll has an RSS feed, if it’s any help.

                                                    1. 4

                                                      Going to setup Postgres DB and backend in Go and recreate Pinboard functionality.

                                                      It’s needed in order to build a dream educational platform of mine. In short the idea is to build an amazing link manager, a knowledge graph of topics and a tool to create guides out of the links to learn anything.

                                                      Will do it all in the open https://github.com/learn-anything/learn-anything

                                                      1. 3

                                                        I keep everything in markdown files in one folder. https://github.com/nikitavoloboev/knowledge

                                                        ~/Dropbox/Write/knowledge master 
                                                        
                                                        ❯ loc 
                                                        
                                                         Language             Files        Lines        Blank      Comment         Code
                                                        
                                                         Markdown               796        26586         4256            0        22330
                                                        

                                                        22330 lines of content so far (calculated with loc tool).

                                                        In future want to move stuff from wiki to Learn Anything system I am building (https://github.com/learn-anything/learn-anything).

                                                        For now I access everything using Alfred workflow (https://github.com/nikitavoloboev/alfred-my-mind)

                                                        I also use gitupdate tool to automatically push changes to github with names of files changed as commit message. `+v key pressed will run a macro to automatically do it. It’s pretty neat system but I want to make it better in time.

                                                        1. 2

                                                          Thanks for this. I’m working on a notes app, and I want it to just use GitHub as the database in this type of format, so this is some inspiration.

                                                          The problem I had with putting all my articles and content online is that hundreds of people would fork the whole repo, change the name, and deploy the site. I don’t care about copyright and intellectual property or anything like that, but you get a lot of duplicated data on the internet, and I would often have hiring managers email me to tell me that someone ripped off my site and claimed it as their own.

                                                          I decided to move the content side of it to private submodules, so the data is still available online but you don’t end up with a bunch of clones of your content all over the web.

                                                          1. 1

                                                            @nikivi: It was reading your website that inspired me to put all my notes online. I have not been able to do it as yet, finalising the system that I want to use. Thanks!

                                                          1. 2

                                                            My one is described in GitHub repo for macOS & iOS. I got new mac a month ago so it is further simplified, will update the repos shortly.

                                                            But of the recent things, I moved most project management to Notion from Trello. Started using VS Code insiders with minimal extensions.

                                                            I want to rewrite and/or start using https://github.com/Keats/kickstart to bootstrap new projects.

                                                            1. 2

                                                              Thanks for sharing your setup and your workflow with us. Your Git repositories, and Gitbook are a goldmine of fascinating information/tips.

                                                              1. 1

                                                                I share some links I collected on networking

                                                                1. 1

                                                                  I noted quite a lot of rules for myself. Some are more specific, others more abstract. I refined the list over the years.

                                                                  https://wiki.nikitavoloboev.xyz/focusing/rules

                                                                  1. 1

                                                                    I gave a quick look at your wiki, it made me consider having a wiki for myself too. I really liked the idea, I don’t know if I would have the courage to put it online though, I’ll probably censure myself if I do.

                                                                    For how long have you maintained the wiki? Where did you get the idea?

                                                                    1. 2

                                                                      Got the idea from this wiki: https://github.com/yoshuawuyts/knowledge

                                                                      Setup the wiki in 2017. Been updating it daily ever since.

                                                                      Updating tools to access it too.

                                                                  1. 1

                                                                    https://nikitavoloboev.xyz -Currently rebuilding it with next.js and moving my blog to it from Medium. Very much inspired by Tania’s site.

                                                                    1. 4

                                                                      I shared my favorite blogs I follow here: https://wiki.nikitavoloboev.xyz/research/blogs

                                                                      It also contains a Inoreader RSS XML feed of over 500+ other blogs I follow.

                                                                      There is also curated list of blogs here: https://github.com/learn-anything/blogs#readme

                                                                      1. 1

                                                                        I keep all code inside ~/src sorted by theme. And search file system with Alfred to open projects in VS Code or cd quickly to folder in iTerm.

                                                                        1. 3

                                                                          Can anybody tell me how to disable the “preview tab” state, where you click on something once in the explorer (or more importantly open it with cmd-p), and it opens but in a “preview” tab that will be replaced? Or better yet, I’d like to promote “preview” tabs (I’m probably using the wrong term here) into real tabs once you’ve had it open and/or focused for a few minutes?

                                                                          1. 3

                                                                            I haven’t figured out how to disable, but I did learn double click opens for real. Now I use lame open on purpose for files I just want to preview.

                                                                            I wish the function was reversed.

                                                                            1. 8

                                                                              You can disable “preview” mode entirely with this setting:

                                                                              "workbench.editor.enablePreview": false
                                                                              

                                                                              …or just from Quick Open with this one:

                                                                              "workbench.editor.enablePreviewFromQuickOpen": false
                                                                              
                                                                            2. 2

                                                                              If you save the file (cmd+s) it will make the tab permanent. If I understand what you meant.

                                                                              1. 1

                                                                                That’s a useful trick I need to keep in mind, chur.

                                                                                1. 3

                                                                                  Saving works—there’s also a command to just keep the file open named “View: Keep Editor” (workbench.action.keepEditor). The default keyboard shortcut is ⌘K Enter.

                                                                              2. 1

                                                                                I’ve disables preview, it’s annoying (see other comments for details). As for “promoting” you can double click on the tab to do that.