1. 14

    Really interesting read.

    This part was perplexing, though:

    The other side of being calm was a loss of motivation. The internet gets you to do things. You see the successes of other people and try to keep up with them. You value time much more dearly, as you know that any extra 10 minutes you can steal is a chanсe to read an interesting article from your archives that might produce a small change in you.

    To me, that kind of fear-based motivation is something I want to get away from and is part of why I’m taking a social media break. It’s a kind of behavioral conditioning that really rubs me the wrong way.

    1. 3

      why I’m taking a social media break

      Just curious, do you not consider lobste.rs to be ‘social media’ ?

      1. 11

        For me, Lobsters feels like a place where people interested in computers and programming come to with a spirit of generosity. That’s just how I feel about it. So when I see an article here, I think of it like - this person is sharing their experiences, maybe I can learn about it from them.

        Opposing this feeling is how I feel in Hacker News, with hyper-“rationalist”, argumentative people often focused on business and other icky things, not the technology itself. I don’t feel the same spirit there.

        That’s why I like Lobsters.

        1. 4

          I don’t, though it does fit a broader definition of it. It is media, and if you click through to the comments, it is social.

          I was thinking of a much narrower, modern definition of social media. I consider a social media platform to be one that optimizes for engagement by quantifying users and their contributions. Twitter and Facebook are exemplars, and Mastodon (perhaps unintentionally) does some of this (scoring toots, getting people to crave notifications, etc.) as a result of cloning Twitter.

          I suppose lobste.rs does have karma, but honestly, I didn’t even notice it for years.

      1. 2

        I love it! A unified, coherent, and beautiful OS.

        1. 6

          Google has multiple algo/data-structure interviews over one day because

          1. they test knowledge of basic computer science vs trivia or current hotness (since employees are expected to learn new tech and switch teams occasionally, knowing the basics is what counts)
          2. they test problem-solving ability (interviewers can still pass you if you solve a problem systematically but don’t get the best answer)
          3. such interviews can be performed by thousands of interviewers a year (the process scales)
          4. once created, the questions can be reused. (no need to find a small project in your team for every candidate, etc)
          5. allow for some signal to be generated in 45 minutes vs a longer time / multiple days
          6. allow for many to be conducted in one day. (more interviews reduces variance based on a particular problem or interviewer)
          7. creates a standardized system that can be replicated across offices, teams, locations, etc
          8. the candidate just needs to take one day off to go through the process (vs a multi-day test project, etc)

          Each interviewer writes up what happened during the interview. The packet is analyzed by a committee. This reduces bias and leaves the decision up to an experienced group of interviewers/employees. This process also means that the hiring bar for the whole company is relatively even. (Versus a manager hiring for their team.)

          There is a strong element of standardization and indirection to help reduce bias and produce more consistent results. (Debiasing is so important that many interviewers, including me, will use “TC” or “the candidate” or “they” to refer to the candidate instead of their gender. Every little bit helps.)

          There are many problems with this system, but it does have its advantages. The system probably wont make sense for other companies in vastly different circumstances. In fact, because these companies do it this way, your company has the opportunity to pick up good people who don’t pass this guantlet. (Why compete with Google at their own game?)

          1. 3

            Thank god, now I don’t have to read those patterns books. :)

            1. 6

              After moving to NYC, I fell deeply into the art film world. Film is one of the most consistently thought-igniting, beautiful, and direct mediums of art. The relentless pace of film screenings here keeps me busy, and sometimes exhausted.

              I also work on Wikipedia articles. I mostly create/edit cultural articles and copy-edit. It’s enormously gratifying. (You can see how many people visited your articles, for example.) I have also worked on automating some aspects of the editing process. I took a database of film articles and made a tool to generate stubs, for example. There’s a great deal of work to be done and lots of work especially for people who can program.

              I take photos mostly when I travel. Getting a beautiful shot is thrilling and satisfying. But trying to practice photography respectfully and unobtrusively, especially in other countries, is challenging. I have mixed feelings about photography.

              I do long distance cycling once in a while. It’s amazing that a human can go a hundred miles in one day, powered by clif bars and gatorade.

              1. 1

                Any movie theaters recommendations in NYC?

                1. 1

                  Plenty! Film Society of Lincoln Center for contemporary and older films from around the world. They’ve got extensive series, retrospectives, and festivals all year long. Their theaters are also the most comfortable. I loved their International Melodrama, new Latin American, and Luchino Visconti series this year.

                  Film Forum is like the reliable old man in the bunch. Mostly older art movies, with some newer ones too. The screens are small and the seats are iffy, but their programming is excellent. Their Ingmar Bergman retrospective this year was bomb.

                  Metrograph and Quad Cinema are the new kids on the block. Metrograph shows movies that are less well known, but also very good. Metrograph’s recent anime series was excellent. Quad is mostly for new cinema and a few older movies. They have great Q&As.

                  MoMA and the Museum of the Moving Image show tons of films all year along. MoMa is mostly about lesser well known 20th century films from around the world.

                  Videology and Nitehawk Cinema for the midnight movie crowd. Videology often has movie/food combos - like Marie Antoinette + champaigne/cake.

                  Spectacle Theater is the smallest of the bunch. A co-op-run room in Williamsburg with a truly zany program (Argentinian video experiments, North Korean cinema, etc).

              1. -2

                As a result, there’s no need for Proof-of-Work consensus, which means that Dat and P2P aren’t inherently wasteful.

                As great as the work that Paul does is, it’s really hard for me to sometimes take him seriously when he writes stuff like this. I really do not understand why he needs to do that. It’s not true, and it only detracts from his message.

                1. 8

                  What part of that is untrue, and how? Dat is not based on any expensive operation, and proof of work is wasteful.

                  1. -2

                    The part about proof-of-work being wasteful is untrue. Something is only wasteful when it’s brought in comparison to something else that is less wasteful. If you consider proof-of-work to be wasteful, you’ll have to point to a more efficient system that accomplishes what Bitcoin does. I know of no such system.

                    1. 4

                      If you consider proof-of-work to be wasteful, you’ll have to point to a more efficient system that accomplishes what Bitcoin does. I know of no such system.

                      How about solving any other problem than reverse-hashing? There is absolutely no utility in finding a hash starting with n “0”‘s. Sure, it would be more complicated, maybe not as elegant on first glance, but I don’t see why it shouldn’t be possible.

                      1. 0

                        Do you think you’re the first person to ask that question?

                        I would answer your question but there’s little point. I’ll just get downvoted for sharing what I’ve learned over the years with you. So figure it out yourself.

                        1. 0

                          I don’t understand why you assume that I think I’m the first person to think of this. All I know is that it’s not commonly discussed, for some reason. And secondly, why care so much about imaginary Internet points – that’s really not something that should influence what you say or don’t say. Other than that, my profile has a link to my contact page, so I’d be trilled if you could tell me more about what you know.

                      2. 2

                        I assume you mean reaching consensus on a global scale without having to trust a central authority?

                        1. 4

                          *without having to trust more than 1) the leaders of the largest hashpools 2) the developers of the system.

                          1. 0

                            Such a system as the one you described does not exist, and in Bitcoin trust for all of the above is minimized across all of those entities (in other words, it’s spread out, not concentrated in any one of them).

                        2. -4

                          ok

                          you’ll come around eventually, i trust.

                          1. 4

                            I (strongly) disagree with itistoday on this topic, but there is zero place here for your behavior.

                            1. 1

                              Why is it acceptable to just walk in, say something facile and dubious, then back that up with an ungrounded statement of opinion? My counter-argument was appropriately rigorous, not to mention hopefully optimistic for the future of their character and wisdom.

                              1. 4

                                He’s wrong (imo) that distributed trust is a particularly important outcome.

                                From that (imo incorrect) base, he’s got a perfectly good argument. There isn’t really a better way to do it yet.

                                Rather than making a serious attempt to understand him, you’ve resorted to condescension. Put a bit more effort in.

                                1. 1

                                  In isolation, that’s totally fair.

                                  In the context of bitcoin-worshipping ancaps, it gets a little tedious. He also took it as self-evident that whatever it was about Bitcoin he meant was understood, after the condescending, “marginal efficiency is relative,” line, after which he* probably had to wipe his monitor clean of spittle because his internal monologue came roaring out via unconscious and unintelligible lateral lisp.

                                  So why does he deserve the respect, time, and effort?

                                  *) given a “he” pronoun because, come on.

                                  1. 2

                                    He doesn’t deserve your time and effort - you didn’t have to respond.

                                    You chose to spend your time and effort on an answer, but not your respect. That’s what has no place here.

                                    1. 1

                                      A point well made, that I concede.

                      3. 4

                        As someone who wrote both a P2P system and a cryptocurrency, I would say that P2P and PoW are orthogonal to each other. You can imagine a centralized system which accepts data which has a PoW, and you can imagine a P2P system that synchronizes data without PoW. Where he is wrong is comparing them as though they solve the same problems.

                        The consensus algorithm in what people call PoW cryptocurrencies isn’t the PoW, but the idea that the longest chain wins. PoW just slows the process down so that block generation happens at a specific fixed interval (10 minutes for bitcoin for example) on average. PoW is about making the blockchain a decentralized clock. This is why Satoshi Nakamoto in the original bitcoin whitepaper called it a timestamp server (a clock). One way to make a decentralized clock in a P2P system without PoW is to use vector clocks, which have their own problems and costs.

                      1. 11

                        I have one word for you: mobile.

                        Unlike in 2001, most users’ devices aren’t desktops sitting in homes and offices anymore, but mobile devices in people’s pockets. These devices need to be asleep most of the time. Even when the screens are active, battery efficiency matters. That’s the non-cynical, non-conspiratorial explanation for why so much has moved to centralized servers.

                        1. 5

                          “P2P” does not imply that all peers act in the same way e.g. are always online and awake.

                          You can have nodes like phones and IoT stuff like sensors that wake up and exchange data with peers only when strictly needed, while other nodes are always online.

                          1. 4

                            I’ve been trying out Manyverse, a Secure Scuttlebutt client for mobile. So far, it hasn’t been terribly battery draining. The bigger issue is that it can suck up a lot of data under certain conditions, and isn’t yet aware of when it’s okay to do so (on unmetered WiFi).

                          2. 1

                            Skype switched to a centralized model when it came under Microsoft. The stated reason was to play better with mobile, where power and bandwidth need to be conserved. It seems to make sense to me, but may not please people who are more cynical or antagonistic towards these corporations.

                            1. 1

                              In terms of energy/bandwidth usage there shouldn’t really be any difference between me making a VoIP call P2P or going client-server-client - once the connection is set up it should just continue until closed.

                              The stated reason by Microsoft is likely a marketing lie and we will never truly know the real reason for why they switched out P2P for client-server-client. The cynic in me says its so they could comply with court issued wire-taps in the same way that regular telephony does - that doesn’t have the friendly marketing zing that “we are saving your battery life” does.

                          1. 3

                            Website bloat is not a technical problem, it’s a business problem. If CNN wants to make as much money as possible, they will stuff their website full of ad units and trackers to maximize per-click revenue. If someone just wants to publish their articles to the internet, they have no reason to add this cruft. Sure, there’s an amount of attention to performance that must be paid in either instance. But it’s primarily a business problem. Slack can also write their own native C++/Qt app, but their need for development simplicity/velocity trumps their care for memory usage. I still respect this author’s attempt to reduce the bloat on their blog.

                            1. 1

                              One could “literally stuff” a website full of ads and still make it blazingly fast. It would also be easy to circumvent ad-blockers.

                              Host and serve the ads from the same domain as the content, weaving the ad itself into the content.

                              No js, just text and images. The 90% motivator for me, for installing an ad-blocker is performance, next is obtrusiveness. And I hate ads in general, but performance and annoyance is much worse. On a technical site, I like seeing the ads (electronics, mechanical eng, process eng, etc).

                              1. 2

                                In today’s web advertising landscape, ads without tracking JS are not worth much. From the buyer’s point of view, it’s hard enough to trust click and impression numbers calculated from tracker scripts. (There’s lots of fraud.) Without anything like that, they’d just have to take the publisher’s word for it, trusting that they weeded out the bad clicks.

                                I do agree that it’s possible to do advertising tastefully. One example is Daring Fireball, which has one discreet ad in the bottom left. It works for him because he has a dedicated, focused, high-value audience. It probably wont work for mass-market news sites because of the tracking/attribution problem.

                                1. 1

                                  I think it could work for ad campaigns like BMW, Nike, Coke, etc. Where the brand is being pushed and it isn’t a niche thing, it has mass market broad consumer appeal. The way advertising used to work before this slow slide to a total surveillance state.

                                  I think there is a market for an ad-network that supplied targeting selectors and raw ad assets to the content providers directly, and the content providers supplies log samples showing impressions, click throughs would be obvious.

                                  But I agree it is counter to everything we have now, what we have now is a obtrusive broken mess. Allowing advertisers to inject arbitrary JS into the user’s browser crosses the line.

                                  1. 1

                                    Fraudsters work around it anyway with click farms and proxies.

                                    1. 1

                                      Yes, their filters/analysis isn’t perfect. But ad buyers feel like at least they are the ones to make the judgments. To be fair, most ad buyers also hire middlemen to place bids. There’s many levels of uncertainty here.

                              1. 18

                                Something I’ve noticed–all these sites are now basically instantly usable. And sure, they’re not pretty, but I’m there to read things. There is a little clunkiness, but I think this trend is very promising.

                                Shame they still have the massive blob of comments at the bottom.

                                1. 10

                                  I think that efficient websites don’t have to be ugly or clunky.

                                  I’d love to get some feedback on my own site, which I believe is “pretty” (at least if you like its style) and loads very fast. (It requests some specific web fonts, but usability is not degraded if users block them/use their own.)

                                  Any bloat I missed?

                                  1. 11

                                    The combination of a thin font and the gray text cancer makes it hard to read.

                                    Custom fonts best be avoided if your intent is to share information.

                                    1. 2

                                      Thanks! I made the table row background brighter and made the links darker.

                                      Before: https://imgur.com/LCHhqby

                                      After: https://imgur.com/yM0kGu2

                                      What do you think?

                                      Edit: I slightly increased the background color again, it looked good on my desktop, but was almost invisible on my notebook.

                                      1. -4

                                        You people need to get your eyes checked. It’s very dark grey on very light grey. Fix your contrast or something.

                                        1. 16

                                          That was not enormously constructive and fairly antagonistic. I give you a gratuitous C-, and half a rotten trout.

                                          1. 3

                                            The font is too thin for the old (like me). I checked with my old eyes.

                                        2. 3

                                          I like that you have a natural categorization system - a table - on your front page. For many, that’s too many links or too much text. But humans are very good at scanning for information. So your design both respects the user’s abilities and provides them with a lot of information at once. Moreover, the table layout keeps the information legible. This is against the simple Apple-style minimalism.

                                          What I said above comes pretty much directly from Edward Tufte. I went to one of his one-day conferences, where he brought up the website of the National Weather Service. Specifically, he noted that the abundance of links at the bottom, categorized, ordered, and with headings was a great example of a design that provides maximal information. (The part about respecting the user is my point.)

                                          1. 2

                                            Thanks for letting me know this, I was never really sure if the grid was a good idea!

                                          2. 2

                                            Only complaint would be the GA blob, but ad blockers take care of that handily.

                                            1. 2

                                              Thanks, I removed that. I don’t even remember adding it.

                                            2. 2

                                              I feel similarly about my site, where an article which would be 12k in plaintext is 130k in total (or 95k over the wire because gzip), and that’s with all the features I want; automatic javascript-based code highlighting for most programming languages from highlight.js, tracking/analytics with (self-hosted) matomo, and as nice-looking CSS as I know how to make.

                                              All it really takes is just to render the HTML on the server (either statically or dynamically) and not through javascript on the client, and not have ads or huge tracking suites or integration with social networks, and to be careful about putting auto-playing videos or huge images on the page.

                                              The main page however is bigger than necessary at 1.13MB, exactly because I haven’t been careful about huge images on the page - and those images aren’t even visible. I have to fix that.

                                              1. 3

                                                as nice-looking CSS as I know how to make

                                                And then I’ll come and use Reader Mode to get rid of that crap. :)

                                                I wish the Web was universally usable without styling. Like paper.

                                                1. 4

                                                  Paper? Doesn’t that medium permanently and physically link the style with the content?

                                                  … I’ve seen some awful design and layout on paper …

                                                  1. 1

                                                    yes it seems as though they’ve been hit with a debilitating wave of nostalgia.

                                                    1. 1

                                                      True, it’s one argument against publishing in PDF.

                                                      What I had in mind is that scientific papers, fiction books and such don’t tend to have much variance (partly because the target medium is usually black and white, ink is expensive, and printers don’t enjoy making halftones anyway). So my “without styling, like paper” means looking like your usual printed document. Simple, focusing on information.

                                                    2. 2

                                                      That’s okay :) I don’t use reader mode much myself, but I’m a huge proponent of having markup that’s semantic enough to let people consume the web however fits them best.

                                                      1. 1

                                                        I wish the Web was universally usable without styling. Like paper.

                                                        Amen. At least most blogs are, including this one. I read it without CSS.

                                                      2. 1

                                                        Interesting content! I particularly enjoyed the article about obscure C features :-)

                                                    3. 3

                                                      I also love the trend of debloating Web sites that need to serve a smaller cause - but what do you do on a website that needs, or promotes having the community and/or its readers participate in a discussion, which requires a comment section or something alike? I find this challenging, since many if not all of the sites that tried to minify themselves (and I came across) decided to remove the comment section, such as this case, instead of finding an “alternative”

                                                      1. 4

                                                        Well, the comedy option would be to show a discussion tree and just use an email client to submit to a thread, and on recieving the email posting appropriately.

                                                        Just because the frontend is not bloated doesn’t mean you can’t have stuff going on in the server.

                                                          1. 2

                                                            I suspect the trend of removing comments sections comes a lot from people thinking something like “oh while I’m removing all this unnecessary shit I might as well stop bothering with the burden of moderating comments and deleting spam too”.

                                                            Comments aren’t inherently heavyweight, we had guestbooks back in the 90s. ;)

                                                            Admittedly it is the case that a lot of the obvious off the shelf choices of software for running a comments section are kinda heavy.

                                                          2. 1

                                                            I’d be pretty interested in people trying out building usable sites beyond reading. Though perhaps web apps are doomed to not be fast and reactive on account of the need to fetch the data, it would be cool to see things like GMail but actually a super fast interface.

                                                          1. 4

                                                            I do like their idea of reducing the number of colors for their images. They’re end up looking pretty good to boot. Not everyone will have the option to do so, but it works here because it’s on-brand.

                                                            On a separate note, I feel like we’re wasting the potential of computers by making websites that simply return static pages. It seems like this magazine simply wants to produce articles. And there’s nothing wrong with that. We need more than just hyper links: ways to manipulate and query the content. Perhaps browsers can do more work in this space.

                                                            1. 5

                                                              I’m continuing work on NewBusinessMonitor.

                                                              I didn’t manage to roll out the letter-sending feature. Basically my users want to click on companies they want to advertise to, and for NewBusinessMonitor to automatically print, envelope, and send their sales letters to those companies. I’m still working on this, and hopefully it’ll be ready for everyone this week.

                                                              Tech: Haskell, Elm, PostgreSQL, Redis, NixOps/AWS.

                                                              1. 1

                                                                What API are you calling to send letters automatically?

                                                                1. 1

                                                                  Not GP, but I’ve used Lob in trivial cases twice before. And by “twice” I mean I literally sent two letters. Seemed fine.

                                                              1. 2

                                                                We need a manifesto website for complex tools that give us more power. The ideology of simple-is-better has so taken over how a common person thinks about technology that it’ll be an uphill fight to re-introduce this idea. I blame Apple for popularizing this idea.

                                                                1. 2

                                                                  Maybe this ideology of simple-is-better is what has hollowed out technology to be more about content consumption and vanity rather than content creation.

                                                                  1. 5

                                                                    Or maybe it’s the other way around: “simple” and “easy” UI’s have succeeded commercially because they reach a giant pre-existing market segment of vain consumers who simply have no interest in creating anything.

                                                                1. 4

                                                                  There is a computer program called Vim, based on software created in the 1970s. It is famously difficult.

                                                                  I stopped there.

                                                                  1. 7

                                                                    People over estimate how hard it is to learn Vim. You need about 10 commands to get most of your work done. Everything else is extra. There could be a much better intro screen so newbies aren’t intimidated. I know there is an extensive tutorial, but there needs to be a baby-step ladder that bridges the gap between not knowing anything to that tutorial. Even a sidebar cheatsheet would be better than the almost-blank screen we see now.

                                                                    The harder part of getting into Vim is getting around how certain basic operations are much harder than in, say, Notepad. I’m thinking of yanking to the system clipboard, search and replace (the %s syntax is arcane), and searching for selected text. Tabs and windows are way easier to use on a GUI compared to on Vim, just because the switching commands are so annoying.

                                                                    1. 4

                                                                      Why? Those are both true statements that don’t mischaracterize vim and are useful to introduce it to a general audience.

                                                                      1. 3

                                                                        I don’t agree with the second statement.

                                                                        And I realized the article was intended for a general audience, so I stopped reading it.

                                                                        Maybe I shouldn’t have commented that I had, though.

                                                                        Edit clarified syntax.

                                                                        1. 2

                                                                          I think vim is only hard compared to tools that works exactly like all other tools we already know do, thus we have already learned it, and it seems easy.

                                                                          Coming from Notepad++, Gedit seems easy, coming from Visual Studio, jetbrains seems easy. Coming from nowhere similar to vim, it’s all new and different. It’s not harder than something else you have to learn from a clean slate though. It’s just that it’s not often we have to learn from a clean slate, so it seems relatively harder, compared to coming from sublime text to visual studio code.

                                                                          1. 1

                                                                            Err, vi was created in the 1970s, Vim was written in the 1990’s.

                                                                        1. 0

                                                                          This might be another case of our intuitive aesthetic preferences being given weight over practicalities. Static typing is another example. As I recall, the few studies that exist show that static typing has negligible productivity impact.

                                                                          1. 1

                                                                            It talks about magnet links present in the dump, some of which happens to be active. Can a magnet link tell what you are downloading or the file(s) it points to without downloading it?

                                                                            1. 5

                                                                              You can fetch the metadata from peers in the swarm without having to actually download the files, but as far as I know you can’t get the filename without downloading the metadata. Some magnet links encode the filename along with it though.

                                                                              1. 3

                                                                                Yes, magnet links may optionally include a “dn” parameter for the display name.

                                                                                https://en.wikipedia.org/wiki/Magnet_URI_scheme#Parameters

                                                                            1. 7

                                                                              I think Go and Rust did a lot of work towards helping people think about construction, by not having it!

                                                                              Both allow you to instantiate a struct by it’s fields. If you want to do something more complicated, you write a function, with a normal signature.

                                                                              1. 2

                                                                                And this is what you end up doing even in C++ if you an initialization routine that can fail: a static function that constructs an object or fails. You mark the constructor as private so it can only be created with these static functions.

                                                                                The problem with this approach is that it leaves inexperienced programmers with another gun to shoot themselves with. If they neglect to handle failure cases in the constructor, the object can get into a state that was not reasoned about.

                                                                                Best to keep it simple by having only one way to create objects, like in Go and Rust.

                                                                                1. 1

                                                                                  I think this situation would be avoided in C++ if it allowed either an initializer list, or a constructor body, but not both. As a rule of thumb, if I already have an initializer list, and I need to do something in the body of my constructor, I do my best to factor that into a separate class.

                                                                              1. 2

                                                                                There’s also the closely-related “a11y” for “accessibility. It’s neat that “a11y” looks like “ally”. You’re an ally if you write software for people with different needs!

                                                                                1. 6

                                                                                  This sort of smallholder, yeaoman-farmer artisanal website is just like organic food. It’s cheap to buy industrially-produced food. It promotes large food companies and reduces prices for consumers, but has incredible negative externalities - concentration of power, tasteless food, bad health, low nutrition. It’s cheap to start a Facebook page, a Medium site, a Wordpress site, or a Twitter account. Easy for the user, easy access to others on the same platform, immense profits for the ones that control the platforms. The market has eaten away at the commons that could have been the internet, just like it has turned millions of acres into corn fields for feeding chickens in factory farms. We should start thinking of cyberspace as space, space that has been exploited and colonized just like real land has been.

                                                                                  I admire those pushing for a simpler, healthier web. But unless we change our economic system, nothing major will change.

                                                                                  1. 2

                                                                                    It’s not at all difficult to create a website like this. Far easier, in fact, than making a Wordpress site or Medium site. Why do people not? Partially I think it’s that people expect it to be very difficult, so they don’t try. But I think it’s mostly because there’s no advertisement and promotion of it! Nobody makes money from you putting a few static pages on github pages or a similar completely free host.

                                                                                    People encounter Facebook pages and Wordpress blogs every day, so that’s the first thing they think of when they need to make some sort of website.

                                                                                    1. 1

                                                                                      Oh come on! I don’t think it’s easy to learn HTML/CSS, find a hosting provider, upload your files, configure the web server, buy a domain, set up domain records.

                                                                                      But I do agree with you that this process is much harder than it needs to be and it’s not easy to discover. And there’s not a reason why some money can’t be made in this process - so making it sustainable. Create a site that hooks up to a bunch of registrars and a bunch of hosts. Push-button deployment. Charge an extra few dollars on top. The value-add is centralized billing, less hassle, support.

                                                                                      1. 2

                                                                                        I don’t think it’s easy to learn HTML/CSS

                                                                                        I learnt basic HTML when I was about 7. Here’s some HTML: <html><head><title>My personal website</title></head><body><h1>My Website</h1><p>Hi this is my website hope you like it.</p></body></html>. That’s all you need to make a ‘personal website’.

                                                                                        But I do agree with you that this process is much harder than it needs to be and it’s not easy to discover. And there’s not a reason why some money can’t be made in this process - so making it sustainable. Create a site that hooks up to a bunch of registrars and a bunch of hosts. Push-button deployment. Charge an extra few dollars on top. The value-add is centralized billing, less hassle, support.

                                                                                        The thing is, there’s no real reason why you should have to pay for very basic web hosting. Facebook pages and Youtube profiles and reddit profiles and such cost way more to provide than basic web hosting, but they’re free and basic web hosting is dollars every month. Any cost at all is a big barrier to entry.

                                                                                        1. 2

                                                                                          Yes, basic HTML is not too hard. Perhaps it would be good to have local libraries providing easy/free hosting. It really can’t cost much to throw up a Geocities-esque webpage on the Internet.

                                                                                  1. 28

                                                                                    That is a very reductionist view of what people use the web for. And I am saying this as someone who’s personal site pretty much matches everything prescribed except comments (which I still have).

                                                                                    Btw, Medium, given as a positive example, is not in any way minimal and certainly not by metrics given in this article.

                                                                                    1. 19

                                                                                      Btw, Medium, given as a positive example, is not in any way minimal and certainly not by metrics given in this article.

                                                                                      Chickenshit minimalism: https://medium.com/@mceglowski/chickenshit-minimalism-846fc1412524

                                                                                      1. 13

                                                                                        I wouldn’t say medium even gives the illusion of simplicity (For example, on the page you linked, try counting the visual elements that aren’t blog post). Medium seems to take a rather contrary approach to blogs, including all the random cruft you never even imagined existed, while leaving out the simple essentials like RSS feeds. I honestly have no idea how the author of the article came to suggest medium as an example of minimalism.

                                                                                        1. 8

                                                                                          Medium started with an illusion of simplicity and gradually got more and more complex.

                                                                                          1. 3

                                                                                            I agree with your overall point, but Medium does provide RSS feeds. They are linked in the <head> and always have the same URL structure. Any medium.com/@user has an RSS feed at medium.com/feed/@user. For Medium blogs hosted at custom URLs, the feed is available at /feed.

                                                                                            I’m not affiliated with Medium. I have a lot of experience bugging webmasters of minimal websites to add feeds: https://github.com/issues?q=is:issue+author:tfausak+feed.

                                                                                        2. 3

                                                                                          That is a very reductionist view of what people use the web for.

                                                                                          I wonder what Youtube, Google docs, Slack, and stuff would be in a minimal web.

                                                                                          1. 19

                                                                                            Useful.

                                                                                            algernon hides

                                                                                            1. 5

                                                                                              YouTube, while not as good as it could be, is pretty minimalist if you disable all the advertising.

                                                                                              I find google apps to be amazingly minimal, especially compared to Microsoft Office and LibreOffice.

                                                                                              Minimalist Slack has been around for decades, it’s called IRC.

                                                                                              1. 2

                                                                                                It is still super slow then! At some point I was able to disable JS, install the Firefox “html5-video-everywhere” extension and watch videos that way. That was awesome fast and minimal. Tried it again a few days ago, but didn’t seem to work anymore.

                                                                                                Edit: now I just “youtube-dl -f43 ” directly without going to YouTube and start watching immediately with VLC.

                                                                                                1. 2

                                                                                                  The youtube interface might look minimalist, but under the hood, it is everything but. Besides, I shouldn’t have to go to great lengths to disable all the useless stuff on it. It shouldn’t be the consumer’s job to strip away all the crap.

                                                                                                2. 2

                                                                                                  That seems to be of extreme bad faith though.

                                                                                                  1. 11

                                                                                                    In a minimal web, locally-running applications in browser sandboxes would be locally-running applications in non-browser sandboxes. There’s no particular reason any of these applications is in a browser at all, other than myopia.

                                                                                                    1. 2

                                                                                                      Distribution is dead-easy for websites. In theory, you have have non-browser-sandboxed apps with such easy distribution, but then what’s the point.

                                                                                                      1. 3

                                                                                                        Non-web-based locally-running client applications are also usually made downloadable via HTTP these days.

                                                                                                        The point is that when an application is made with the appropriate tools for the job it’s doing, there’s less of a cognitive load on developers and less of a resource load on users. When you use a UI toolkit instead of creating a self-modifying rich text document, you have a lighter-weight, more reliable, more maintainable application.

                                                                                                        1. 3

                                                                                                          The power of “here’s a URL, you now have an app running without going through installation or whatnot” cannot be understated. I can give someone a copy of pseudo-Excel to edit a document we’re working together on, all through the magic of Google Sheet’s share links. Instantly

                                                                                                          Granted, this is less of an advantage if you’re using something all the time, but without the web it would be harder to allow for multiple tools to co-exist in the same space. And am I supposed to have people download the Doodle application just to figure out when our group of 15 can go bowling?

                                                                                                          1. 4

                                                                                                            They are, in fact, downloading an application and running it locally.

                                                                                                            That application can still be javascript; I just don’t see the point in making it perform DOM manipulation.

                                                                                                            1. 3

                                                                                                              As one who knows JavaScript pretty well, I don’t see the point of writing it in JavaScript, however.

                                                                                                              1. 1

                                                                                                                A lot of newer devs have a (probably unfounded) fear of picking up a new language, and a lot of those devs have only been trained in a handful (including JS). Even if moving away from JS isn’t actually a big deal, JS (as distinct from the browser ecosystem, to which it isn’t really totally tied) is not fundamentally that much worse than any other scripting language – you can do whatever you do in JS in python or lua or perl or ruby and it’ll come out looking almost the same unless you go out of your way to use particular facilities.

                                                                                                                The thing that makes JS code look weird is all the markup manipulation, which looks strange in any language.

                                                                                                                1. 3

                                                                                                                  JS (as distinct from the browser ecosystem, to which it isn’t really totally tied) is not fundamentally that much worse than any other scripting language

                                                                                                                  (a == b) !== (a === b)

                                                                                                                  but only some times…

                                                                                                                  1. 3

                                                                                                                    Javascript has gotchas, just like any other organic scripting languages. It’s less consistent than python and lua but probably has fewer of these than perl or php.

                                                                                                                    (And, just take a look at c++ if you want a faceful of gotchas & inconsistencies!)

                                                                                                                    Not to say that, from a language design perspective, we shouldn’t prize consistency. Just to say that javascript is well within the normal range of goofiness for popular languages, and probably above average if you weigh by popularity and include C, C++, FORTRAN, and COBOL (all of which see a lot of underreported development).

                                                                                                            2. 1

                                                                                                              Web applications are expected to load progressively. And that because they are sandboxed, they are allowed to start instantly without asking you for permissions.

                                                                                                              The same could be true of sandboxed desktop applications that you could stream from a website straight into some sort of sandboxed local VM that isn’t the web. Click a link, and the application immediately starts running on your desktop.

                                                                                                            3. 1

                                                                                                              I can’t argue with using the right tool for the job. People use Electron because there isn’t a flexible, good-looking, easy-to-use cross-platform UI kit. Damn the 500 mb of RAM usage for a chat app.

                                                                                                              1. 4

                                                                                                                There are several good-looking flexible easy to use cross-platform UI kits. GTK, WX, and QT come to mind.

                                                                                                                If you remove the ‘good-looking’ constraint, then you also get TK, which is substantially easier to use for certain problem sets, substantially smaller, and substantially more cross-platform (in that it will run on fringe or legacy platforms that are no longer or were never supported by GTK or QT).

                                                                                                                All of these have well-maintained bindings to all popular scripting languages.

                                                                                                                1. 1

                                                                                                                  QT apps can look reasonably good. I think webapps can look better, but I haven’t done extensive QT customization.

                                                                                                                  The bigger issue is 1) hiring - easier to get JS devs than QT devs 2) there’s little financial incentive to reduce memory usage. Using other people’s RAM is “free” for a company, so they do it. If their customers are in US/EU/Japan, they can expect reasonably new machines so they don’t see it as an issue. They aren’t chasing the market in Nigeria, however large in population.

                                                                                                                  1. 5

                                                                                                                    Webapps are sort of the equivalent of doing something in QT but using nothing but the canvas widget (except a little more awkward because you also don’t have pixel positioning). Whatever can be done in a webapp can be done in a UI toolkit, but the most extreme experimental stuff involves not using actual widgets (just like doing it as a webapp would).

                                                                                                                    Using QT doesn’t prevent you from writing in javascript. Just use NPM QT bindings. It means not using the DOM, but that’s a net win: it is faster to learn how to do something with a UI toolkit than to figure out how to do it through DOM manipulation, unless the thing that you’re doing is (at a fundamental level) literally displaying HTML.

                                                                                                                    I don’t think memory use is really going to be the main factor in convincing corporations to leave Electron. It’s not something that’s limited to the third world: most people in the first world (even folks who are in the top half of income) don’t have computers that can run Electron apps very well – but for a lot of folks, there’s the sense that computers just run slow & there’s nothing that can be done about it.

                                                                                                                    Instead, I think the main thing that’ll drive corporations toward more sustainable solutions is maintenance costs. It’s one thing to hire cheap web developers & have them build something, but over time keeping a hairball running is simply more difficult than keeping something that’s more modular running – particularly as the behavior of browsers with respect to the corner cases that web apps depend upon to continue acting like apps is prone to sudden (and difficult to model) change. Building on the back of HTML rendering means a red queen’s race against 3 major browsers, all of whom are changing their behaviors ahead of standards bodies; on the other hand, building on a UI library means you can specify a particular version as a dependency & also expect reasonable backwards-compatibility and gradual deprecation.

                                                                                                                    (But, I don’t actually have a lot of confidence that corporations will be convinced to do the thing that, in the long run, will save them money. They need to be seen to have saved money in the much shorter term, & saying that you need to rearchitect something so that it costs less in maintenance over the course of the next six years isn’t very convincing to non-technical folks – or to technical folks who haven’t had the experience of trying to change the behavior of a hairball written and designed by somebody who left the company years ago.)

                                                                                                                  2. 1

                                                                                                                    I understand that these tools are maintained in a certain sense. But from an outsider’s perspective, they are absolutely not appealing compared to what you see in their competitors.

                                                                                                                    I want to be extremely nice, because I think that the work done on these teams and projects is very laudable. But compare the wxPython docs with the Bootstrap documentation. I also spent a lot of time trying to figure out how to use Tk, and almost all resources …. felt outdated and incompatible with whatever toolset I had available.

                                                                                                                    I think Qt is really good at this stuff, though you do have to marry its toolset for a lot of it (perhaps this has gotten better).

                                                                                                                    The elephant in the room is that no native UI toolset (save maybe Apple’s stack?) is nowhere near as good as the diversity of options and breadth of tooling available in DOM-based solutions. Chrome dev tools is amazing, and even simple stuff like CSS animations gives a lot of options that would be a pain in most UI toolkits. Out of the box it has so much functionality, even if you’re working purely vanilla/“no library”. Though on this points things might have changed, jQuery basically is the optimal low-level UI library and I haven’t encountered native stuff that gives me the same sort of productivity.

                                                                                                                    1. 3

                                                                                                                      I dunno. How much of that is just familiarity? I find the bootstrap documentation so incomprehensible that I roll my own DOM manipulations rather than using it.

                                                                                                                      TK is easy to use, but the documentation is tcl-centric and pretty unclear. QT is a bad example because it’s quite heavy-weight and slow (and you generally have to use QT’s versions of built-in types and do all sorts of similar stuff). I’m not trying to claim that existing cross-platform UI toolkits are great: I actually have a lot of complaints with all of them; it’s just that, in terms of ease of use, peformance, and consistency of behavior, they’re all far ahead of web tech.

                                                                                                                      When it comes down to it, web tech means simulating a UI toolkit inside a complicated document rendering system inside a UI toolkit, with no pass-throughs, and even web tech toolkits intended for making UIs are really about manipulating markup and not actually oriented around placing widgets or orienting shapes in 2d space. Because determining how a piece of markup will look when rendered is complex and subject to a lot of variables not under the programmer’s control, any markup-manipulation-oriented system will make creating UIs intractably awkward and fragile – and while Google & others have thrown a great deal of code and effort at this problem (by exhaustively checking for corner cases, performing polyfills, and so on) and hidden most of that code from developers (who would have had to do all of that themselves ten years ago), it’s a battle that can’t be won.

                                                                                                                      1. 5

                                                                                                                        It annoys me greatly because it feels like nobody really cares about the conceptual damage incurred by simulating a UI toolkit inside a doument renderer inside a UI toolkit, instead preferring to chant “open web!” And then this broken conceptual basis propagates to other mediums (VR) simply because it’s familiar. I’d also argue the web as a medium is primarily intended for commerce and consumption, rather than creation.

                                                                                                                        It feels like people care less about the intrinsic quality of what they’re doing and more about following whatever fad is around, especially if it involves tools pushed by megacorporations.

                                                                                                                        1. 2

                                                                                                                          Everything (down to the transistor level) is layers of crap hiding other layers of different crap, but web tech is up there with autotools in terms of having abstraction layers that are full of important holes that developers must be mindful of – to the point that, in my mind, rolling your own thing is almost always less work than learning and using the ‘correct’ tool.

                                                                                                                          If consumer-grade CPUs were still doubling their clock speeds and cache sizes every 18 months at a stable price point and these toolkits properly hid the markup then it’d be a matter of whether or not you consider waste to be wrong on principle or if you’re balancing it with other domains, but neither of those things are true & so choosing web tech means you lose across the board in the short term and lose big across the board in the long term.

                                                                                                      2. 1

                                                                                                        Youtube would be a website where you click on a video and it plays. But it wouldn’t have ads and comments and thumbs up and share buttons and view counts and subscription buttons and notification buttons and autoplay and add-to-playlist.

                                                                                                        Google docs would be a desktop program.

                                                                                                        Slack would be IRC.

                                                                                                        1. 1

                                                                                                          What you’re describing is the video HTML5 tag, not a video sharing platform. Minimalism is good, I do agree, but don’t mix it with no features at all.

                                                                                                          Google docs would be a desktop program.

                                                                                                          This is another debate around why using the web for these kind of tasks, not the fact that it’s minimalist or not.

                                                                                                    1. 1

                                                                                                      Related: How Hard Is It to Draw a Brand Logo From Memory? Much, Much Harder Than You Thought

                                                                                                      People have a lot of trouble even with Apple and Starbucks logos.

                                                                                                      Also, imagine the hell it must be to be an icon designer for a graphical language like LabView.

                                                                                                      Code is so abstract. Hard to turn it into graphics.