1. 1

      Yeah, but can it run Doom?

      1. 2

        Doom needed four floppies. Doom 2 took 5.

        1. 1

          Perhaps it could be loaded into memory from a DAT cassette.

          1. 1

            Most of the Doom data is game assets and levels though, I think? You might be able to squeeze the game engine and a small custom level in 400k.

            1. 1

              Yes it is. But the engine itself is about 700k. The smallest engine (earliest releases) were a little over 500k. You could probably build a smaller one with modern techniques and a focus on size though.

              1. 2

                Good news, ADoom for Amiga is only 428k! Bad news, Amigas only have double density FDDs so you only have 452k for the rest of the distro.

        1. 21

          Please don’t bring this toxicity over to lobste.rs. Let it live and die on the orange site.

          1. 19

            I’ve had a few interesting discussions about our tribal and memetic expectations as exemplified by this repository. Sometimes, when somebody does something unbearably cringy in the name of what they think is supremely excellent taste, it is an opportunity to delve deeper into their implicit beliefs.

            Nowhere in this repository is it ever imagined that C is not an appropriate language for today’s coders. Rather, the machismo which is required to write fresh C code against an ever-steeper gradient of better toolchains for higher-level languages is also the same machismo which is stoked by the underlying family of memes used to theme and decorate the repository.

            Sometimes a project’s only purpose is to serve as a warning to others. Even in those moments, let us learn something from the precise nature of the warning.

            1. 22

              Can you define what you mean by ‘toxicity’? I don’t see anything ‘toxic’ in this repository.

              1. 5

                I don’t like the way its naming and meming relies on using virgin man vs not as a shorthand for bad vs not, however ironically.

                It’s a cool trick. Why couple it with a bad meme?

                1. 19

                  The meme is incredibly funny, that’s why.

              2. 21

                Toxicity? Orange site? I didn’t get any of that.

                I could agree that the theming is a little overboard, not because of bad taste, but because it detracts from the technical side, as speps said.

                Code needs to market itself, and it seems “skullchap” had some fun in that department.

                1. 11

                  It seems interesting from a technical perspective but I agree on the bad taste aspect, it detracts from the technical side.

                  1. 8

                    I think we need a new flag, because this isn’t really spam or off-topic: I suggest “bad taste” ;)

                    1. 27

                      The best way to deal with content that’s on-topic but otherwise not very valuable is simply to ignore it.

                      A comment, btw, counts as an upvote, at least as far as visibility on the front page is concerned.

                      1. 16

                        Or maybe some more tags. “based” and “redpilled” come to mind :-D

                        Alright, I’ll see myself out.

                        1. 5

                          Agreed. I marked it off-topic. Whatever your taste or politics, this repository was built simply “for the lulz”. It’s not tech, it’s a social experiment with code.

                          While there are many social topics in the tech world, that’s generally not what lobste.rs is good for.

                          1. 53

                            It’s tech, you and others just seem to be distressed by the cultural shibboleths it touches.

                            We have articles here that are dripping with furry stuff that are routinely defended from fursecution…a mainstream meme plus cool hack isn’t outside our Overton window for me.

                            1. 10

                              Labeling something “toxic” with the intent of banning it is as much of a cultural shibboleth as any of the memes in the article.

                              1. 4

                                The furry stuff is a positive expression of someone’s own personal identity, while the chad/virgin meme is a ridiculous objectification of others for being ingroup/outgroup. Do you see a difference?

                                1. 4

                                  Yeah, what’s up with all the furry stuff?

                                2. 13

                                  this repository was built simply “for the lulz”. It’s not tech,

                                  It’s not? I’m confused. I haven’t tried compiling it, but there’s a C file in there with a bunch of complex-looking code in it. Does that count as tech?

                                  I don’t know if anyone would use this library for reals (I sure hope not), but the same goes for stuff like Brainfuck or (IMHO) a 6502 assembler. There’s a lot of stuff posted here that is, at some level, done for teh lulz.

                                  1. 8

                                    this repository was built simply “for the lulz”. It’s not tech, it’s a social experiment with code.

                                    A lot of software is written “just because” or “for the lulz”. A lot of good software is even written for this express purpose— Linux started out as a hobby project, no?

                                    I also don’t see what makes this a social experiment. What’s the experiment? The readme being silly? Is that an experiment?

                                    1. 4

                                      Linus Torvalds biography is called “Just for fun”, because that is why he wrote Linux. That is how older people say “for the lulz”. Is Linux now also off-topic?

                                      There is some actual C macro (ab-)use in there, that is interesting to look at. It is def. tech.

                                      Why are you so triggered by this stupid meme?

                                  2. 6

                                    The shitposting C chad versus the virgin crustacean.

                                  1. 2

                                    I’m having trouble figuring out how the routing actually works. The README says:

                                    Uses the Global Socket Relay Network to connect TCP pipes

                                    but I can’t find any description of this network — ducking for “Global Socket Relay Network” only returns hits talking about the Global Socket package.

                                    1. 3

                                      I had the exact same curiosity. In addition to what you stated, found that:

                                      The GSRN is a free cloud service and is free to use by anyone.

                                      As stated by their github repository

                                      My guess is that it’s similar to TURN, where the GSRN bridges each participants outgoing connection. Sounds very cool for someone who’s hosting at home and doesn’t have a public IP address.

                                      1. 1

                                        hosting at home and doesn’t have a public IP address.

                                        (This is what dynamic DNS is for.)

                                        1. 4

                                          Dynamic DNS will not help with the fact that you have no public IP(v4) address. This is the case for many modern ISPs, which provide your modem/router with a native IPv6 stack (including public IPv6 address), but a translated, NATed IPv4 address. This is very common practice in Europe.

                                          Dynamic DNS is useful when you do have a public IPv4 address, but it gets rotated at a particular interval.

                                          1. 1

                                            Indeed — in Australia sometimes you only get CGNAT IPv4 with no IPv6 at all.

                                            1. 1

                                              I forgot about carrier-grade NAT, thanks!

                                      1. 2

                                        I still use C. Don’t use C; at least not for web development. I like Node.js for web stuff.

                                        Express.js is my tool for everything Nginx can’t do on its own (except gitweb, which is a Perl CGI script). Most of my pages are static, but templating with EJS is easier than slapping PHP onto HTML. Wrapping one’s head around the different ways to do things can be frustrating, especially with many libraries providing promises, asynchronous callbacks, or standard synchronous APIs. I still don’t know how to use promises, and haven’t found a good reason to with how tiny my apps are. It’s also really nice to have everything including your config, messages, server code, and client code in the same langauge.

                                        If you want to use C, Kore.io’s documentation is underwhelming at best and misleading at worst. BHCS seems cool, and parsing JSON with jsmn is very easy. Alas, footguns aplenty and I just crawled back to Node for anything web-facing.

                                        For a database, I either roll my own simple thing using the filesystem, or pick between PostgreSQL and SQLite. SQLite is easier to set-up and is infinitely more portable. You can just up with your files and walk with the database in your pocket instead of having to fiddle with system services and actually configuring your database, which means less shit to fuss with on my desktop. With the hobbyist volume I work with, SQLite is more than enough.

                                        Python seems like a fair candidate, but I’ve never used Flask or Django or anything, just gave WSGI half a shot back several years ago. Same with Perl. PHP is really the only other web langauge I’ve used as extensively as Node. I’ve heard it’s gotten better. If you really want to shoot yourself in the foot, give it a shot in Bash!

                                        1. 1

                                          You use C and Node? Can you confirm my long-time suspicion? Does Node - at least in parts - remind you of C, and how? I don’t write C, but I learned some back in the 90s and I always thought working with Node reminded me of that C period.

                                          1. 2

                                            Working with C and Node are two totally different paradigms to me. Working with Node or JavaScript (at least ES6) doesn’t remind me of C at all (besides the keywords and syntax, such as looping, branching, and functions (except let func = (x) => { do_x_stuff...; } and callbacks, which can be done with C using function pointers)).

                                            More often than not, I hear people refer to JavaScript as “Lisp in C’s clothes,” which may be a more accurate description: it reads like C, and is a fine functional language. Writing C in a functional fashion is possible and my favorite way to write C (you might give John Carmack’s advice on using C++ functionally a read), but it doesn’t remind me of Node at all.

                                            The environment around Node is radically different from the environment around C. There’s no good C package manager (unless you argue for a VCS or a system’s package manager), objects do not have methods (a function pointer, sure), allocating one’s own memory is an issue, anonymous functions are non-existent (but clever use of macros is real), error-reporting is based on return values and not exceptions (not without a longjmp or something), and the toolchain is completely different. For example, to add another source file to a program, it must be in the Makefile (or whatever build system) and the build updated, and executed if no compiler errors. In Node, a simple #!/usr/bin/env node on the first line and your program is running without intermediate steps.

                                            In what ways does working with Node remind you of C? I can see Node’s pass-by-value and pass-by-value-of-reference stuff reminding me of working with C’s variables and pointers to some point. Ultimately, working with them is two totally different processes for me. YMMV with an IDE!

                                        1. 7

                                          This only affects case-insensitive filesystems that support symbolic links, so it shouldn’t impact people on normal behaving Unix-like systems.

                                          1. 9

                                            Notable exception is macOS.

                                            1. 7

                                              To give a more helpful response than the other responses to you, in the era of APFS I’ve taken to creating an APFS volume formatted as case-sensitive and keep my git repos there.

                                              This allows applications like git, which usually expect a case-sensitive filesystem, to work correctly, while the OS or other applications can keep the case-insensitive filesystem.

                                              I came up with this strategy from working on shared git repos, where occasionally a user using a case-sensitive filesystem might push two different (to them) branches, such as feature/foo and feature/Foo, but git pull on a default case-insensitive macOS filesystem made git get quite upset.

                                              I think it’s also worth noting that case-insensitive is a pretty reasonable default on systems like Windows and macOS, which largely target non-technical users who don’t want to be baffled by two files apparently being called the same thing. Sure, us technical folk get it, but we’re very much not in the majority. Calling behaviour that’s intended to be helpful for the majority, “gimped” is unkind and misinformed.

                                              1. 6

                                                Even as a technical person who is totally comfortable with case-sensitive filesystems, I prefer case insensitivity. Filenames are first and foremost a way to label sequences of bits for the benefit of humans, and are usually generated by humans. So ideally they should have human-friendly semantics, not less-work-for-the-filesystem-programmer semantics.

                                              2. 7

                                                “Normal behaving Unix-like systems,” not “gimped Unix-certified systems!”

                                                1. 14

                                                  I don’t think this attitude really benefits anyone.

                                                  1. 3

                                                    It was snarkily put, but the message is valid. Personally I have never understood how hackers handed a virtual monopoly to Apple after Microsoft’s crumbled.

                                                    There was a brief period when Microsoft was losing their stranglehold, and during that time, hackers fled not to Linux or BSD, but … to another proprietary system, this time tied to a massive hardware and software walled garden.

                                                    1. 11

                                                      They “fled” to another proprietary system because that system could give them something the free systems could not: Ease of use.

                                                      1. 7

                                                        Ease of use.

                                                        This is it. I am all-in on the Apple ecosystem in the last two years after stubbornly clinging to Linux (various distros) for almost two decades. At some point I just couldn’t handle the constant state of partial-brokenness any more. I have more interesting shit to do than figure out why I can’t share my screen properly on a video call or why the audio stops working every other day. Network effects were part of it, I’ll admit, but since I switched, and really embraced the OS, I am happier and more productive.

                                                        1. 3

                                                          I disagree, as someone who was using both Windows, MacOS, and Ubuntu systems at the time in a commercial setting.

                                                          The Linux systems just worked. Back in the days before Docker and friends, you could write a simple script to take a vanilla Ubuntu installation and set it up as a dev machine while you grabbed coffee. Meanwhile, the team I was on spent much effort trying to do the same with MacOS, and still wound up with a bunch of manual faffing around.

                                                          Furthermore the systems themselves weren’t user serviceable or upgradeable. A few years after the previous experience, I started work with a new client. To my immense displeasure, their ‘local dev environment’ involved installing a ~ 30GiB SQL Server VM, back when that was large. Several of my colleagues literally had to buy new laptops; I just popped down to JB HiFi during lunch, bought a new hard drive, and had swapped it in with time left over for coffee :)

                                                          Nowadays, I’m running a MacBook Pro w/ Catalina (client machine), and a ThinkPad W540 w/ Ubuntu (personal machine). Again, the Ubuntu experience is vastly superior. I don’t get crashes when I enable my Bluetooth headset mid-Zoom. The MacOS system mysteriously hangs - but only sometimes - when I open the lid, or when I try to log in. The Ubuntu system … just works.

                                                          And I’m not just considering this from the point of view of a developer. My mother in law bought a new Windows laptop after years of running Ubuntu quite painlessly, and it has given her no end of trouble. The most recent was a conflict between a WiFi driver update and the Windows power saving settings - which manifested as the WiFi ‘going away’ after a few minutes at idle, and not coming back. Took me the best part of an hour to debug.

                                                          Perhaps by ease of use you’re referring to the Apple ecosystem as a whole? Where you have an Apple watch, an Apple phone, an Apple laptop, an Apple TV … ? Not having experienced that myself, I can imagine that the ease of use of a tightly integrated system could outweigh the costs, especially for inexperienced or non-technical users.

                                                          1. 4

                                                            Not having experienced that myself, I can imagine that the ease of use of a tightly integrated system could outweigh the costs, especially for inexperienced or non-technical users.

                                                            Even as an experienced, technical user (whose daily tasks usually involve large C codebases, and not, say, using Adobe products), having a MacBook, iPhone and Apple TV lets me effortlessly coordinate my ~personal area network~ in ways that are extremely efficient and honestly, pleasurable/joyful. (It helps that my partner uses Apple devices too.) I still do have a FreeBSD desktop but I mostly use it through ssh from my MacBook.

                                                            I’ll be frank: I don’t love what it represents. But this lets me get on with my life much more effectively than trying to scout out what the least worst Linux laptop is, the least-crappy Android OEM, etc. etc.

                                                2. 1

                                                  ZFS datasets can be set to case-insensitive, but only on dataset creation. Case-insensitive datasets are usually created when setting up corporate SMB/CIFS shares.

                                                1. 2

                                                  Classic.

                                                  1. 25

                                                    Negatively: Drinking when I got stressed. Now I drink all the time, to the point where it’s an unreasonable portion of my outgoing expenditure and I’ll usually pour myself something to take the edge off before standup. If I could offer any advice to anyone reading; please only drink alcohol during fun, social occasions.

                                                    1. 10

                                                      When I was a cable guy, the only outlet I had was drinking. 4 out of 5 mornings I had a hangover, was still buzzed, or even drunk. My (horrible, universally hated) boss reprimanded me for it multiple times a month. The only thing that stopped me was quitting that job in June.

                                                      With some help, (a week in the hospital and a lung injury) I’ve also quit smoking cigarettes and avoid nicotine. I now have a very nice and infinitely more affordable green tea habit.

                                                      I drink still, avoid keeping liqour around, and ceased my habit of staying drunk or getting shitfaced regularly. Stress kills, folks.

                                                      1. 5

                                                        Thanks for sharing. I think avoiding keeping liquor around is a good point I hadn’t really considered, by now it’s part of the furniture. Maybe I’ll give my liquor shelf to my parents.

                                                      2. 11

                                                        A relative taught me these rules when I was a kid:

                                                        • Never drink on an empty stomach.
                                                        • Never drink alone.
                                                        • Drink for the taste, not for the effect.

                                                        Works for me.

                                                        1. 6

                                                          I’ve heard these rules a couple of times, and, to me, they always sound patronizing. It feels on par with telling an addict to “just stop”. How can the advice work when you want to drink on an empty stomach, alone, and for the effect, and it’s out of your control?

                                                          1. 16

                                                            These aren’t guidelines for an alcoholic, they’re guidelines to prevent one from becoming an alcoholic.

                                                            1. 9

                                                              Sorry, I realized my first comment was a little intense.

                                                              I understand this. I just don’t think they very good guidelines – they’re more of a description of “patterns of people who aren’t alcoholics”. I think what makes someone an alcoholic is a very complex, and often genetic thing. For some, these rules are essentially impossible to follow from the get-go. Additionally, someone can choose to break all these rules all the time, and still not become an alcoholic.

                                                              1. 2

                                                                I get your point, but if it’s genetic, then a list of rules won’t make a difference one way or the other.

                                                      1. 3

                                                        Neat! Why aren’t we playing this at you know where @icy?

                                                        1. 2

                                                          We should! I’ll setup a server. ;)

                                                        1. 32

                                                          the next time I have to buy a UPS for a piece of equipment that requires power 24/7, I will buy a line-interactive UPS rather than a standby UPS

                                                          I’ve been wondering why one would get an office, standby UPS for a server (home or otherwise), but then I realized someone who has never been designing server installations indeed has no way to even know what keywords to look for.

                                                          And now that fewer and fewer companies even have on-premises server rooms, it may be becoming a somewhat obscure knowledge even among professional sysadmins.

                                                          Maybe it’s time for a collaborative “how to make a server closet” manual…

                                                          1. 20

                                                            I would certainly welcome a guide like that.

                                                            1. 8

                                                              I second this. It would be extremely valuable to some of us who are less familiar with this.

                                                            2. 7

                                                              That would be a lovely piece for all of us with nascent home datacenters. :-)

                                                              1. 5

                                                                “how to make a server closet” manual

                                                                Time to dig through the photos I still have for “how not to make a network/server closet!”

                                                                1. 5

                                                                  I’ve just started playing around with some home server gear, and the best general resource I’ve found is the r/homelab wiki. The Hardware Guide was particularly useful to orient myself to the world of decade-old enterprise servers, but it’s UPS subsection doesn’t mention this “line-active” terminology.

                                                                  1. 1

                                                                    Maybe it’s time for a collaborative “how to make a server closet” manual…

                                                                    That would be awesome.

                                                                    1. 1

                                                                      how to make a server closet

                                                                      please

                                                                    1. 1

                                                                      Not much more than sharing a dank meme and plugging some dude’s book. Points for sharing; valid points nonetheless.

                                                                      1. 2

                                                                        I am delighted and disappointed that this was something for hypervisors! OVH has a wonderful KVM on their control panel. It’s been touch and go for me with it, mostly because they use something like getty over SSH, I think. (Change your SSH port, it removes a lot of the noise in logs! Less headache to sort through!) Right now I’m looking into something similar but am plugging straight into QEMU’s system console (not the monitor, yet. QMP is really cool! Also, libvirt is too big, it’s a little less domain-specific).

                                                                        Very interesting use of a capture card.

                                                                        1. 14

                                                                          I request a follow up post where an existing blog post is rewritten to show how it could be improved!

                                                                          Even better, I’d like to see the author of this post show a finished blog post, and the process of getting there from an imperfect original? How do you debug a blog post?!

                                                                          1. 6

                                                                            I was thinking about doing something like this back in January.

                                                                            If anyone has a blog post they would like me to edit, feel free to send it my way (e-mail, PM, etc.). If I think it can be improved and it overlaps with my areas of interest / knowledge, I could either offer suggestions, or rewrite it myself (although I do have a lot of my own posts to write, so no promises).

                                                                            Warning: I’ll likely delete 50% of the words in the post while retaining the meaning. My last editing pass almost always consists of deleting words.

                                                                            And I suppose you should be comfortable showing the before-and-after, because that’s the request here. (And of course I’ll be interested if anyone thinks the “after” version is worse :) )


                                                                            For context, I’ve received a lot of good feedback on the technical writing in my blog:

                                                                            • This is a great write up! I wish I saw more of these types of posts

                                                                            https://old.reddit.com/r/programming/comments/7xlca1/commonmark_is_a_useful_highquality_project/

                                                                            Another warning is that good writing requires more effort / more rewrites than most people are willing to put in. Unfortunately I’ve backed off on that for the last couple years, but I want to get back to it. It’s good to know that you can do it if you put enough time in, even if you’re not always willing or able to.

                                                                            So it would be ideal if you have a lot of time to spend on one blog post (and that might be true for more people now due to the state of the world.)


                                                                            I should also point out that I borrowed a CSS rule or two from http://bettermotherfuckingwebsite.com/ :)

                                                                            http://www.oilshell.org/css/all-2020.css

                                                                            1. 1

                                                                              You could try linting your blog post: https://www.gnu.org/software/diction/

                                                                              Works ok for me.

                                                                              1. 1

                                                                                This is an awesome idea! Something like https://motherfuckingwebsite.com/!

                                                                                Not just technical people are bad at this, neither. Communicating effectively is difficult in every context. We don’t always say what we mean; abstract concepts are even harder to talk about than something you can touch.

                                                                                How do you debug a blog post?!

                                                                                I used to be very harsh with editing whenever somebody asked me about writing in college…

                                                                                1. 5

                                                                                  I have an obligation to mention http://bettermotherfuckingwebsite.com/ as well.

                                                                              1. 17

                                                                                I wish they’d release the art assets under some kind of CC license, maybe even non-commercial, when they open-source old games. I owned a legal copy of RA, but it has long since disappeared through moving, etc.

                                                                                1. 6

                                                                                  I wonder if this has to do with a retailer like GOGames or Steam still selling copies/full licenses.

                                                                                  1. 5

                                                                                    I guess the reasoning is that having the code freely available doesn’t cost the publisher anything in sales, whereas releasing everything (including art) would. I think this makes sense.

                                                                                    1. 4

                                                                                      You don’t need the art to make mods. If you want to make a mod that uses the art, don’t distribute it, reference a person’s existing installation. I feel like this is a really fair compromise between profit and mod-ability. This is what id software has been doing for decades now with Doom, Quake, etc. I believe Doom’s source code was released in 1997 or so.

                                                                                    2. 2

                                                                                      Pretty often, it’s that some assets are acquired with a license to only use it in that product. This pretty often applies to music, sound effects and visual art. Very often, the code of old games is produced almost entirely in-house, though, or they just use common API. It’s far easier to make that ready for release.

                                                                                    1. 4

                                                                                      “Porting machine go BRRRRR”

                                                                                      I’m not sorry

                                                                                      1. 8

                                                                                        “But first, we need to talk about parallel universes”

                                                                                        1. 1

                                                                                          Well crap I knew I missed something. I’ll see if I can fix that.

                                                                                        1. 9

                                                                                          Disclaimer: opinions are my own, and I no longer do IT or software development for a living.

                                                                                          Anyways, I work for an ISP (cable TV) doing installation and troubleshooting. One of our internal tools for telemetry (mostly modem signal level/quality statistics over time, used for provisioning service and diagnosing if there is a problem with someone’s service) is wonderful and checks all boxes.

                                                                                          It makes our jobs in the field infinitely easier. A customer with chronic issues with their internet or telephone service will call in, and have a technician out. When one of us is out at their home or business, we find nothing wrong with any of their cabling from the telephone pole to their modem. At this point, most technicians can only throw their hands up and say that it isn’t a problem here, have a nice day.

                                                                                          Our telemetry allows us to conveniently (from a smartphone) change orders for obscure provisioning issues, and most importantly, view statistics for an entire network (generally bound geographically) and say that yes, we are having issues in the area and that you, dear customer, are not the only person having issues with your service, look and let me explain. Now, I can use the proof I have from our telemetry to present this to our “outside plant” maintenance crew or my boss, and hopefully get things fixed.

                                                                                          Whether or not anything ever gets fixed in a timely matter is a different topic. :)

                                                                                          The development team is always looking for input and for ways to make our telemetry more useful. The user interface is intuitive, and the important information it is forthright with. From the outside looking in, that team is having one hell of a fun time developing a useful product, mostly because their objective is helping out our other departments, not making a profit or gaining internet cred.

                                                                                          1. 1

                                                                                            I mostly live in bash.

                                                                                            19:16:43 kbjensen@obsidian:~/prog
                                                                                            0 $ 
                                                                                            

                                                                                            Here’s the string with the escapes:

                                                                                            PS1+="\[\033[38;5;32m\]\t \[\033[38;5;34m\]\u\[\033[38;5;37m\]@\[\033[38;5;31m\]\h\[\033[38;5;37m\]:\[\033[38;5;32m\]\w\n\[\033[38;5;34m\]\$? \[\033[38;5;37m\]\$ \[\033[0m\]"
                                                                                            
                                                                                            1. 17

                                                                                              I’d like a tag that covers the internet minus the web - email, NNTP, gopher, IRC…

                                                                                              1. 7

                                                                                                So, https://lobste.rs/t/networking?

                                                                                                (Although that tag could definitely use a more useful description, it’s listed as “networking - Networking” right now.)

                                                                                                1. 22

                                                                                                  networking feels best suited to the protocol layer 3, such as IPv4, IPv6, or IPsec, and their management through routing, firewalling, etc.

                                                                                                  But that is like my opinion. I still add networking tag for email protocols from time to time.

                                                                                                2. 4

                                                                                                  Seconded.

                                                                                                  1. 5

                                                                                                    This. If email is a tag, why not ssh? If ssh is a tag, why not telnet? If telnet is a tag… and so on.

                                                                                                    1. 26

                                                                                                      It’s because tags are not a complete, idealized series of protocols or other topics. Rather they are metadata under the site’s computing-focused theme. They’re created by “submitting, discussing, and voting on meta-tagged requests about them,” for which each tag has to make it’s own case for inclusion. The resulting ontology is fit for the purpose of discussion on this site and is not trying to be anything more than that.

                                                                                                      Tags are used to organize and filter topics, with this community more interested in some protocols, tags, topics, or subjects than others.

                                                                                                      1. 9

                                                                                                        HTTP is not a tag. SMTP / IMAP / MIME / POP / DKIM / SPF / Sieve are not tags.

                                                                                                        Web is a topic. Web is a tag. Email is a topic. Can email be a tag?

                                                                                                        That OTOH, I would welcome a protocol for discussing about a particular/alternative email protocol.

                                                                                                        1. 8

                                                                                                          Because the tag system is not meant to form a complete taxonomy for all submissions but to serve the purpose of allowing users of the website to focus on topics or ignore them.

                                                                                                          Think of it like the ideas behind a Huffman code but for focusing/ignoring stories. When there are many stories that share some common element, you can focus/ignore by using a short tag. When there are few, you just focus/ignore by handling the individual stories.

                                                                                                          1. 2

                                                                                                            Do the work to show there is the demand for those tags (as had been done here, for this proposal) then maybe people would support their addition too.

                                                                                                        1. 13

                                                                                                          I always thought that as should be reused here: if foo.bar() as x: , which seemed to provide appropriate symmetry with the with statement, that solves a similar binding problem.

                                                                                                          Regardless of the bike shed color, though, I used to wish for this everyday for years, so I am glad it finally came!

                                                                                                          1. 8

                                                                                                            That would introduce ambiguity in the normal with statement. Now with x as y: could be a simple assignment or could be creation of a context manager. Instead with the new syntax

                                                                                                            with y := f(x) as z:
                                                                                                            

                                                                                                            we have that y would be assigned f(x) and z would be assigned y.__enter__() (I think… well, I hope).

                                                                                                            https://www.python.org/dev/peps/pep-0572/#alternative-spellings

                                                                                                            1. 4

                                                                                                              Serious question: If using a with statement, whose job it is to manage the context manager, why do you actually need anything more than what z is, generally speaking?

                                                                                                              Additionally, I had to stop and really think about what with y := f(x) as z: is doing.

                                                                                                              That link also says the following:

                                                                                                              To the contrary, the assignment expression does not belong to the if or while that starts the line …

                                                                                                              I disagree. In the same way that the with statement owns the result of whatever.__enter__(), the if statement owns the result when evaluating the conditional in a boolean context. But, perhaps that means the as z should then provide the boolean value, which is useless given, the branch taken implies it.

                                                                                                              I don’t have a horse in this race, as I haven’t seriously done Python in 6 years or more. I’m happy they’ve made a change.

                                                                                                            2. 3

                                                                                                              Very disappointing to see Lobsters replicating this style of comment from HN and voting it right to the top. The top response to a post like this should not be bikeshedding syntax.

                                                                                                              1. 6

                                                                                                                Wholehearted agreement. I’ve noticed that as the lobsters community has grown, its focus has shifted much farther off-center with a growing noise-to-signal ratio, including the stories, not just the comments.

                                                                                                                1. 2

                                                                                                                  I am not sure what type of discussion you are looking for on an article like this, and even praise posts: “great feature addition!” “Woohoo! Pat everyone on the back!” have the potential to get bike sheddy.

                                                                                                                  “Uhh, it’s not a feature, it’s a backwards incompatible language change!”

                                                                                                                  “Why are you praising this? It’s obviously a horrible idea!”

                                                                                                                  “Patting someone on the back is offensive! Instead, you should send a donation to the PSF to ensure developers are compensated for these kinds of changes, to say thanks.”

                                                                                                                  Further, to get really really meta here, I don’t like the color you are painting my comment. My comment offered a statement of my surprise and then specifically said: “no matter! I am glad the feature now exists!”

                                                                                                                  I hoped for a reply that summed up the argument for doing it the way it was done, since the article doesn’t do so—received one, and then asked a follow on because I still don’t see a solid reason to introduce := over as. Feel free to downvote that part of the thread as troll, because you could certainly read it that way.

                                                                                                                  Lastly, I really dislike these bike shed comments about the Lobsters community in comparison to HN. There are social rules in place here, and facilities for ensuring discussion is on topic and useful. Obviously, a number of community members agreed with my sentiment and voted it up. Perhaps these folks were an elite squad of programming language designers… but, they are the community we have, so…

                                                                                                                  1. 2

                                                                                                                    I don’t have a problem with your comment, I have a problem with people just upvoting easy to consume content. That’s a criticism of the way upvotes work (I think they should probably require a reason, just like downvotes: insightful, correction, helpful, etc. as options), a criticism of the site, not a criticism of you. I apologise that I didn’t convey that in my comment.

                                                                                                                    1. 1

                                                                                                                      In a way, it may not be your comment so much as the attention it gets. Having a variety of voices in a community is important and your opinion is valid. Whether it should be head and shoulders above other comments might be more of the issue. It gives an impression of authority and undercuts other comments. (I.e., what this person says must be important because so many people agree with them and what this other person says must not be important because no one has agreed with them.)

                                                                                                                      Up-voting and down-voting aren’t terrible because they do provide a way to scan through lots of comments and articles, but the game changes when the audience grows.

                                                                                                                    2. 1

                                                                                                                      I totally agree. There have been a number of changes, both proposed and accepted to Python that made me say “Enh? REALLY?” but this one is not among them.

                                                                                                                  1. 4
                                                                                                                    1. Absolutely: rework code until warnings are 0 because of exactly this + issues across compilers and platforms

                                                                                                                    -2. Did not understand why the fill bits are not 0 but the last bit-

                                                                                                                    https://stackoverflow.com/questions/6555094/what-does-cltq-do-in-assembly

                                                                                                                    Gives the answer: its a signed expansion.

                                                                                                                    1. 5

                                                                                                                      Yes! And I’d go a step further: once you get down to warning-zero, turn on -Werror to make sure no one introduces another warning.

                                                                                                                      1. 3

                                                                                                                        bonus points for -Wall -Wpedantic

                                                                                                                        1. 1

                                                                                                                          Not quite. The only warning I let slide is:

                                                                                                                          warning: ISO C forbids assignment between function pointer and `void *'
                                                                                                                          

                                                                                                                          But that’s because POSIX requires that behavior. But otherwise, yes, I will crank up the warnings when compiling.