1. 3

    There’s also Vim Koans and Git Koans … or the inspiration for all of these: Zen Koans

    1. 2

      I’ve uploaded the video demo from this post to youtube: https://www.youtube.com/watch?v=dLkPeNJYbew

      1. 1

        The SRE Workbook is a companion to the first volume (free to read at this link), it’s the implementation details behind the principles.

        1. 3

          I was worried this would be another bropages or tldr or devdocs, but this is kinda awesome - the shell script & editor plugins are a nice touch because I think most people would rather not memorize its curl pipeline.

          1. 1

            The curl pipeline is pretty obvious actually. There is not so much to memorize. But the shell client is a good thing still

          1. 3

            Neat experiment but it needs a lot of work to really be usable though.

            1. 2

              It’s only AI in-so-much as XKCD 221 is AI…

              int getRandomNumber() {
                  return 4; // chosen by fair dice roll
                                // guaranteed to be random
              }
              
              1. 5

                Kinda neat how Microsoft went full circle…

                1978-1980: Unix
                1980-2000: DOS
                2000-2009: Emulated DOS
                2009-2016: PowerShell (plus Emulated DOS)
                2016-today: Linux (plus PowerShell and Emulated DOS)
                
                1. 1

                  According to wikipedia, Xenix was first released in 1980 with the last release in 1989.

                1. 7

                  Meanwhile, a friend of mine just got a response on a PR. Written in nice polite professional prose: “Sure, we can merge that, thanks for this improvement, but would you first please …” and that’s where it spun off into senselessness. It was all politely written, no swearing, but made no sense.

                  Linus will swear. And read the code. And understand both the code and what you tried to do, and have a decent idea of what’s achievable.

                  It seems to me that some people really mind the swearing, and do not realise that everyone has faults. Complaining about swearing isn’t a step towards faultless people, it’s effectively pushing us towards other faults, the ones that get no complaints.

                  1. 18

                    Why is there a dichotomy? Why would reducing rudeness be “pushing us towards other faults”?

                    1. 0

                      Suppose you are to choose a team leader. You can choose a team leader, but you have to choose from among the people who are there, none of whom are saints. One will swear like a sailor, another doesn’t care about documentation, a third suffers from Rambling Meeting Syndrome. Disallowing one of them for one fault doesn’t happen in a vacuum, because “none of the three” is not an option.

                    2. 21

                      Removing or reducing one fault doesn’t necessarily imply the rise of another. Someone can both say nonsense and be a jerk at the same time, but I’d rather they just say nonsense.

                      I’ve certainly responded to PRs with nonsense occasionally. It happens, because I didn’t read closely enough or just missed something. But I at least try not to be jerk.

                      Should people be jerks? I’d rather not. At least try not to.

                      Should people say nonsense? Again, I’d rather not.

                      The world doesn’t have to be seen as black or white. People can ask others to not be a jerk without simultaneously endorsing the rise of nonsense.

                      1. 17

                        It seems to me that some people really mind the swearing

                        I’m from New England. I swear a lot.

                        That said, Torvald’s candor is unacceptable. There’s no reason to devolve into namecalling (“moron”, “brain damaged”) that’s clear intent is to hurt feelings.

                        So no, I don’t mind the word “fuck.” However, I really fucking mind it when people insult other’s intelligence with the intentionality of hurting their feelings. Who would want to work on a project like that? I know that I wouldn’t.

                        1. 9

                          Pretty sure being crude and being nonsensical both garner complaints, for example, you’re complaining about your friend’s nonsensical PR response, and the author here is complaining about Linus’s crude and belittling language.

                          While understanding the issues is much appreciated, so is not being a jerk. Technical skills have brought us this far, but soft skills will help bring us to a future where more and more people are willing to get involved with open-source (and other) projects.

                          1. 13

                            I don’t think the article is about swearing. It’s about verbal abuse and how to convey the same information without attacking the recipient.

                            1. 5

                              You hit the nail on the head. I feel like we’re moving rapidly towards a culture of, “Let’s all celebrate diversity and embrace inclusion, except for those who we disagree with who are just going to have to change their barbaric ways.”

                              For every person who is offended by swear words (I mean, words of all things) there’s someone else who reads a phrase like, “this is pure and utter bullshit,” who thinks, man, this person is really passionate about what they’re talking about, maybe they have something interesting to say.

                            1. 3

                              The site/repo doesn’t seem to have a demo of it in action (outside of the simplest layout) – but the medium article linked from the repo has a video of a card-like layout: https://medium.com/@andreasimonecosta/strawberry-a-new-flexbox-based-css-micro-framework-42ff9be49468

                                1. 1

                                  Yes, I’ll add some examples in future…thanks for sharing this article!

                                1. 13

                                  Not much has changed since 2012 when this was published, Rust & Go (released in 2009/10) still don’t have any GUI libraries anywhere near as simple as REBOL, instead wrapping an older GUI system or using XML. In fact, most programming languages seem to expect you to make the GUI in HTML/JavaScript/CSS now, 6 years after this post. Even visual programming languages like Scratch rely on replicating textual elements with graphical puzzle pieces. Once you get into Piet or pureData, the language is visual, but I wouldn’t recommend trying to write a GUI app with an esolang like Piet, pureData, on the other hand, lets you create a simple or more complex GUI but it’s nothing you would traditionally consider code.

                                  1. 3

                                    Have you tried / what do you think of something like ImGui (especially when exposed to a “scripting” language)?

                                    1. 1

                                      Haven’t seen it before – looks good – and it’s been ported to Rust/Go & Javascript… https://github.com/ocornut/imgui

                                    2. 1

                                      I think that the we are still far away from the ideal library the article mentioned.

                                      Electron (for all it’s flaws) get’s fairly close. It’s not as descriptive, but HTML paired with a good CSS framework can get fairly close.

                                      There’s nothing that’s true native that comes even close though. I wonder how long it’ll take. Maybe with the advent of UIKit for macOS/iOS we’ll get another paradigm shift?

                                    1. 2

                                      Glad they provided some alternatives for Windows Home/Student licenses. I tried installing Docker on my Windows machine and was disappointed to find that I had to “upgrade” my OS.

                                      1. 3

                                        Now, all that’s left for them to do is create a team and write the code that extends ActivityPub for web-based Git services federation.

                                        1. 3

                                          Right, the point is to have a discussion with the relevant folks first before starting the work

                                        1. 4

                                          There’s a bash script that does essentially the same thing: https://github.com/RaymiiOrg/foaas.sh

                                          1. 2

                                            I didn’t know about that script but I wanted to learn Go so I made this tool

                                            Thanks for the link anyway

                                          1. 16

                                            Unless I am misunderstanding “Brutalism”, shouldn’t a “brutalist web site” be something like a no- or minimal-css web page? The examples the article gives, while pretty in their own right, don’t appear (to me) to go counter to much of everyday web-design one tends to see.

                                            1. 12

                                              That’s my understanding, too. My touchstones for web Brutalism are this motherfucking website and this other motherfucker.

                                              1. 6

                                                There’s another school that considers the Instragram iOS app as an example of brutalism. Other examples:

                                                Brutalist websites
                                                Brutalism in UX

                                                I consider the two sites that you linked to more an example of design minimalism (only using as much as you need), as opposed to the minimalism of information that seems to typify “modern” design today.

                                                I’d also be curious if y’all would consider something like my wiki as an example of brutalism

                                                1. 3

                                                  I’d say it’s pretty brutalist. It probably wasn’t designed or implemented with accessibility in mind. :)

                                                2. 2

                                                  Those are just trivial documents. It would be like calling a lost pet poster an example of brutalist graphic design!

                                                3. 9

                                                  I would imagine that to draw a useful analog to architecture, we have to imagine what it is we’re saving or optimizing for under a digital brutalism (in the same way that architectural brutalism is cheaper, easier, faster, less specialized, in addition to its aesthetic impact). As a programmer, I would imagine therefore that digital brutalism would have to at least partially be motivated by a desire for simplicity in construction: avoiding a reliance external resources that might not be available, avoiding a reliance on technologies or techniques that require specialization, avoiding techniques that require complexity in order to be correct (in favor of technologies that, while maybe less rich, can be correct more simply), and optimizing resource usage for browser speed and compatibility.

                                                  I think it’s perfectly fair to associate the above motivations with a particular aesthetic if they happen to be accompanied by one (after all, when I think about architectural brutalism I don’t think about the equipment, specialized or un-, that was used to construct it). But to say anything useful or interesting with term, it can’t just be the way they look.

                                                  1. 4

                                                    But to say anything useful or interesting with term, it can’t just be the way they look.

                                                    Isn’t look (legibility) in print/web design fundamental? If we’re talking about a brutalist web design, it’s certainly not brutalist because the author used tables for layout, though that might contribute to a look that has hard edges (defining sections/compartments, etc)–an element often associated with brutalism.

                                                    1. 1

                                                      Legibility and aesthetic are not the same, though. As I said above, it’s not that aesthetics are irrelevant; but using modern whizbang web design and tech, and just replacing your full-screen white-people-typing-together background video with graphics and video of a different aesthetic, is just another flavor of the status quo.

                                                      1. 2

                                                        Legibility and aesthetic are not the same, though.

                                                        I agree with this.

                                                        and just replacing your full-screen white-people-typing-together background video with graphics and video of a different aesthetic

                                                        What I think you’re saying is that Brutalism is a philosophy that can’t simply be replicated by copying an aesthetic. Is that right?

                                                        1. 1

                                                          Sure, that’s fair.

                                                  2. 8

                                                    Wikipedia has a nice passage which I think can be applied in spirit to websites:

                                                    Brutalist buildings are usually formed with repeated modular elements forming masses representing specific functional zones, distinctly articulated and grouped together into a unified whole. Concrete is used for its raw and unpretentious honesty, contrasting dramatically with the highly refined and ornamented buildings constructed in the elite Beaux-Arts style. Surfaces of cast concrete are made to reveal the basic nature of its construction, revealing the texture of the wooden planks used for the in-situ casting forms. Brutalist building materials also include brick, glass, steel, rough-hewn stone, and gabions. Conversely, not all buildings exhibiting an exposed concrete exterior can be considered Brutalist, and may belong to one of a range of architectural styles including Constructivism, International Style, Expressionism, Postmodernism, and Deconstructivism.

                                                    Another common theme in Brutalist designs is the exposure of the building’s functions—ranging from their structure and services to their human use—in the exterior of the building.

                                                    So don’t do elaborate styling, expose how the site was built, and organize the site into functional zones in ways visible to the user. A thoughtful version of non-CSS, non-Javascript, image-light design might be the best Web “version” of Brutalism, with visual grouping being the only organization. Getting people to give up CSS and Javascript might be a bit much, but in terms of basic construction, HTML is the equivalent of concrete (the “raw structural members” of the Web site) and Brutalism is very much about not hiding or ornamenting that.

                                                    1. 3

                                                      Getting people to give up CSS and Javascript might be a bit much, but in terms of basic construction, HTML is the equivalent of concrete (the “raw structural members” of the Web site) and Brutalism is very much about not hiding or ornamenting that.

                                                      I have no trouble giving up JavaScript. I’d prefer to use mostly semantic HTML5, with just enough CSS to make the text more readable (because browser defaults are trash).

                                                      1. 2

                                                        Great excerpt and follow up. I think you can keep CSS so long as what it’s doing is (a) visible in source behind the scenes, maybe even removable and (b) keeps the fundamental structure of the site or page. It might even give it the structure.

                                                      2. 4

                                                        Maybe GeoCities was brutalist? http://oneterabyteofkilobyteage.tumblr.com/

                                                        1. 9

                                                          The Classic Geocities, with all of its animated GIFs and background images and using images as dividers, is too ornamented to be Brutalist. It’s best described as Vernacular, which Wikipedia describes as:

                                                          Vernacular architecture is an architectural style that is designed based on local needs, availability of construction materials and reflecting local traditions. At least originally, vernacular architecture did not use formally-schooled architects, but relied on the design skills and tradition of local builders. However, since the late 19th century many professional architects have worked in this style.

                                                          The Geocities Vernacular was definitely the “architecture from people who weren’t architects” Vernacular.

                                                          In fact, the Terabyte Of The Kilobyte Age describes Geocities as Vernacular:

                                                          http://blog.geocities.institute/archives/5983

                                                          More to the point, Vernacular design is bottom-up unplanned design, with no large-scale goals in mind, whereas Brutalism is top-down planned design, and capable of designing in the large.

                                                          1. 1

                                                            I always thought of it as rococo (in the sense that it’s maximalist in the distribution of small decorative features), but I don’t really have a strong background in the history of architecture.

                                                        2. 1

                                                          That would be in line with architectural brutalism, but the term came out of critiques of architectural brutalism (which basically came down to “it’s ugly because it breaks convention in non-decorative ways”). “Web brut” has been used as an insult for longer than its current (3-4 year) rehabilitation.

                                                          I think both senses are useful for different reasons. Web brutalism in the sense of avoiding bloated web standards that necessitate bloated browsers is important for usability and for minimizing waste, while web brutalism in the sense of rejecting faux-minimalist aesthetics in favor of direct & straightforward mapping of form to function is important as a UX concern. (I’ve argued for the latter in https://lobste.rs/s/cyopoi/against_ui_standardization and the former in https://hackernoon.com/on-the-web-size-matters-e52ac0f5fdbe and https://hackernoon.com/an-alternate-web-design-style-guide-1aae8d0b5df5)

                                                          1. 1

                                                            Regarding your hackernoon article where you say

                                                            Use only the following tags: a, b, body, br, center, h1, head, i, li, ol, p, table, th, title, td, tr, ul. All other tags are unnecessary distractions. If, for some reason, you must include images, the img and align tags are also suitable.

                                                            what would your thoughts be on directly hostilng markdown, probably without literal html, instead of the “more powerful” full-html standards and deviations? Maybe protocols like Gopher could serve as a base for this?

                                                            1. 1

                                                              I consider hosting markdown marginally more reasonable than hosting html, but to be honest I don’t think we, as writers, should be controlling how the text is formatted except in the rare cases when the formatting is truly necessary and part of the point (like, if we’re writing concrete poetry or something).

                                                              In other words, something like gophermaps-as-document-format seems ideal: we get jump links, but literally nothing else.

                                                              The alternate web design style guide, despite apparently looking pretty radical to a lot of web devs, was very much a compromise – in the vein of “oh, if we MUST have web standards at all, at least ditch everything other than HTML 1.0!”

                                                          1. 1

                                                            I actually think this ASCII style is quite nice, and most certainty more portable.

                                                            1. 1

                                                              More portable in what way? Practically speaking, the W3 page is much more portably accessible to me than the ASCII version. I very often read things like this on my phone when e.g. on my commute, and on the screen size on a phone there is atrocious line wrapping that makes the text hard to read, and the illustrations entirely unreadable, while the HTML version renders perfectly.

                                                              1. 2

                                                                More portable in what way?

                                                                In the sense that you don’t need a browser to view it properly, but I guess you’re right that phones have a disadvantage here. On the other hands, it’s questionable why mobile browsers can’t format this most simple format properly.

                                                          1. 9

                                                            I’m not sure if “Gmail alternative” is implying anything other than “service to send and receive email”. If that’s all, I’ve been using https://www.mailgun.com/ to send emails to myself whenever someone uses a small app I wrote to get into my building using their api. And I’ve had zero problems. They give 10k emails sent/received a month.

                                                            1. 3

                                                              I’ve used mailgun on a bunch of WordPress installs, and have yet to be disappointed.

                                                              https://sendgrid.com/ is pretty nice, too.

                                                              1. 1

                                                                +1 for sendgrid.

                                                                I have used sendgrid and it was OK for my relatively low volume traffic.

                                                              2. 2

                                                                I concur about Mailgun being a really great solution for professional and hobby projects as well, thanks to its generous free quota.

                                                                You can also look at Sendgrid, Mailjet, SparkPost, Postmark, Sendinblue and Amazon SES.

                                                              1. 2

                                                                Learning how things are done at my new job, continue attempting to fix my sleep schedule so I don’t fall asleep at the aforementioned new job, continue attempting to move from Bash to Zsh…

                                                                btw, I finished that mandolin strap I mentioned a few weeks ago: https://www.instagram.com/p/BgjgrF9g5vN/

                                                                1. 2

                                                                  Nice work on that strap. Super unique

                                                                1. 3

                                                                  Just to make sure: Everybody knows about pushd/popd?

                                                                  I tried stuff like CDPATH, but removed it. It can break crappy Makefiles.

                                                                  1. 1

                                                                    my favorite part about pushd/popd is using dirs -v to see the stack, and cd ~# where # is the directory’s place in the stack…

                                                                  1. 1

                                                                    As mentioned by friendlysock, every description of monkey patching I’ve ever seen warns that it may cause problems with updates. Any time somebody modifies an object they don’t own, they’re taking a risk.

                                                                    The author here is talked about the latest smoosh debate without naming directly, but this isn’t the first time JS has added functionality, or broken backwards compatibility, Here’s an example from 2008. Developers survived this upheaval then, and they will survive it now.

                                                                    The author also mentions the long-standing Java/Javascript flame wars, but anybody can find arguments for and against each language, like in 2001 & 2002 when Microsoft modified Java, breaking portability, and ended up sued by Sun twice.

                                                                    Every language has its strengths and weaknesses, and updates sometimes break backwards compatibility. It happens. It doesn’t mean everyone is crazy for wanting (or resisting) some new functionality.

                                                                    1. 1

                                                                      The rant isn’t specific to smoosh, but rather to TC39 standard allowing altering prototypes. Language updates that alter this can effectively break anything. It’s not a good way to evolve Js, it basically ensures that it won’t ever be stable.

                                                                      1. 2

                                                                        Altering chunks of the core isn’t unique to Javascript though, in C you can define TRUE to be FALSE, and naturally havok will ensue.

                                                                    1. 5

                                                                      Please do not post advertising for products here. Part of what makes Lobsters special is that we have not yet become an open sewer for commercial interests hawking wares and services.

                                                                      1. 1

                                                                        I’m not the first to post a link to a humblebundle, and the selection of relevant and educational books at bargain prices with a portion of proceeds going to Code for America (or the tech-related charity of your choice) seems to fit the milieu here.

                                                                        1. 4

                                                                          Wonderful! I flagged those too. :)

                                                                          Product spam is still product spam.

                                                                          To be explicit: the milieu here is not “Hey, here’s a bunch of neat stuff you can buy!”. It is in no way unexpected that taking that approach leads to a great amount of garbage leaking in as the distribution of “well, this is maybe product spam, but I think some folks might appreciate it” leads to everybody being subjected to product placement for things they don’t personally care for. Similar problem for posting news stories.