1. 12

    It looks like this is closed source? That seems a bit of a shame for a Linux product.

    1. 5

      I’ve got to respectfully disagree.

      I think having vendors provide and support their closed source products on Linux represents a major step forward for the platform.

      I am super pleased that a fully open alternative in this space exists, but I use and love 1Password and am chuffed to hear about this, because right now I have to use sub optimal browser extensions or WINE hacks to approximate this.

      1. 2

        Yes! I agree wholeheartedly. It’s a very good sign for the Linux desktop platform as a whole that companies are willing to write and support closed-source desktop applications. Unlike Windows or macOS, Linux desktop machines are much more diverse and backwards compatibility is much less guaranteed. It’s also worth mentioning that distributions and communities usually step up to support particularly important pieces of proprietary software (think Steam) on unsupported distributions and configurations.

        Since 1Password is commercial software, making it available has to make financial sense. While they might be supporting Linux primarily as a marketing ploy to technical people instead of as a result of the number of Linux users, I think it’s more likely that they’re doing this because enough existing users would install it on Linux machines if given the option. That means that there has to be some significant overlap between 1Password users and Linux users.

        1. 1

          Yup that’s absolutely true. They get the question often enough that there is (or was) a blurb in their support thing about using WINE as a hack-around, or at least their was before they came out with 1PasswordX for Chrome/Firefox.

          1PasswordX is an OK solution, but I really REALLY missed the native app as I use it for things like secure note storage and credit card autofill as well.

      2. 1

        Yeah, right? What does this even offer that Bitwarden doesn’t?

        1. 4

          Probably nothing, but that’s not the point. The point is that there are a decidedly non zero number of users who are already bought in to the 1Password ecosystem for any number of reasons, and providing first class support for them on Linux feels like a super clear cut win to me.

          1. 3

            As someone working to migrate off of apple platforms, I’m pretty happy this exists!

            1. 2

              Two thing I like in 1Password compared to BitWarden are 1) the secret key which is totally random, used to encrypt/decrypt the database entries and only stored locally and 2) TouchID and FaceID support on macOS and iOS.

              1. 3

                (Disclaimer: I switched from 1Password to BitWarden about 15 months ago, mostly because it had become clear that there was no way to stay up to date with current 1P features without also having Agile host my password store. I didn’t mind paying them, but I’d like to bring my own sync, please! It was also getting trickier to keep running 1Password under WINE, and most of my daily stuff had moved to a Linux desktop. So my basis for comparison might be out of date.)

                BitWarden’s iOS Touch ID and Face ID support has gotten quite good lately. They also integrate with iOS password management much better than they used to. I have never tried touch ID on a mac so I don’t know if it works with that.

                The things I still miss from 1Password are:

                • Much better password capture in the browser
                • Ability to sign into the background daemon once and have multiple applications (browsers, desktop clients) access it
                • Better integration with system locking
                • Richer password generation settings

                The things I prefer about BitWarden are:

                • All source code is available
                • Easily self-hostable, either using their resource-intensive official package or the community supplied bitwarden_rs
                • Good command line client. (I think 1Password has one now… when I switched, their command line client was new and required you to host your database on Agile’s service, which was a deal breaker for me.)

                The hard tie-in to the service component is really what stops me. I wish Agile would copy BitWarden in that regard and let people self-host but pay them the fee. I cheerfully do that because I want to support them, I just don’t want them to have my passwords.

          1. 9

            True … False … FileNotFound

            Also, whenever I switch back to the tab this link is in it runs some sort of fancy “rendering” progress bar. Not sure what’s up with that.

            I also am a bit disappointed it’s not a top 3 of the most valued structs in C. Oh well…

            1. 1

              Also, whenever I switch back to the tab this link is in it runs some sort of fancy “rendering” progress bar. Not sure what’s up with that.

              It’s @tedu’s clever protest against JavaScript by way of progressive “dehancement.” Simply disable JavaScript, and the page functions beautifully.

            1. 3

              What’s the state of open source apl? What can I do with it?

              1. 4
                • GNU apl

                • ngn/apl

                • dzaima/apl

                • I’m working on an APL implementation which will hopefully be out within a couple of weeks

                • The state of the art, dyalog, though not open source, is free

                1. 4

                  There’s also J, which is completely open source and doesn’t require new symbols.

                  1. 1

                    How does it compare to APL in terms of the points raised by the linked article?

                    1. 2

                      Favourably. The notation is not as good, but it’s not bad (though some people claim so). If performance or commercial use is important to you, it’s probably the best option (unless you care to pay dyalog’s licensing fees).

                      (I’m not aware of any formal benchmarks comparing them, but dyalog apl and j have very high performance; most other implementations are lacking in this respect. K (shakti and kx both) also has excellent performance, but is optimized for different uses; primarily fin-tech and time-series data, so they do well with tables and large sequential data.)

                  2. 3

                    GNU APL is free and can be used as a standalone interpreter or linked as a library. It doesn’t support some of the newer built in operations that Dyalog has and sticks close to the ISO spec.

                  1. 15

                    Nice of them to delete the data

                    1. 12

                      Right? Imagine if they had exfiltrated everything; this could be much worse. This seems like it might be a greyhat effort to get people to secure their databases, especially given the whole metaphor of cats dropping things off of tables and filling the empty air with their meows. That’s just too funny to be an accident.

                    1. 8

                      m4 is another wonderful little POSIX utility great for blogging, and it ships with most Linux distributions by default. Phil Hagelberg’s entire site is “published via GNU M4, rsync, and a 12-line Makefile.”. If you’re into keeping it simple, this thing is definitely worth a look!

                      1. 2

                        M4! That’s a blast from my past: been there, done that. Before switching to m4 I used Make & CPP for a while. I’ve used many different approaches in the nearly two decades since that though!

                        1. 2

                          What does your process look like nowadays?

                          1. 2

                            I’m currently all-in on Emacs Org mode, which supports publishing static websites. I have CircleCI automation to generate previews, as you can see here. My Emacs config also has some specific blogging support. (Including duplication of the publishing spec, which I’m not too happy about.)

                        2. 2

                          Hi! dozens / chrisman here. Thanks for the link.

                          Yeah, I just discovered m4 rather recently. Nifty little tool to be sure!

                        1. 10

                          Related post from Rob Pike in 2008: http://harmful.cat-v.org/software/dynamic-linking/

                          1. 10

                            For the lazy:

                            From: Rob Pike robpike@gmail.com

                            Subject: mmap and shared libraries

                            Date: Wed, 5 Nov 2008 17:23:54 -0800

                            When Sun reported on their first implementation of shared libraries, the paper they presented (I think it was at Usenix) concluded that shared libraries made things bigger and slower, that they were a net loss, and in fact that they didn’t save much disk space either. The test case was Xlib, the benefit negative. But the customer expects us to do them so we’ll ship it.

                            So yes, every major operating system implements them but that does not mean they are a good idea. Plan 9 was designed to ignore at least some of the received wisdom.

                            -rob

                          1. 0

                            While Zig is very innovative, it tries to be a small and simple language. Zig takes a lot of inspiration from the simplicity of C […]

                            This doesn’t really instill confidence in me.

                            I generally avoid languages whose designer believes that C has any redeemable properties, and it has worked quite well for me.

                            you tend to have two options in imperative programming languages: callbacks or async/await […] the downside is that now everything has to be based on callbacks and nested closures

                            Can someone tell me what this is about? I have been perfectly fine using Future/Task APIs and haven’t seen this.

                            1. 20

                              I generally avoid languages whose designer believes that C has any redeemable properties, and it has worked quite well for me.

                              Then Zig is probably not for you (and I don’t mean that in an aggressive way). I do recommend reading the docs and maybe watching a video from Andrew Kelley to get a feeling, but if you don’t see any virtue in C, then you risk not seeing any virtue in Zig either.

                              1. 1

                                What’s wrong with C?

                              1. 23

                                It boggles my mind that there are more and more websites that just contain text and images, but are completely broken, blank or even outright block you if you disable JavaScript. There can be great value in interactive demos and things like MathJax, but there is no excuse to ever use JavaScript for buttons, menus, text and images which should be done in HTML/CSS as mentioned in the blog post. Additionally, the website should degrade gracefully if JavaScript is missing, e.g. interactive examples revert to images or stop rendering, but the text and images remain in place.

                                I wonder how we can combat this “JavaScript for everything” trend. Maybe there should be a website that names and shames offending frameworks and websites (like https://plaintextoffenders.com/ but for bloat), but by now there would probably be more websites that belong on this list than websites that don’t. The web has basically become unbrowsable without JavaScript. Google CAPTCHAs make things even worse. Frankly, I doubt that the situation is even salvageable at this point.

                                I feel like we’re witnessing the Adobe Flash story all over again, but this time with HTML5/JS/Browser bloat and with the blessing of the major players like Apple. It’ll be interesting to see how the web evolves in the coming decades.

                                1. 5

                                  Rendering math on the server/static site build host with KaTeX is much easier than one might have thought: https://soap.coffee/~lthms/cleopatra/soupault.html#org97bbcd3

                                  Of course this won’t work for interactice demos, but most pages aren’t interactice demos.

                                  1. 9

                                    If I am making a website, there is virtually no incentive to care about people not allowing javascript.

                                    The fact is the web runs on javascript. The extra effort does not really give any tangible benefits.

                                    1. 21

                                      You just proved my point. That is precisely the mechanism by which bloat finds its way into every crevice of software. It’s all about incentives, and the incentives are often stacked against the user’s best interest, particularly if minorities are affected. It is easier to write popular software than it is to write good software.

                                      1. 7

                                        Every advance in computers and UI has been called bloat at one time or another.

                                        The fact of the matter is that web browsers “ship” with javascript enabled. A very small minority actually disable it. It is not worth the effort in time or expense to cater to a group that disables stuff and expects everything to still work.

                                        Am I using a framework?

                                        Most of the time, yes I am. To deliver what I need to deliver it is the most economical method.

                                        The only thing I am willing to spend extra time on is reasonable accommodation for disabilities. But most of the solutions for web accessibility (like screenreaders) have javascript enabled anyhow.

                                        You might get some of what you want with server side rendering.

                                        Good software is software that serves the end user’s needs. If there is interactivity, such as an app, obviously it is going to have javascript. Most things I tend to make these days are web apps. So no, Good Software doesn’t always require javascript.

                                        1. 10

                                          I actually block javascript to help me filter bad sites. If you are writing a blog and I land there, and it doesn’t work with noscript on, I will check what domains are being blocked. If it is just the one I am accessing I will temp unblock and read on. If it is more than a couple of domains, or if any of them are unclear as to why they need to be loaded, you just lost a reader. It is not about privacy so much as keeping things neat and tidy and simple.

                                          People like me are probably a small enough subset that you don’t need our business.

                                          1. 4

                                            Ah, the No-Script Index!

                                            How many times does one have to click “Set all this page to temporarily trusted” to get a working website? (i.e. you get the content you came for)

                                            Anything above zero, but definitely everything above one is too much.

                                            1. 3

                                              The absolute worst offender is microsoft. Not only is their average No-Script index around 3, but you also get multiple cross site scripting attack warnings. Additionally when it fails to load a site because of js not working it quite often redirects you to another page, so set temp trusted doesn’t even catch the one that caused the failure. Often you have to disable no-script altogether before you can log in and then once you are logged in you can re-enable it and set the domains to trusted for next time.

                                              That is about 3% of my total rant about why microsoft websites are the worst. I cbf typing up the rest.

                                            2. 3

                                              i do this too, and i have no regrets, only gratitude. i’ve saved myself countless hours once i realized js-only correlates heavily with low quality content.

                                              i’ve also stopped using medium, twitter, instagram, reddit. youtube and gmaps, i still allow for now. facebook has spectacular accessibility, ages ahead of others, and i still use it, after years away.

                                              1. 1

                                                My guess is that a lot of people who use JS for everything, especially their personal blogs and other static projects, are either lazy or very new to web development and programming in general. You can expect such people to be less willing or less able to put the effort into making worthwhile content.

                                                1. 2

                                                  that’s exactly how i think it work, and why i’m happy to skip the content on js-only sites.

                                            3. 6

                                              The only thing I am willing to spend extra time on is reasonable accommodation for disabilities.

                                              Why do you care more about disabled people than the privacy conscious? What makes you willing to spend time for accommodations for one group, but not the other? What if privacy consciousness were a mental health issue, would you spend time on accommodations then?

                                              1. 12

                                                Being blind is not a choice: disabling JavaScript is. And using JavaScript doesn’t mean it’s not privacy-friendly.

                                                1. 4

                                                  It might be a “choice” if your ability to have a normal life, avoid prison, or not be executed depends on less surveillance. Increasingly, that choice is made for them if they want to use any digital device. It also stands out in many places to not use a digital device.

                                                  1. 2

                                                    This bears no relation at all to anything that’s being discussed here. This moving of goalposts from “a bit of unnecessary JavaScript on websites” to “you will be executed by a dictatorship” is just weird.

                                                    1. 4

                                                      You framed privacy as an optional choice people might not need as compared to the need for eyesight. I’d say people need sight more than privacy in most situations. It’s more critical. However, for many people, privacy is also a need that supports them having a normal, comfortable life by avoiding others causing them harm. The harm ranges from social ostracism upon learning specific facts about them to government action against them.

                                                      So, I countered that privacy doesn’t seem like a meaningless choice for those people any more than wanting to see does. It is a necessity for their life not being miserable. In rarer cases, it’s necessary for them even be alive. Defaulting on privacy as a baseline increases the number of people that live with less suffering.

                                                      1. 2

                                                        You framed privacy as an optional choice

                                                        No, I didn’t. Not even close. Not even remotely close. I just said “using JavaScript doesn’t mean it’s not privacy-friendly”. I don’t know what kind of assumptions you’re making here, but they’re just plain wrong.

                                                        1. 3

                                                          You also said:

                                                          “Being blind is not a choice: disabling JavaScript is.”

                                                          My impression was that you thought disabling Javascript was a meaningless choice vs accessibility instead of another type of necessity for many folks. I apologize if I misunderstood what you meant by that statement.

                                                          My replies don’t apply to you then: just any other readers that believed no JS was a personal preference instead of a necessity for a lot of people.

                                                  2. 3

                                                    The question isn’t about whether it’s privacy-friendly, though. The question is about whether you can guarantee friendliness when visiting any arbitrary site.

                                                    If JS is enabled then you can’t. Even most sites with no intention of harming users are equipped to do exactly that.

                                                    1. -1

                                                      disabling js on a slow device is not a choice, but required for functioning. you are basically saying fuck you to all the disadvantaged.

                                                      and all because you are being lazy.

                                                      1. 4

                                                        When you can get a quad core raspberry pi for $30 and similar hardware in a $50 phone, I really doubt that there are devices that can’t run most JS sites and someone who has a device of some sort can’t afford.

                                                        What devices do you see people using which can’t run JS?

                                                        The bigger question in terms of people being disadvantaged is network speed, where some sites downloading 1MB of scripts makes them inaccessible - but that’s an entirely separate discussion.

                                                        1. 1

                                                          how is that a separate discussion? it’s just one more scenario when js reduces accessibility.

                                                          as for devices, try any device over 5 years old.

                                                        2. 2

                                                          I literally have the cheapest phone you can buy in Indonesia (~€60) and I have the almost-cheapest laptop you can buy in Indonesia (~€250). So yeah, I’d say I’m “disadvantaged”.

                                                          Turns out, that many JavaScript sites work just fine. Yeah, Slack and Twitter don’t always – I don’t know how they even manage to give their inputs such input latency – but Lobsters works just fine (which uses JavaScript), my site works just fine as well (which uses JavaScript), and my product works great on low-end devices (which requires JavaScript), etc. etc. etc.

                                                          You know I actually tried very hard to make my product work 100% without JavaScript? It was a horrible experience for both JS and non-JS users and a lot more code. Guess I’m just too lazy to make it work correct 🤷‍♂️

                                                          So yeah, please, knock it with this attitude. This isn’t bloody Reddit.

                                                          1. 6

                                                            “I literally have the cheapest phone you can buy in Indonesia (~€60) and I have the almost-cheapest laptop you can buy in Indonesia (~€250). So yeah, I’d say I’m “disadvantaged”. Turns out, that many JavaScript sites work just fine.”

                                                            I’ve met lots of people in America who live dollar to dollar having to keep slow devices for a long time until better hand-me-downs show up on Craigslist or just clearance sales. Many folks in the poor or lower classes do have capable devices because they would rather spend money on that than other things. Don’t let anyone fool you that being poor always equals bad devices.

                                                            That said, the ones taking care of their families, doing proper budgeting, not having a car for finding deals, living in rural areas, etc often get stuck with bad devices and/or connections. I don’t have survey data on how many are in the U.S.. I know poor and rural populations are huge, though. It makes sense that some people push for a baseline that includes them when the non-inclusive alternative isn’t actually even necessary in many cases. When it is, there were lighter alternatives not used because of apathy. I’ve rarely seen situations where what they couldn’t easily use was actually necessary.

                                                            The real argument behind most of the sites is that they didn’t care. The ones that didn’t know often also didn’t care because they didn’t pay enough attention to people, esp low-income, to find out. If they say that, the conversations get more productive because we start out with their actual position. Then, strategies can be formed to address the issue in an environment where most suppliers don’t care. Much like we had to do in a lot of other sectors and situations where suppliers didn’t care about human cost of their actions. We got a lot of progress by starting with the truth. The web has many, dark truths to expose and address.

                                                            1. 3

                                                              thank you for writing this out. the cheapest new phone in indonesia is probably much faster than your typical “obamaphone” or 3-year-old average device.

                                                              1. 1

                                                                The Obama phones are actually Android devices that also have pre-installed government malware that can’t be removed. They have Chrome and run JS fine.

                                                                1. 2

                                                                  They have Chrome, and they run JS very slowly.

                                                                  1. 1

                                                                    Are you going to cite any devices here? Which JS do they run slowly?

                                                                    My guess is that the issue is on specific documents. I’d think that the fact that JS is so often used in ways that don’t perform well is a much larger issue than this one. Sites using JS in ways that are slow is a completely different debate to be had in my opinion. Although giving someone a version of the page without JS seems a solution, it ignores the entire concept of progressive web apps and the history of the web that got us to them.

                                                                    EG, would you prefer the 2008 style of having a separate m.somesite.com that works without JS but tends to be made for small devices which tends to let corporations be okay with removing necessary functionality to simplify the “mobile experience”? Generally, that’s what we got that solution.

                                                                    The fact that even JS-enabled documents like https://m.uber.com allow you to view a JS map and get a car to come pick you up with reasonable performance on even the cheapest burner phones shows just how much bad programming plays into your opinion here instead of simply whether or not JS is the problem itself.

                                                                    It’s also worth noting that I am strongly interested in people doing less JS and the web being JS-less, but this isn’t the hill to die on in that battle if you ask me. Not only are you going to generally find people that aren’t sympathetic to disadvantaged people (because most programmers tend to not give any fucks unfortunately) but also because the devices that run JS are generally not going to be slow enough that decent JS isn’t going to run. If we introduce some new standard that replaces HTML, it’ll likely still be read by browsers that still support HTML / JS - which means the issue still remains because people aren’t going to prioritize a separate markup for their entire site depending on devices which is the exact reason that most companies stopped doing m.example.com. The exception to this rule seems to be bank & travel companies in my experience.

                                                                    1. 2

                                                                      Here is an example device I test with regularly:

                                                                      iPad 528LL/A, iOS 9.3.5

                                                                      This iPad is less than 10 years old, and still works well on most sites with JS disabled. With JS enabled, even many text-based sites slow it down to the point of being unresponsive.

                                                                      This version of iOS and Safari are gracious enough to include a JavaScript on/off toggle under Advanced, but no fine-grained control. This means that every time I want to toggle JS, I have to exit Safari, open Settings, scroll down to Safari, scroll down to Advanced, toggle JS, and then return to Safari.

                                                                      Or are you going to tell me that my device is too old to visit your website? I’ll be on my way, then.

                                                                      1. 2

                                                                        It’s also worth noting that I am strongly interested in people doing less JS and the web being JS-less, but this isn’t the hill to die on in that battle if you ask me. Not only are you going to generally find people that aren’t sympathetic to disadvantaged people (because most programmers tend to not give any fucks unfortunately)

                                                                        I think this is changing for the better, slowly but faster more recently.

                                                                        but also because the devices that run JS are generally not going to be slow enough that decent JS isn’t going to run. If we introduce some new standard that replaces HTML, it’ll likely still be read by browsers that still support HTML / JS - which means the issue still remains because people aren’t going to prioritize a separate markup for their entire site depending on devices which is the exact reason that most companies stopped doing m.example.com.

                                                                        I think with some feature checking and progressive enhancement, you can do a lot. For example, my demo offers basic forum functionality in Mosaic, Netscape, Opera 3.x, IE 3.x, and modern browsers with and without JS. If you have JS, you get some extra features like client-side encryption and voting buttons which update in-place instead of loading a new page.

                                                                        I think it’s totally doable, with a little bit of effort, to live up to the original dream of HTML which works in any browser.

                                                                        The exception to this rule seems to be bank & travel companies in my experience.

                                                                        Facebook (ok, mbasic.facebook.com) MetaFilter Lobste.rs (for reading) old.reddit.com (for reading) Most blogs posted to lobsters and hn are actually nojs-friendly

                                                                2. 3

                                                                  Aside from devices without a real browser, JavaScript should run fine on any device people are going to get in 2020 - even through hand-me-downs.

                                                                  1. 3

                                                                    I’m going to try to replace my grandmother’s laptop soon. I’ve verified it runs unbearably slow in general but especially on JS-heavy sites she uses. It’s a Toshiba Satellite with Sempron SI-42, 2GB of RAM and Windows 7. She got it from a friend as a gift presumably replacing her previous setup. Eventually, despite many reinstalls to clear malware, the web sites she uses were unbearably slow.

                                                                    “When you can get a quad core raspberry pi for $30 and similar hardware in a $50 phone,”

                                                                    She won’t use a geeky setup. She has a usable, Android phone. She leaves it in her office, occasionally checking the messages. In her case, she wants a nice-looking laptop she can set on her antique-looking desk. Big on appearances.

                                                                    An inexpensive, decent-looking, Windows laptop seems like the best idea if I can’t get her on a Chromebook or something. I’ll probably scour eBay eventually like I did for my current one ($240 Thinkpad T420). If that’s $240, there’s gotta be some deals out there in the sub-Core i7 range. :)

                                                                    1. 3

                                                                      Sure, but just to clarify - we are talking about people who may need to save money to get the $30 for something like a raspberry pi. Not someone who can drop $240 on a new laptop.

                                                                      1. 3

                                                                        Oh yeah. I was just giving you the device example you asked for. She’s in the category of people who would need to save money: she’s on Social Security. These people still usually won’t go with a geeky rig even if their finances justify it. Psychology in action.

                                                                        I do actually have a Pi 3 I could try to give her. I’d have to get her some kind of nice monitor, keyboard, and mouse for it. I’m predicting, esp with the monitor, the sum of the components might cost the same as or more than a refurbished laptop for web browsing. I mentioned my refurbished Core i7 for $240 on eBay as an example that might imply lower-end laptops with good performance might be much cheaper. I’ll find out soon.

                                                                    2. 1

                                                                      But what about a device people got in 2015 or 2010? Or, dare I say, older devices, which still work fine, and may be kept around for any number of reasons like nostalgia or sentimental attachment?

                                                                      Sure, you can tell all these people to also stuff it, but don’t pretend they don’t exist.

                                                            2. 12

                                                              Why do you care more about disabled people than the privacy conscious?

                                                              Oh that one is easy: Its the law.

                                                              Being paranoid isn’t a protected class, it might be a mental health issue - but my website has nothing to do with its treatment.

                                                              For the regular privacy, you have other extensions and cookie management you can do.

                                                            3. 3

                                                              You have some good points. One thing I didn’t see addressed is the number of people on dial-up, DSL, satellite, cheap mobile, or other bad connections. The HTML/CSS-type web pages usually load really fast on them. The Javascript-type sites often don’t. They can act pretty broken, too. Here’s some examples someone posted to HN showing impact of JavaScript loads.

                                                              “If there is interactivity, such as an app, obviously it is going to have javascript. “

                                                              I’ll add that this isn’t obvious. One of the old models was client sending something, server-side processing, and server returns modified HTML. With HTML/CSS and fast language on server, the loop can happen so fast that the user can barely perceive a difference vs a slow, bloated, JS setup. It would also work for vast majority of websites I use and see.

                                                              The JS becomes necessary as the UI complexity, interactivity (esp latency requirements), and/or local computations increase past a certain point. Google Maps is an obvious example.

                                                              1. 3

                                                                It is interesting to see people still using dialup. Professionally, I use typescript and angular. The bundle sizes on that are rather insane without much code. Probably unusable on dialup.

                                                                However, for my personal sites I am interested in looking at things like svelte mixed with dynamic loading. It might help to mitigate some of the issues that Angular itself has. But fundamentally, it is certainly hard to serve clients when you have apps like you mention - Google Maps. Perhaps a compromise is to try to be as thrifty as can be justified by the effort, and load most of the stuff up front, cache it as much as possible, and use smaller api requests so most of the usage of the app stays within the fast local interaction.

                                                                1. 2

                                                                  <rant>

                                                                  Google Maps used to have an accessibility mode which was just static pages with arrow buttons – the way most sites like MapQuest worked 15 years ago. I can only guess why they took it away, but now you just get a rather snarky message.

                                                                  Not only that, but to add insult to injury, the message is cached, and doesn’t go away even when you reload with JS enabled again. Only when you Shift+reload do you get the actual maps page.

                                                                  This kind of experience is what no-JS browsers have to put up with every fucking day, and it’s rather frustrating and demoralizing. Not only am I blocked from accessing the service, but I’m told that my way of accessing it itself invalid.

                                                                  Sometimes I’m redirected to rather condescending “community” sites that tell me step by step how to re-enable JavaScript in my browser, which by some random, unfortunate circumstance beyond my control must have become disabled.

                                                                  All I want to say to those web devs at times like that is: Go fuck yourself, you are all lazy fucking hacks, and you should be ashamed that you participated in allowing, through action or inaction, this kind of half-baked tripe to see the light of day.

                                                                  My way of accessing the Web is just as valid as someone’s with JS enabled, and if you disagree, then I’m going to do everything in my power to never visit your shoddy establishment again.

                                                                  </rant>

                                                                  Edit: I just want to clarify, that this rant was precipitated by other discussions I’ve been involved in, my overall Web experience, and finally, parent comment’s mention of Google Maps. This is not aimed specifically at you, @zzing.

                                                          2. 9

                                                            It shouldn’t be extra effort, is the point. If you’re just writing some paragraphs of text, or maybe a contact form, or some page navigation, etc etc you should just create those directly instead of going through all the extra effort of reinventing your own broken versions.

                                                            1. -2

                                                              Often the stuff I am making has a lot more than that. I use front end web frameworks to help with it.

                                                              Very few websites today have just text or a basic form.

                                                              1. 10

                                                                Ok, well, that wasn’t at all clear since you were replying to this:

                                                                It boggles my mind that there are more and more websites that just contain text and images, but are completely broken, blank or even outright block you if you disable JavaScript.

                                                                Many websites I see fit this description. They’re not apps, they don’t have any “behaviour” (at least none that a user can notice), but they still have so much JS that it takes over 256MB of RAM to load them up and with JS turned off they show a blank white page. That’s the topic of this thread, at least by the OP.

                                                                1. 0

                                                                  Very few websites today have just text or a basic form.

                                                                  Uhh… Personal websites? Blogs? Many of the users here on Lobsters maintain sites like these. No need to state falsehoods to try and prove your point; there are plenty of better arguments you could be making.

                                                                  As an aside, have you seen Sourcehut? That’s an entire freakin’ suite of web apps which don’t just function without JavaScript but work beautifully. Hell, Lobsters almost makes it into this category as well.

                                                            2. 1

                                                              Some types of buttons, menus, text and images aren’t implemented in plain HTML. These kinds should still be built in JS. For instance, 3-state buttons. There are CSS hacks to make a button appear 3-state, but no way to define behavior for them without JS. People can hack together radio inputs to look like a single multi-state button, but that’s a wild hack that most developers aren’t going to want to tackle.

                                                              1. 1

                                                                I’m trying to learn more about accessibility, and recently came across a Twitter thread with this to say: “Until the platform improves, you need JS to properly implement keyboard navigation”, with a couple video examples.

                                                                1. 2

                                                                  I think that people that want keyboard navigation will use a browser that supports that out of the box, they won’t rely on each site to implement it.

                                                                  1. 2

                                                                    The world needs more browsers like Qutebrowser.

                                                              1. 12

                                                                This is tangentially related, but this is the first project in a long time that I’ve seen that uses Darcs, and I’m really happy to see it still getting used! It still feels like it was closer to “how it should be” than either Git or Mercurial.

                                                                1. 4

                                                                  The author of hikari has also created a video where they talk about how & why they use Darcs: https://hikari.acmelabs.space/videos/hikari-darcs.mp4

                                                                  1. 1

                                                                    Not just a video! They wrote an entire book about Darcs: https://darcsbook.acmelabs.space/

                                                                  2. 2

                                                                    I heard that Darcs has bad performance. Do you think it is unlikely to become an issue for a project of this size?

                                                                    1. 3

                                                                      Hard to know without diving in a bit more. The issue isn’t that Darcs can’t scale as such; it’s that performance degrades exponentially with the number of merge conflicts. If they’re resolving those as they go, they could theoretically scale to a very large repo. But I’ll be blunt I haven’t actually kept up with development terribly well, so I don’t know how much this has (or hasn’t) been meaningfully rectified.

                                                                  1. 3

                                                                    I’m still at a loss for a good distributed log analyser.

                                                                    GoAccess has most of what I/we want, but it’s got no support for e.g. storing the accumulated metrics in e.g. Redis, or SQL, or what have you, and thus it’s not really fantastic for anything with > 1 web server.

                                                                    So far I’m still tossing up if I should just write one myself.

                                                                    1. 1

                                                                      Why not try submitting a patch upstream? I’m sure other GoAccess users have similar needs.

                                                                      1. 3

                                                                        GoAccess is written in C, which is most definitely not in my wheel house. Ok, so, why not just learn some more?

                                                                        The previous time I took the effort to make a patch against a C codebase (not that being C is the specific thing, but being a significant effort required due to my inexperience, compared to either a language I am familiar with, or a person familiar with C) was also, “scratching my own itch” - I submitted the PR 1 year and 19 days ago. So far, the ‘owner’ of the project hasn’t responded to the PR at all.

                                                                        Previous PRs haven’t all necessarily been completely ignored like that, but I’ve had more multi-month+ delays in getting any kind of feedback/activity, than I have “positive” engagements.

                                                                        I guess what I’m saying is: the effort involved for me is going to be quite high, and having to maintain a fork of a tool written in C (if there’s zero upstream action/interest) isn’t really on my “hey this sounds like it’d be fun” list.

                                                                        Edit: and I should add - I’m not “negative” on Open Source. The stuff I write for my company is specifically all OSS, and I have obviously had some reasonably good experiences with upstream projects. But the often bandied “if projects aren’t on GitHub they wont get contributors because it’s harder to find/no network effect” line, to me misses a significant aspect. This isn’t PR field of dreams, where “if you PR, they will merge it”. Just because someone submits a PR doesn’t mean there’s any specific likelihood it’ll ever be looked at.

                                                                        1. 1

                                                                          I’ve had similar experiences. One of my own PRs took a year and a half to get accepted, and I was just updating documentation!

                                                                          I didn’t mean to suggest that you should rush into writing code. Open an issue outlining the problem first to gauge interest. Make sure you note your willingness to contribute code, but don’t write a line until one of the maintainers makes it clear that they’re on board. Of course, if you really don’t want to take the time, then don’t! It’s your life; live it the way you want to!

                                                                    1. 4

                                                                      Or you could, y’know, respect your visitor’s time and privacy, and just skip JavaScript-based tracking altogether. What purpose do client-side analytics serve outside of boosting egos anyway? If you really need to know more about who’s visiting your website, just use something like awk or GoAccess to explore the HTTP logs you already have.

                                                                      1. 4

                                                                        The number one thing on this list ought to be “ask yourself if you really need analytics, and what for”. If you’re an individual running a website, analytics likely serve no functional purpose besides releasing a little dopamine in your head when numbers go up.

                                                                        1. 2

                                                                          Does Haiku make it a goal to be fully POSIX-compliant? Does it do so completely natively without wrapping other functions? I saw your post about it here and understand that it’s already POSIX-compliant enough to be considered a proper UNIX-like OS, but I’m curious if you plan to take it all the way or if you already have.

                                                                          1. 6

                                                                            Yes, it is POSIX “natively”; most of the POSIX APIs directly invoke syscalls (or other POSIX functions.)

                                                                            The only POSIX APIs we do not have are ones which do not make a lot of sense anymore (like “hostid”) and are barely used, and also some XSI extensions not in POSIX proper (like XSI shared memory; we do have mman shared memory as well as file-mapping shared memory.) We may eventually get around to implementing these; but at least we don’t that often run into missing POSIX APIs when porting new software.

                                                                            1. 1

                                                                              Oh wow, that’s awesome! So if POSIX compatibility isn’t a problem, what are the biggest hurdles when it comes to porting new software to Haiku? If I target POSIX-compliant Linux, do I automatically achieve Haiku support?

                                                                              1. 10

                                                                                I think you will be surprised at just how many nonstandard API calls and flags Linux has. You will have to read the manpages very carefully, and use one of the “strict” macros before including headers, to be sure you are using pure POSIX :)

                                                                                But yes, porting POSIX-compliant applications is very easy. Command line tools that already run on at least Linux and FreeBSD usually can be ported in the space of a few hours if they are not precisely compliant and require build system patches, type changes, etc., or a few minutes if they really and truly use POSIX only. So, more or less, yes, you “automatically” get Haiku support.

                                                                                Most of the hurdles when porting applications are in using platform-specific APIs (more complex things like browsers do a lot of this for memory management, for instance) or GUI toolkits (we have Qt and now wxWidgets, but the GTK3 port is still a work-in-progress and not in the package repos yet.)

                                                                          2. 1

                                                                            Do any graphics cards have 3D acceleration yet? It doesn’t seem so from looking at the wiki but it’s always possible that it isn’t totally accurate or I missed something.

                                                                            1. 3

                                                                              No, none do. But there are things in the works…

                                                                          1. 5

                                                                            Weirdly I have the complete opposite experience. I work with highly opinionated language (python) so I guess that plays into it but I’ve never met or worked with someone who would use any of these arguments:

                                                                            • I don’t know. It was in some article.
                                                                            • I don’t know. I copy-pasted it from X.
                                                                            • I don’t know. I was doing it in my previous project.
                                                                            • I don’t know. Someone told me so.

                                                                            In my experience it’s the opposite - everyone is really opinionated even about minute details to the point where learning to let it go and move on was the skill that saved me the most time.

                                                                            I see OP is from Poland and me being from Lithuania and worked with Polish developers I can see that this might be a cultural issue. Poland and Lithuania kinda boot-strapped themselves into this medium and prioritized end-results (just make it work) rather than understanding of the medium itself. That’s what I’ve seen more than 5 years ago - today I’d say that both of these regions caught up with modern software culture, for the most part.

                                                                            1. 2

                                                                              Wait… Python is a highly opinionated language? In what way?

                                                                              1. 1

                                                                                I think OP is talking about PEP 8 and the culture around it.

                                                                                1. 1

                                                                                  import this
                                                                                  :)

                                                                              1. 0

                                                                                It mentions needing Google Play Services (for notifications?). Does anyone know if it works (perhaps with reduced functionality) without Google Play services? Contemplating a Pixel 3a running Graphene

                                                                                1. 2

                                                                                  Not really what you’re asking but I’m running the latest version (5.600) from F-Droid on GrapheneOS without Google Play services. This one works at least.

                                                                                  I do have the most minimal microg installed for running a Gcam port.

                                                                                  1. 1

                                                                                    Huh? Where do you see that? It’s working fine for me without Google Play Services on my OnePlus 6T running LineageOS! I’m sure the same would be true for a Pixel 3a running Graphene.

                                                                                    1. 1

                                                                                      “So why did we not update the app? It’s a combination of things. A major factor was the API level requirement by Google Play. “

                                                                                      Did I mis-understand? Likely… :) Good to know though, thanks!

                                                                                      1. 3

                                                                                        I think that sentence is referring to a Google Play (store) requirement (last year) that apps bump their targetSdk versions in AndroidManifest.

                                                                                        The main breaking change this resulted in is you have to add explicit runtime requests for some permissions that used to be requested at install time through AndroidManifest.xml

                                                                                        1. 3

                                                                                          Ah, the “API target level” is an Android app configuration option that determines what Android APIs you can use in your app. Google Play now requires that all apps increase this to a new minimum version. It has nothing to do with Google Play Services.

                                                                                          1. 1

                                                                                            Additionally to this, when Google decide to make a non backwards compatible change, they always do so by having the change only take effect when the app’s declared targetSdk version is >= the version in which the being change was introduced.

                                                                                            The second half of this is that a while later the Google Play store starts rejecting new apps with older targetSdk, so app devs don’t get to just leave everything on the oldest targetSdk value forever

                                                                                          2. 1

                                                                                            Ah… Thanks all!

                                                                                      1. 2

                                                                                        Ooh, Janet’s looking better and better these days. It might just become my go-to extension and prototyping language. Hermes, as a project, also seems like a great way to explore it further.

                                                                                        1. 2

                                                                                          The new Macbooks are the Xiaomi notebooks. Great building quality, good specs and 1/3 of the price.

                                                                                          1. 3

                                                                                            The question is, with what OS?

                                                                                            1. 4

                                                                                              There are only three OS. Debian testing, Debian stable and Debian unstable. And it supports all of them.

                                                                                            2. 2

                                                                                              It is almost impossible to order anything from Xiaomi in my country, there are no offers on Amazon either. Huawei, on the other hand, has a decent product line that is available in the more popular stores and even the look is very similar to Apple. I am not sure about the OS selection though. It would be great to have an opensource MacOS alternative.

                                                                                              1. 2

                                                                                                Have you tried Elementary OS?

                                                                                                1. 2

                                                                                                  Not yet but it is on my list.

                                                                                                  1. 2

                                                                                                    I personally haven’t. It’s based on Ubuntu. There are others that have sleek UIs though, PopOS is based on Ubuntu too. I use SolusOS on some of my machines and it’s worked pretty well in the 5 years using it. The advantage is that is built from the ground up so it’s quite light. The drawback is that, for those accustomed to Debian/Ubuntu family, package manager isn’t apt. It’s simple enough though.

                                                                                              1. 9

                                                                                                I can and will retrain my hand placement habits. After all, this touchbar-keyboard-trackpad combo is forcing many people to learn to place their hands in unnatural positions to accommodate these poorly designed peripherals.

                                                                                                It is amazing to me what people put up with to use these devices. I generally find the issue with accidentally touching the trackpad so severe that I only use laptops with trackpoint and the first thing I do on my device is to disable the trackpad completely.

                                                                                                1. 15

                                                                                                  Part of why I ended up becoming a programmer is frustration with a touchpad. It led me to keyboard-only UIs, which lead me to Arch/XMonad, which led me to Haskell, which confused me but led me to Python, which… <10 years later> I have a career as a software engineer :)

                                                                                                  1. 2

                                                                                                    Part of why I got into programming more passionately was excitement when the apple trackpad came out ten years ago. It led me to think about possibilities beyond keyboard-centric UIs. It led me to make zany things. While I’ve never succeeded professionally as a full-blown software engineer it made me appreciate how hard developing great experiences for humans are.

                                                                                                  2. 5

                                                                                                    At work, we actually had to modify a piece of software to deliberately ignore most of the input from recent mac touchpads. The application is multi-touch capable, which on some of the hardware it runs on is really useful. However, on mac, the combination of the oversized touchpad and the fact that it doesn’t map to the screen (it’s mapped to a smaller area which follows the cursor around, so nobody really knows what they’re touching) meant that macbook users were constantly touching things with their tentacles which they didn’t mean to touch.

                                                                                                    1. 1

                                                                                                      macbook users were constantly touching things with their tentacles which they didn’t mean to touch.

                                                                                                      So, uh, what exactly do you do for work?

                                                                                                    2. 1

                                                                                                      Honestly, I liked trackpoints for several years, but after getting a Thinkpad with both trackpoint and trackpad, I have firmly settled on preferring trackpads for this reason: I can accurately point at things faster than with the trackpoint. I do use the trackpoint on rare occasion, but only when I need fine control with something, like moving in a very small screen area, or scrolling only a tiny bit.

                                                                                                      I acknowledge that many other people around the Internet have a problem with accidental palm touches, but, for some reason, that’s never been a problem for me. Then again, I haven’t used Windows in the last several years (only Linux and OSX), so maybe that’s the reason?

                                                                                                      1. 2

                                                                                                        The Thinkpad has those two big buttons at the top of the trackpad. They require force, so you won’t accidentally press them, and they’re placed about where my thumb wants to rest when I use the keyboard.

                                                                                                    1. 2

                                                                                                      Not sure why this needs Next, NewCSS and MDX—the last two I have no idea what they are. I can’t see why this would need anything more than plain HTML / CSS. Oh wait, but it won’t be cool enough then.

                                                                                                      1. 1

                                                                                                        Heh, as someone whose web projects all exclude Javascript, I definitely agree with you. However, judging by the small scale of the work behind Awesomeblog, my guess is that the author was likely using this project as a means of practicing those frameworks. The end result is pretty nifty anyways.

                                                                                                      1. 5

                                                                                                        Is it fair that I feel we’ve been seeing too many of these?

                                                                                                        1. 4

                                                                                                          There are soooo many. When I was looking I went shopping from this list of them https://github.com/dbohdan/classless-css

                                                                                                          1. 2

                                                                                                            Hahaha, right? I’ve been feeling similarly. I definitely believe the more the merrier; competition is good. But I don’t know which to choose! Someone oughta put together a comprehensive comparative review of all these new minimal CSS frameworks.

                                                                                                          1. 1

                                                                                                            I use straight-up Markdown-formatted text files synced between my various devices with Syncthing and edited with Neovim on desktop and Markor on mobile.

                                                                                                            TiddlyWiki has been calling to me recently, though.