1. 3

    How to Ctrl, Alt, Esc, Shift?

    1. 2

      Tap and hold. Some keys change behaviour whether they are used in a combination or alone. For example A on hold works like LShift and ; works as RShift on hold.

      1. 3

        So to type a capital A I would hold ; and press A?

        1. 3

          Exactly. I have slightly bigger keyboard (48 keys) and for example I use space as both - Space on tap and AltGr on hold.

    1. 2

      I have pretty good github page: https://github.com/antonmedv It helps significantly.

      1. 1

        You have a lot of stars. May I ask how do you promote your projects

        1. 1

          reddit/lobster, rarely hacker news. Sometimes one/or another got popular. I think the main inside - I do lots of projects (it’s a hobby for me). Example:

          And, of cause, I have lots of unpopular projects:

          As you can see, quantity grows into quality.

      1. 4

        I cannot line without this reverse search replacement: https://github.com/dvorka/hstr Recommend.

        1. 0

          I hate those banners. Idea to force users interact with banner on EVERY website is insane. People who wrote GDPR not familiar with internet.

          PS Why GDPR not targeting browsers? You can get more money from numerous websites vs a few browsers.

          1. 22

            Idea to force users interact with banner on EVERY website is insane

            This is not the case with GDPR. Under the GDPR, you only need to ask for consent if you want to store/process/etc. personal data outside of what is necessary for the service you are providing. Most of the sites that I visit don’t have GDPR consent banners. Lobsters doesn’t, wikipedia doesn’t, peoples blogs generally don’t, legitimate online shops don’t. Generally speaking, the only sites that have GDPR consent banners/popups are sites that make money by shady practices like tracking and targeted advertising.

            1. 6

              People who insert those banners (looking at you, web developers) are not familiar with GDPR.

              1. 3

                I hate those banners

                That, as I understand it, is part of the goal. You don’t need consent for cookies that provide the core functionality of the site. You do need consent if you’re doing ethically dubious things. The GDPR is intended to create market pressure that gives an advantage to sites that don’t track users (unless the user explicitly signs up and creates an account, at which point tracking that account is part of the core functionality). Given two sites, if one tracks users and the other doesn’t, the GDPR gives users a visible incentive to prefer the non-tracking one.

              1. 1

                Engineer – a person who designs, builds, or maintains engines, machines, or structures.

                I’m ok with this definition. And software engineer is “engineer”.

                1. 0

                  I am an engineer by this definition; because by eating food, I maintain my body, which is a biological machine.

                  1. 1

                    In some sort you are ;)

                1. 2

                  I think it is already exists – Markdown. And it is wildly used.

                  1. 1

                    Still true, even if you mean “widely used”. Relevant either way.

                  1. 2

                    I don’t spend a lot of time working with Javascript but I see these articles a lot and a common complaint is that yes, vanilla Javascript is powerful these days but it’s hard to maintain over larger codebases. So between the “frameworks/libraries” crowd and the “vanilla JS” crowd… is it actually possible or advisable to create a modern web application in “a little bit of plain Javascript”?

                    1. 3

                      Depending on the app, I think it’s possible and advisable to create a modern web app with a little bit of plain JS. Basecamp have a whole thing about sprinkling JS on top of a solid HTML/CSS foundation, and their new email app HEY is supposedly built like that, with JS just taking over HTTP requests (links, form submissions) and applying them in-place. (I haven’t used the app, I’m just intuiting based on a Twitter thread that was doing the rounds). So basically, you’d use:

                      • fetch() for the request
                      • the History API to manipulate browser history
                      • various DOM querying/manipulation methods to glue everything together

                      Web Components are a set of specs that as a whole should further the goal — just drop in its JS file and get a new custom component with which you interact like any other DOM element — but unfortunately there are various roadblocks, bugs, and limitations that limit their impact.

                      Closer to the SPA spectrum (one HTML rather than many), you definitely can have everyting in plain JS, but it won’t be a little for anything non-trivial and it will get unwieldy. I guess there are two parts to the “plain” story:

                      • not transpiled, nor supported by any build process; this is a major spaghetti maker. Without proper support for modules, dependency management is finicky and you’re stuck with carefully putting everying in the right order in the global namespace. Support for native modules is gaining ground, but for near-universal support you can’t rely on them alone.

                      • using the Web APIs directly, rather than relying on libraries and frameworks; definitely possible, after you develop a sense on how to organize things, but I think for larger teams it can become challenging because keeping it sane relies on devising, and following, your own rules and constraints.

                      1. 4

                        My last from scratch project I built using Stimulus (https://stimulusjs.org/) from Basecamp. It’s just enough JS. That plus turbo links really made the app super simple but also SPA like.

                        Highly recommended.

                      2. 1

                        It’s possible. Main selling point of Javascript frameworks - it is a framework. With vanilla js your app can become a mess if you’re not really good at architecture (and I believe a few is good). On other hand you can use a framework which prescribes where to put stuff, and how to organise data flow. Lots of people complain about bloated web and blame frameworks. I believe without frameworks it will be worse.

                        1. 1

                          I think we could get a long way by injected a middle path between “completely plain, download from cdn url” and “dependency hellhole full on framework with multiple compilation steps” projects tbh, it’s just that the tooling and norms are pushing you towards the latter and the type of person attracted to the former is not necessarily going to have the knowledge or patience to leverage the standard tooling in a more minimalist way.

                          It is possible to support stricter subsets of modern browser versions if you want to avoid a lot of back compat compilation steps with Babel or remove it entirely, it is possible to limit your dependencies to heavy well specced libraries like markdown or community standard utility libs like lodash, or at the very least be meticulous about what needs to go in build dependencies vs devDependencies. but it takes both domain knowledge and patience which don’t necessarily pay off in commercial work (until of course, they do, but by then you’ve got a massive SPA on your hands most likely and the issues have been compounded).

                          And this problem is of course transitive and endemic to the community norms, your well selected libraries must themselves also have been authored with an eye towards similar standards, and the bigger your project gets the more likely it is you’ll have dependencies or transitive dependencies that carry some bloated or poorly maintained package dependencies of their own. I would love to see workflows that have the flexibility of build and bundle tooling with a minimalist approach to dependencies, but it’s just quite uncommon atm.

                        1. 2

                          Just for fun? Or for some benefit?

                          1. 4

                            Both. A personal website has been on my todo list for years and since I’m learning guile it felt like a good side project. I chose to deploy using IPFS because –as explained in the first paragraph– it’s shiny and I did not want to manage a server.

                            1. 2

                              Unless I’m missing something, I didn’t connect to your site via IPFS, so isn’t there some (HTTP) server you’re running? Also, managing a HTTP server is pretty trivial if you’re already hosting static content.

                              1. 3

                                Cloudflare IPFS gateway as noted in the article:

                                https://cloudflare-ipfs.com

                                IPFS here is a replacement for Git{Hub|Lab} pages. Author does not want to run a webserver.

                                1. 3

                                  Well you are missing something: the part of the article where I talk about using cloudflare-ipfs to access my content through http.

                                  And with regards to managing an http server I’d rather someone else do it. Between cloudflare and pinata I doubt I’ll ever have to troubleshoot downtime unless I let my domain name expire.

                                  1. 2

                                    Oops, I misunderstood that point. nvm then.

                            1. 3

                              A blog post about one option? Awesome! 👏

                              1. 1

                                My president does not know what internet is.

                                1. 1

                                  https://dustri.org — mostly about computer security

                                  1. 2

                                    Nice logo animation)

                                    1. 1

                                      Done in pure css :)

                                      1. 1

                                        Ios support?

                                        1. 1

                                          No idea :/

                                  1. 2

                                    Why not even one point about why you should NOT use adblockers? Quite one sided article. I think everyone reading this comment can come with at least one anti-adblocker reason.

                                    1. 0

                                      I explicitly NOT testing any line. 100% achieved.

                                      1. 0

                                        This is a rather boring response. Obviously, any voluntary, gradual opt-out methods has the option of opting out completely.

                                        Not doing coverage testing is fine and and okay decision, especially when done fully consciously.

                                      1. 1

                                        No JS is bad feature. Instead of adding more value (autocomplete, autosuggestion, etc) you treated with small benefits of “no js”. A graceful degradation will be better. More features for normal users, less for adepts on “No Script”.

                                        1. 3

                                          That’s probably how I’ll proceed from now on. Autocomplete, keyboard shortcuts, etc via js, but never breaking the core functionality.

                                        1. 0

                                          Golang does it as well.

                                          1. 3

                                            I’m really don’t understand compliance. If it’s a simple blog us will be over kill. But if you are building something like flight search engine you want use framework. Other wise you end up writing your own buggy version.

                                            1. 4

                                              I’m working on my CodeMirror alternative editor for the browser: https://medv.io/codejar/

                                              Main difference is what it’s extremely light. Only 2kb.

                                              1. 4

                                                Didn’t you already post this one month ago?

                                                1. 1

                                                  I finally got codejar name on npm. Before it was @medv/codejar.

                                                1. 3

                                                  https://fx.wtf uses mouse to open/close json parts.

                                                  1. 1

                                                    This is why JS is my language of choice. Can do frontend, backed and apps too!