1. 12

    One benefit of using a CMS or site generator is an automatic RSS feed. Hint: this blog currently has no RSS feed ;)

    1.  

      I was really considering writing a blog that actually uses an RSS feed as the source of truth, then uses XSLT to generate the HTML…

      1.  

        Pro tip: use an Atom feed. RSS 2.0 is pretty loose, spec wise.

      2.  

        That is very true, but I’m working on a shell script to generate a feed from HTML.

        Edit: Here’s a preliminary version of the script (results).

      1. 0

        Have they fixed the protocol yet, in particular to trusting poisoned graphs?

        1. 3

          grins wryly that an article which is all about “hey look we fixed the protocol and released a 1.0” is met with questions about whether we’ve fixed the protocol

          1. 2

            I’m not sure what you mean by that, but matrix 1.0 and synapse 1.0 include room version 4, which includes the new state resolution algorithm, which is probably the fix to what you refer to.

            https://matrix.org/docs/spec/#complete-list-of-room-versions

          1. 1

            TLS with Gopher is probably the only way that you can host multiple gopher sites per IP address.

            1. 3

              Or virtual hosts based on hostname. Or different ports. Encryption is not required for that.

              1. 2

                Gopher doesn’t have the concept of vhosts. If the client supports SNI, the server can use that to approximate vhosts.

                1. 3

                  Gopher doesn’t have TLS, either. If we’re going to add something, we could add anything.

                2. 1

                  I’m going under the assumption that nobody is going to care enough to make their clients or URIs use alternate ports. People have a hard enough time remembering names of things.

                  1. 1

                    Maybe for gateways. Maps supply port numbers, so once the user is navigating they don’t need to worry.

                    What’s the point of having multiple sites on the same host? Overloading the meaning of the same identifier string?

                    1. 1

                      Mostly so there’s a logical separation between my personal website and other things like When Then Zen and my Go Remote Import/Vanity Import server.

                      1. 2

                        Fair enough.

                        I think that, to the extent that there’s an idiomatic gopher way to handle this, it’s the same as pre-vhost HTTP: i.e., pretend there’s a directory hierarchy (whether or not there really is – gopher actually just exposes a string-keyed hash table of strings, but gopher servers generally default to wrapping an actual filesystem like HTTP servers do) & have different sections as subdirectories (or as string prefixes, if you aren’t exposing an actual filesystem).

                        Port numbers solve the problem, but not well because they aren’t meaningful.

                        Of course, you could always have different IPs associated with different subdomains & route the requests to different tables (i.e., roll your own pseudo-vhost)…

                3. 3

                  I’m imagining an alternative history in which Gopher beat out HTTP, so the lack of a Host header caused them to rush out full IPv6 deployment decades ahead of us. SNI never needed to be invented in that universe.

                  It’s not all good though, the hypothetical gophers with the 128 bit addresses never invented the Hampster Dance.

                1. 3

                  Isn’t it funny that the most popular use of ejabberd isn’t for open federated IM, but for custom silos and backend push notifications?

                  1. 2

                    Hehe it depends on how you define “most popular use”. People do both federation and custom silos with ejabberd, but by definition the open federated server shouldn’t have centralized nodes that do billions of messages, therefore such a case study shouldn’t apply to federated servers ;)

                  1. 3

                    I myself would appreciate a Rust compiler going into GCC. It’d make cross-platform (particularly for things LLVM, let alone rustc, doesn’t support) much better, and if said compiler was written in C, resolve bootstrapping problems with rustc.

                    1. 2

                      LLVM is currently making great strides towards more embedded targets and also has some advantages ins this space.

                      That being said, a Rust frontend for GCC would be a cool thing. That isn’t in scope for this, though.

                    1. 5

                      Interesting to see this on the front page together with the article that bash is being replaced by zsh as the default shell on the Mac.

                      Two questions spring to mind:

                      1. The bash/zsh switch is clearly motivated by licensing issues, not technical ones. Is the removal of Python, Ruby, Perl and friends also motivate by license issues?

                      2. Is zsh not regarded as a “scripting language”?

                      1. 11

                        Is the removal of Python, Ruby, Perl and friends also motivate by license issues?

                        I think not as all of them are on quite liberal licenses. I think the main reason for removal of these scripting languages from “core” is that these do not provide much value by default as almost anyone who need to work in these languages will install them separately via external package/version manager. And not having them in core will actually help, as there will be less confusion and version conflicts.

                        1. 7

                          Is the removal of Python, Ruby, Perl and friends also motivate by license issues?

                          My guess is “everyone who uses them installs a newer version from Brew/etc”.

                          1. 1

                            Is zsh not regarded as a “scripting language”?

                            Perhaps? It’s certainly not as well known as sh/bash, which are not really promoted as scripting languages. Maybe in the future the stuff that used to rely on Perl/Python/Ruby on macOS will use zsh.

                          1. 6

                            Fun fact: NEXTSTEP came with zsh, but not as the default shell. I guess this change has been overdue for decades.

                            1. 6

                              If bash was still on GPLv2, they would not have done this change.

                              1. 0

                                I wish they’d take off their tin foil gpl hats.

                                1. 7

                                  From 1990 to 1995, the FSF boycotted Apple over their intellectual property activities. At the time, the hot issue was the copyright lawsuits which ultimately led to the look-and-feel doctrine which is still in place today. When the GPLv3 was published in 2005, it included substantial new provisions related to patents, since use of patents was at the time one of the largest ways the free software community felt mistreated by large corporations, and indeed Apple was among the companies that had been criticized in that regard. I’m sure Apple’s lawyers feel that to some extent these provisions are targeted at them, and I think there’s some truth to that.

                                  As an individual, I support the FSF’s position here, but I understand why Apple as a corporation is wary of it, and I don’t think they’re being irrational. Both Apple and the FSF are focused on the long-term, so their actions do seem a little silly when we look at the day-to-day, but they’re each acting in accordance with their purpose and incentives.

                                2. -1

                                  zsh was the default shell for 10.2 or 10.3 iirc, so in a way this is just switching back to zsh as the default shell.

                                  1. 5

                                    tcsh was the original default shell prior to bash, not zsh. Wilfredo Sanchez, former tcsh dev, was Lead of the Unix Technologies team at Apple during that era

                                    1. 1

                                      Could be, been a long time since I ran 10.2 so maybe my brain is just having an old person fart.

                                3. 2

                                  NEXTSTEP was so ahead of its time in Sooo many ways.

                                1. 12

                                  still need to catch up on what I missed

                                  • Tim Cook announces some more media stuff, including an alt-hist space race show from the creator of Battlestar Galactica.

                                  • Apple TV Plus looks like a streaming service.

                                  • Starting with tvOS?

                                  • Redesigned homescreen with autoplay like Netflix when you turn it on. Personalized “up next” and recommendations. Multi-user support. Control centre like iOS for switching between accounts and other sundry tasks. Apple Music applies to that too. Lyrics synchronized with time. (Karaoke, anyone?)

                                  • Gaming on tvOS. Xbox One and PS4 controller support.

                                  • Underwater screensaver, courtesy of the BBC.

                                  • Watch time. New watchOS? Kevin on stage.

                                  • Watch faces. More of them.

                                  • Taptic chimes - audible/feelable chimes from the haptic feedback, every hour.

                                  • Apps. First-party now include audiobooks and voice memos. And Calculator - take that, iPad!

                                  • Independent watch apps, untethered from specific iPhone applications. Standalone streaming API.

                                  • App Store on Apple Watch.

                                  • More health and fitness. Doctor Sumbul on stage. It’s for your health! Activity trends. Hearing protection that detects environmental dB. (It doesn’t record or save audio, just a periodic check.)

                                  • For the women: Cycle tracking. Also on iOS. Back to Kevin. Improved health app on iOS, with more summaries available. Oooooooh, machine learning. Stored on local device or encrypted in iCloud, sharing is explicit and optional.

                                  • Haley on stage. More watchOS, demo of what was introduced. Back to Kevin. Shazam built in? Automatic updates? More bands, including a Pride one.

                                  • iOS time with Tim. Last year was 12. 97% satisfaction? 85% updated to iOS 12. Versus 10% on Android 9. Craig on stage now.

                                  • iOS 13. Performance. 30% faster face ID unlock. App store packaging format change. 50% smaller download, 60% smaller for updates. Double app launch speed.

                                  • Jellyfish? Dark theme, for those of you who care. Looks like a true black for OLED. Everything gets adjusted aesthetically for the dark.

                                  • Swiping keyboard. Sharing suggestion on the share sheet. Depeche Mode reference. Apple Music does the time-sync lyrics on iOS too.

                                  • Apps: Safari, Mail, Notes. Per-website prefs and better text zoom. Mail has better rich formatting. Photos has better folders and sharings. Reminders rewrite. More “instant’ UI metaphors in it. Integration with Messages, hierarchy changes, etc.

                                  • Maps improvements. They have planes and cars with LIDAR. Full US coverage by 2019, other countries next year. Meg on stage for demo. 3D objects on map. Improved launch screen with favourites and collections. Street view? Seems more fluid than Google’s, and you can interact with POIs in street view. Sharing and junction view.

                                  • Yes, it’s private and secure. Restricting location permissions. One-shot permissions for location. Reporting for location permissions usage. Blocking BT/Wifi based location scanning. Social media logins are kinda bad for privacy. Apple-based SSO instead? No tracking. Uses Face ID, doesn’t reveal PII unless user consents to share name and email. If not, it makes a burner email that forwards to your real one, per app. Available on all Apple OSes and the web.

                                  • HomeKit. Privacy on IoT tat, particularly cameras. So many cameras use cloud based things, and risks privacy. HomeKit secure video, uses local iOS devices to perform the ML junk and uses encrypted iCloud to store if needed. 10 days of storage free, doesn’t count against data storage. Devices on internet suck. HomeKit in routers will firewall off individual devices.

                                  • Messages. You can share name/picture when sending messages to new people. More memoji customization. They’re on stickers now, if you care. They’ll work outside of iMessage? Animation of them requires a new device still, but they can be displayed and edited on any A9 or newer device now.

                                  • Camera improvements. Better portrait lighting. “high-key mono?” Editing. Effects stack and are editable. Works on video too. Filters and rotations work there. Better browsing. Picture of paper/whiteboards can be annoying if you browse pictures. It can filter them out of a photo stream. Justin on stage for the demo of new Photos. Days: It’s a big grid you can navigate, and refine. Months groups by event. Years is context-sensitive.

                                  • Voice stuff uses Siri, even if you use HomePod/AirPods/CarPlay. Stacy on stage. It can interrupt things you listen to for notifications you can instantly respond to and then return from. Audio sharing. Handoff for HomePod. Live radio. It knows who is talking and personalizes accordingly. 90% CarPlay availability in US, 75% globally. CarPlay dashboard layout change. Adaptive. Siri Shortcuts. Suggestions for multi-step shortcuts. MACHINE LEARNING, DRINK. Neural TTS, instead of pre-recorded. Should improve voice quality.

                                  • Back to Craig. Some more stuff they didn’t touch on, like call spam prevention, enterprise SSO, and low data mode.

                                  • Where’d iPad go? It’s special…. it’s now iPad OS. Icon density. Widgets on home screen. Multitasking, slideover. Can peek into another application. Split view. Multi-window for applications. Same app, just split. Works for multiple spaces. Expose on iPad. Works for third-party applications, including Word. Demo with Mail, turning a popover into a split with two mail windows. Files app improvements. Miller columns now! iCloud Drive folder sharing, and…. SMB? USB sticks and SD cards too. Direct camera imports into Lightroom and such. Safari is desktop-class now? Things like Google Docs work too. Download manager, keyboard shortcuts, and more.

                                  • Fonts. Custom fonts! Download from the app store. Multi-touch text editing. Grabbable scroll indicator. Drag cursor. Drag a selection. Three-finger pinch copy, three-finger spread to paste. Three finger swipe for Undo.

                                  • Pencil. It’s pretty low latency - 20ms, down to 9ms. PencilKit API. Markup on any app is easier. Screenshots and documents. Toby on stage to demo. The keyboard can be shrunk by pinching it. To cut, do the copy gesture twice. Shaking to undo still works. Gestures for all this editing should be cross-application. The markup palette is reorientable and movable and closeable. Applications opt-into the full page markup. Back to Craig.

                                  • Back to Tim. Mac! They love the Mac? Oh god, is it the Mac Pro? Holy shit, it looks like a cheesegrater! Like, a real one this time! Tower with a foot, but tighter than the older 2012s.

                                  • John on stage. Customizable. Stainless steel frame. Handles. 28-core Xeon. 300W CPU with heatsink. 2933 MHZ DDR4 ECC, 6 channels, 12 slots. 1.5 TB limit. Expansion. 8 PCIe slots. Four double-wide, three single, one half-wide populated with IO card. Dual 10 GB ethernet. Standard connector for GPU, but a second edge connector a la VLB with power and video ports wired up. Gigantic heatsink for passive cooler. Mac Pro expansion module with multiple GPUs, MPX. Multiple Radeon Pros as option, including dual Vega II on a single card. Dual slot GPUs. Afterburner card for video editing? FPGA that does 6 billion pixels per second.for ProRes codecs. No more proxies? 1400W power supply. Three large fans and one blower. Wheels. ISVs will support this, from video to games.

                                  • David on stage for talking about Adobe stuff on the new-new Mac Pro. And I guess a new version of Logic. Thousand tracks in parallel.

                                  • Back to John. New display. Colleen on stage.

                                  • Lots of features, all in same monitor. Reference monitors aren’t good enough. 32-inch 6K. P3, 10-bit, reference modes, pre-calibrated. Wide viewing angle. Anti-glare. Matte option, without haze and such. Better HDR with advanced backlight. The backlight would require a lot of power, but the rear acts as a heatsink. 1000 nits indefinitely, 1600 peak. 1M:1 contrast. Pro Display XDR. TB3 one-cable connectivity with MBPs. Up to six on a Mac Pro. Fancy stand with counterbalance and tilt. Portrait mode. VESA mount?

                                  • Back to John. Base model: 8 core, 32 GB, Radeon Pro, 580x, 256 GB SSD, 6k$. Rack mountable. 5k$ base monitor, stands and matte cost more.

                                  • Back to Tim. macOS. Craig on stage.

                                  • macOS Catalina. iTunes used to be good, then it got bloated. But people want even more! Splitting iTunes into Music, TV, and Podcasts. Sync is done from Finder instead. Machine learning, drink. You can search the audio of podcasts. 4K HDR video. And those Dolby things.

                                  • Sidecar. iPad as second display for Mac. Pencil works too. Wired and wireless. Support any app that supports graphics tablets.

                                  • a11y. Voice control. iOS too. Full dictation and control over applications. All audio stays local on device.

                                  • Find My…. Combines friends/Mac/Phone. Offline location finding using Bluetooth beacons as relays, E2E and anonymous. Activation lock for Macs with T2.

                                  • Apps. Better photo browser. Start page in Safari. Gallery view in Notes. Redesigned Reminders. Screen Time on Mac.

                                  • Catalyst. This is basically Marzipan. 100M Mac users. They’re improving the APIs to make it feel more Mac native. Available today. In an iPad app in Xcode, just check the Mac checkbox and it’ll add the necessary boilerplate for you to add the Mac specific parts. Games could be ported with this in addition to regular stuff. Rob from Atlassian on stage.

                                  • JIRA on mobile… now on Mac? Native code, I guess.

                                  • Back to Craig. Developers are the biggest pros. Metal and CoreML later, but for now, AR and Swift. RealityKit. What if devs want AR and such but aren’t exactly artists or gamedevs? I guess RealityKit has a native Swift API to do all that. Reality Composer has drag-and-drop and a stock 3D object library for environments. Available in Xcode and iOS. ARKit 3 has people occlusion: real-time layering behind and ahead of people of 3D objects. Real time pose tracking to be mapped into objects. Yeah, Minecraft. (Chief Brand Officer is a thing now?) Lydia and Saxs on stage. AR Minecraft, mapped into the real world. Demo. Shared world.

                                  • Craig. Swift. 450K App Store things in Swift. SwiftUI, a UI framework designed specifically for Swift. Declarative UI. Automatic opt-in to new features. Xcode updated to support this new stuff. Josh on stage. Real time UI preview. Drag and drop/inspectors onto the preview is reflected in code. Maps to MVC? Interactive in the preview, and instant deployment.

                                  • Craig back. You can go into SwiftUI piecemeal. Watch supported. And Mac. Binds to native controls and APIs.

                                  • Back to Tim. Concluding. Betas today. Public iOS/iPad/macOS in July. Final in Fall. Mac Pro and display demo if you’re there. Lots of labs and devs - if you’re there. Thanks to everyone at Apple.

                                  Fin.

                                  1. 3

                                    Related to merging VCSes, but not content-addressability: I was at an industry event for IBM i users. I noticed that throughout the event, people were talking about “change management” tools. I had initially took this to be a reference at VCSes like git, but then I realized sessions talking about it and vendors trying to sell it were referring to something bigger in scope.

                                    From what I gathered, in this world, a change management tool isn’t really just a version control tool with auditing, but many of them appear to be application lifecycle management tools, tracking source and other kinds of object like database schema (which makes sense on i because the DB is integral to the operation of the system and the reason d’etre of applications; not so much the Unix world, where things like this are outsourced to ActiveRecord and the ilk), building them, and then deploying them and managing environments. In a way, it seems actually quite “devops”, somewhat in the tradition of the (increasingly nebulous) word. It’s an interesting concept if it is what I think it is.

                                    However, it seems these tools aren’t as common as they’d make you believe. Leadership at companies forces harmony in tooling like git and Jenkins, and i developers aren’t used to the “stick a bunch of tools stuck together” model, combined with having to rebuild what these tools offer with that. And then a lot of companies don’t even seem to use any tools for this, just developing on production…

                                    I wonder how well this works and how common it really was; if it actually provides structure and process appropriate for a system integrated more tightly than Unix’s grab-bag of tools that we could learn from, or if it’s some bureaucratic nightmare developers actually hate but suits and salesmen love.

                                    1. 9

                                      Please turn JavaScript on and reload the page.

                                      No.

                                      1. 2

                                        They put CloudFlare in for anti-spam - it also broke my RSS reader :(

                                        1. 4

                                          That doesn’t even make sense. How do you spam an RSS feed? Too many people drinking too much Cloudflare koolaid.

                                          1. 4

                                            It’s not anti-spam it’s anti-DDoS. As for why it’s triggering for every user, no idea.

                                            1. 5

                                              If I remember correctly, os2museum.com experienced a steady barrage of DDoS attacks and hacking attempts, and it came to using something like CloudFlare, or not having hosting. (Edit: I believe they block a large portion of Chinese and Russian users as well.)

                                      1. 10

                                        Back when WordPress was released in 2003, the competition was unconvincing.

                                        One of the competitors was Movable Type, which ironically was a static site generated from templates. WP won in part because it was purely database-backed and could be generated dynamically.

                                        Markdown was developed in part as a plugin to Movable Type:

                                        Markdown works with Movable Type version 2.6 or later (including Movable Type 3.0).

                                        1. 3

                                          I originally used Movable Type for a punk rock blog, and migrated to WordPress because it was easier and faster to add new content. Movable Type was a Perl application, and required a rebuild on every change. It wasn’t so bad when add a new individual piece of content, as that page would be build and saved. It was with theme development that Movable Type became clunky. A rebuild was required for every change. The rebuild time really wasn’t that long, but it did not lend itself to small quick changes in quick succession. WordPress was nice because a change/save/F5 was all that was needed to see my little tweak.

                                          Movable Type wasn’t horrible on a rebuild. For new individual content it only rebuilt the content and any tags or category pages needed. Even the full site rebuild had options to limit what was actually rebuilt. If they had made it faster, as fast as Hugo is now, I would have been happier with it and might have stayed away from WordPress.

                                          1. 1

                                            Yeah, I started using a hosted MT blog (hi Symbiandiaries!) then migrated to a (dynamically) generated Blosxom install. I’ve since started using Blosxom in static mode.

                                            Interestingly, MT is still around - https://www.movabletype.com/. I think they pivoted to professional CMS’ a while ago.

                                            1. 1

                                              Isn’t it weird how a fork of b2 because the world’s most popular CMS?

                                              1. 1

                                                What was B2?

                                                1. 3

                                                  A PHP based CMS.

                                                  https://b2evolution.net/about/b2evolution-vs-wordpress

                                                  I actually know the creator of the software, I’ll see if he’s interested in commenting.

                                          2. 2

                                            Bruce Schneier’s blog uses Movable Type. That’s how I found out about it.

                                            1. 2

                                              Way back in the day, so many important/interesting people in the web design and dev world used MT that it still biases my reaction to sites that obviously run MT today, or use a theme based on the old MT default.

                                              1. 1

                                                Was moveable type closed source back then?

                                              1. 18

                                                This is amazing, I love it, and OP if you’re the author, I love you, and thank you for sharing.

                                                An OS is just a piece of software. It’s possible for someone with time and motivation and perseverance to build one for themselves, even if they’re not going to be running it during $DAYJOB. Maybe especially if they’re not going to run it during $DAYJOB.

                                                You can tell a homebrew networking stack when the features list includes ARP support.

                                                We need more people working on homebrew computers and operating systems. Something important in the world ended when the average computer user stopped understanding how it worked. There’s nothing magic, just applied accumulated knowledge and research and a wiki.

                                                Just Start. It’s not as hard as you think.

                                                You can use C, or C++ or Zig or Nim or D or Pascal or C#!! or Go or whatever.

                                                Get a message into the VGA text buffer.

                                                Get some interrupt handlers going.

                                                Just build a thing for yourself.

                                                God damned fantastic.

                                                1. 4

                                                  Reminded of Rob Pike’s Systems Software Research is Irrelevant.

                                                  1. 4

                                                    I always liked how Pike was being very charitable to MS in that article, instead of the Linux crowd that lionized him.

                                                  2. 4

                                                    An OS is just a piece of software. It’s possible for someone with time and motivation and perseverance to build one for themselves

                                                    It is just a piece of software, but it’s not so easy to just “build one for yourself”. If you are doing it to learn OS fundamentals, to get your hands dirty with driver code, or just to relax and toy with systems design? Sure, go for it! It’s an awesome experience.

                                                    But if you are trying to make something viable for use as a daily driver at all, and you need to be able to use hardware that was created after 1996 and not just run in a VM (like, most USB peripherals, network cards, etc.), it’s a job. SkyOS was the only major effort I know of by essentially one person, and that got abandoned for all the reasons you’d guess. Haiku hasn’t been abandoned, but we have about 15-20 regular contributors working on everything from drivers to ports, and it’s only now we’re approaching general viability.

                                                    1. 4

                                                      100% agreed that you shouldn’t expect a one-person project to get you to daily-driver. But I think my point is that you shouldn’t let that stop you - in fact it’s probably better you don’t expect to get to daily driver, because that removes the pressure and lets you focus on building a thing. And building a thing is a human impulse we should celebrate!

                                                      I have gotten myself lost innumerable times in the depressing space around “nothing I could do by myself matters”, which is both true and totally and completely irrelevant.

                                                      Contributing to the mission of Haiku (or Redox or whatever) is awesome, and more people should do it! I really really don’t want to you or anyone to take away from my random rant that you should go do useless projects only and never join a team or a project. Honestly, I assume based on your contributions to Haiku that you’re past the kind of ennui that I’m aiming at, and that’s awesome.

                                                      But the fact that Haiku isn’t going to switch to your first-pass bootloader is okay! Don’t not build that bootloader, build it anyway because bootloaders are cool!

                                                      1. 4

                                                        Sure, that’s a fine goal. It just seems people are getting overly excited about Serenity in a “woah, I’d love to use this as my primary OS, can’t wait for that” kind of way, not a “this is a neat project to hack on in the evenings” kind of way.

                                                        1. 3

                                                          Oh dude, totally, I don’t really understand down-thread at all.

                                                    2. 2

                                                      Not the author, I just thought it was amazing!

                                                    1. 11

                                                      My own VMS history:

                                                      My own exposure to VMS was long before before any exposure to UNIX - partly why VMS and DCL still just “feels right” to me.

                                                      This was back in days when I was using a Commodore 64 with GEOS (with either a 300 or 1200 baud modem! [got a 2400 baud Practical Peripherals brand Hayes clone later]) as my home computer system. Mainly purchased for gaming and productivity, I learned BASIC and later 6502 assembly with it.

                                                      I started using VMS via a dial-up account. The account was owned by the older brother of a good friend who attended the local university, and he didn’t mind sharing it as long as we, and by extension, he, didn’t get into any trouble.

                                                      This was the first real and networked system that I had access to - a large VMScluster. It was also my first exposure to the Internet back in it’s early days. I was able to hold onto that account for quite a long time. A little later during this same timeframe (and connecting via the VAX), I was able to get access on two other networked (non-BBS) systems - PRIMOS and Wang VS. But VMS was “home”.

                                                      Fast forward some years, and I’m a computer science student at the same university, which now hosts a greatly expanded VMScluster (one of the largest in this part of the country as I recall). Computer science (CSE) was part of the engineering department (hence the E in CSE), and we had (essentially only) UNIX (Sun SPARC) systems to use.

                                                      These were not good Sun systems. Or, if they were “good”, they were still terrible. I mean, go ahead, try to get real work done on an IPC’s and IPX’s - usually running CDE, and swapping over NFS. Even switching to twm didn’t make these much more usable. There was a large server you could connect to but it seems it was always overloaded by students and faculty, and you often had better luck trying to find an idle workstation during the busiest times.

                                                      Ocean Engineering (OE) students had NeXT systems (way nicer than the Sun systems). We would sneak in to play with them sometimes, but we weren’t really allowed to. (They were nice enough that I later bought a NeXTstation Turbo for use at home, when I could afford it, which was the first real UNIX system I ever owned, but I digress.)

                                                      At the school, the business technology department (IRM - Information Resource Management) was not considered to be part of the engineering department. These business students used the “real systems” (VMS) for their work. The VMS cluster also ran all the important university software, was the main network gateway and server for the school - pretty much everything ran on VMS. All students could use the VMScluster, but most did only for access to their e-mail with PINE and never really used more than a few basic commands.

                                                      Of course, I had a fondness for the VMS systems, but it was practical as well. It almost always faster, easier to use, better debugging environment, not to mention less overloaded than the available Solaris systems. The DEC C and other compilers were a lot nicer to use than what was on the Sun systems. I did almost all my real work on the VMS system, and the Sun systems were just X terminals open dtterm and run telnet for me.

                                                      I can’t remember what it replaced, but I needed a new computer, and got a great deal on a hefty and powerful (used) VAXstation for my use at home, so I went to the IRM offices to met the System Admins of the VMS systems. I was tickled to see they were all also using X on their desktops - but running VMS (DECwindows/Motif CDE). They explained that the university educational license applied to students, and had me bring the VAXstation in, connected it to the network, and installed VMS on it for me with all the layered products (ALL-IN-1!) under the university license (which if I remember, I had to renew with them yearly). I had also (through other channels) obtained WordPerfect and Lotus 1-2-3.

                                                      Fast forward again some years (I wasn’t there at the time), and I heard that they merged IRM and CSE departments into a single unified computer department, and VMS was the loser in the deal, and everything migrated to Solaris, and many hearts were broken it was wasn’t exactly a smooth transition. Today, sadly, VMS is no longer there.

                                                      Today, I have the ultimate soft spot for VMS, because it was always the environment that was the most pleasant to work with, was always available, and always worked right. In stark contrast, using UNIX was almost always a (very) negative experience, even when I had access to better machines, and it was never the environment that I was most comfortable with. UNIX was a toy for the geeks, and VMS was a system for real work.

                                                      It’s my opinion, at least back in the day, that unless you really prided yourself in being one of those computer geeks (and maybe I was and probably still am, even if it isn’t my primary passion), you avoided UNIX, and I couldn’t see any good reason why anyone would ever pick UNIX over VMS. Later, the only good reasons to pick UNIX over VMS were ubiquity and cost - which are two very good reasons indeed.

                                                      If I could practicably use a VMS desktop (even if it had to be DECwindows/Motif!) as my main desktop system, I certainly would (though I understand that VMSI is focusing on servers only, at least to start, and the last supported VMS desktop configurations are now quite aged.) I have access to an IA64 VMS system, own an old and slow Alpha capable of running VMS, and run both Alpha and VAX VMS in emulation, but sadly can’t say that it’s my daily driver anymore. Even now, almost never does a week go by using UNIX that I don’t think about how much better/easier/cleaner it would be if things were ‘the VMS way’.

                                                      I’m certainly going to call VMSI soon to see what my options are for running it at home, even if I pay to pay for it.

                                                      (Edit: I can’t help but think of the UNIX-HATERS Handbook here. While it’s written from mostly the perspective of the LISP-M and ITS communities, having used VMS extensively before UNIX makes you keenly aware of how terrible the terrible parts of UNIX really are. And even today, while UNIX is not as terrible as it once was, with VMS, the design and construction and the entire feel leads to a different kind of workflow and user experience. Today, UNIX is still basically the same old crusty UNIX at the core, but with lots shiny bolt-on’s. UNIX was grown but VMS was designed.)

                                                      1. 4

                                                        A little side story.

                                                        This was only a local rumor, but, so the story goes, a group students (and mostly ex-students) were using VMS illicitly under the university educational license as a platform for a very-much-not-educational commercial venture, and were shocked by the costs of licensing VMS with all the layered products - which back then was often quite high.

                                                        To get around it, they had a student maintain his enrollment for many years, since it made “business sense” for them to keep him enrolled rather than pay the VMS licensing fee.

                                                        1. 3

                                                          I’m certainly going to call VMSI soon to see what my options are for running it at home, even if I pay to pay for it.

                                                          I would hope that they extend the existent hobbyist program to the x86 version. It’d make a great way to introduce people to the platform, especially if companies using it have issues attracting talent who can work with it.

                                                          1. 1

                                                            Please make this a blogpost. It’s worthy of being one. You can just copy-paste this comment.

                                                            1. 1

                                                              Sorry, mispaste from my RSS reader.

                                                            1. 6

                                                              I really like these stories if refactoring, they’re like contextualized programming pearls. I remember on here a while ago a similar kind and of article on sublime text and mmap. It’d be cool to compile into a sort of “architecture of proprietary software” haha

                                                              1. 4

                                                                There’s quite a bit of proprietary software I know have interesting architecture: some documented well like Windows NT (yes! it’s actually solid under the hood) and less documented, like Unreal.

                                                                1. 1

                                                                  I stole the the idea from the book the architecture of open source applications, but it’d definitely be cool to see into those worlds

                                                              1. 2

                                                                You might want to consider adding the a11y tag.

                                                                1. 2

                                                                  Trying to see if I can get a PR merged, bump a submodule, and bump out new RPMs for a repo I don’t control, all before the week ends.

                                                                  1. 18

                                                                    I am extremely happy that people are actually thinking about the real problems with SQL (not the MongoDB-inspired ones). I am going to monitor progress here, because I have long lamented the badness of SQL.

                                                                    1. 2

                                                                      I’ve always wondered what an RDBMS (good) would look like without SQL (flawed) - maybe it’d be more like QUEL…

                                                                      1. 1

                                                                        Thank you!

                                                                      1. 1

                                                                        I have never done much Perl, but I enjoyed playing with it one spring at university. Who here is using Perl regularly?

                                                                        1. 7

                                                                          I used to work at Booking.com, which has about a million lines of Perl in production. It was good times, I quite enjoyed working with it.

                                                                          1. 6

                                                                            It was my main language from about 1998-2008. I don’t write programs in Perl anymore, but I regularly use perl -ne, perl -pe, and perl -i -p -e on the command line and in scripts.

                                                                            1. 9

                                                                              Same here. Back in the days of “traditional sysadmin” I used Perl for most tasks, be it small processing scripts or CGI web apps. These days Perl has fallen out of fashion and as much as I still like writing things in Perl 5, none of my colleagues wants to touch Perl code, so I end up doing much more Go, or sometimes Python (but I’m not a huge fan of Python).

                                                                              That said, I did manage to semi-sneak some Perl 5 into production a while back, and recently replaced a complicated shell script which was doing all sorts of echo | grep | sed | xargs etc. - I put the Perl replacement up for review and most people said it was “surprisingly readable” and that no other language could have done it as well.

                                                                              Perl definitely still has its place, but there’s too much stigma around it now.

                                                                              1. 6

                                                                                It’s possible to write reasonable Perl, but it’s very easy to make unreadable Perl if one isn’t careful. Unfortunately, sysadmins under duress was the most significant Perl userbase, while not one known for taking time on scripts. (Not helping Perl’s reputation for readability also: JAPH)

                                                                                1. 7

                                                                                  Agreed, TMTOWTDI is both good and bad. Perl lets you take shortcuts, so people take them. PHP is arguably just as bad for this (I guess because it evolved from Perl).

                                                                            2. 5

                                                                              Never tried perl5, but I’ve been using perl6 quite a bit lately and I really enjoy it.

                                                                              1. 5

                                                                                I use Perl regularly, as my “secret weapon” when consulting and/or writing API backends.

                                                                                1. 4

                                                                                  I used perl from 2005-2010 on closed source code (a fastcgi ad-server, of all things). I remember going through the camel book(s) at the same time, and quite enjoy it. I’ll miss the Perl conferences more than the language though. :p I never got to an expert level though, so it can be that.

                                                                                  1. 4

                                                                                    I don’t use much Perl anymore but I really miss how well regular expressions were integrated into the language.

                                                                                    1. 4

                                                                                      2/3 of my regular clients are Perl shops (the third is teaching, and that’s mostly Python), so Perl is basically my dayjob :)

                                                                                      1. 3

                                                                                        I use Perl(5) for fun (personal projects, coding challenges etc).

                                                                                        I’ve broken it out in anger at work for some ad-hoc log parsing stuff too .

                                                                                        1. 2

                                                                                          Not only is it the scripting language I usually reach for, and have since 4.036, but most of the externally facing services on Floodgap.com are written in Perl including the HTTP and gopher servers.

                                                                                          1. 2

                                                                                            I’d just like to take the opportunity to thank you for making TTYtter back in the day!

                                                                                            I still use Oysttyer daily. Best Twitter client bar none.

                                                                                            1. 2

                                                                                              Hey, thanks! :)

                                                                                          2. 2

                                                                                            I believe The Register is still a perl shop :~)

                                                                                          1. 3

                                                                                            Does anyone know if this new WSL implementation requires Hyper-V, meaning we can’t use VirtualBox or VMWare at the same time as WSL?

                                                                                            1. 3

                                                                                              Can someone explain the technical limitation here, that prevents other hypervisors running when Hyper-V is enabled?

                                                                                              I reasonably regularly run Parallels + VMWare + Virtualbox concurrently on macOS, and this “our way or the highway” approach with HyperV approach strikes me as just plain weird.

                                                                                              1. 5

                                                                                                If I understood correctly (but it’s been a long time since I looked into it, so I might misremember or things might have changed), when you run Hyper-V, it will replace the Windows kernel and run Windows within a paravirtualized guest on top of the Hyper-V hypervisor.

                                                                                                Since your Windows is running in a virtualized environment, and nested virtualization is black magic, VirtualBox and VMWare will not detect or be able to access VT-d / VT-x / AMD-V. Effectively, you are not running VirtualBox next to Hyper-V, but inside Hyper-V.

                                                                                                Windows has recently also introduced a new security feature called “Credential Guard” which requires your Windows session to be running on top of Hyper-V, and thus also blocking any other hypervisors from being used.

                                                                                                1. 4

                                                                                                  IIRC, Hyper-V works more like Xen; the host becomes dom0.

                                                                                                  1. 1

                                                                                                    Oh I see, and presumably HyperV doesn’t (or can’t? I can’t say Ive tried it on a Xen vm) embed the cpu capabilities to do ‘nested’ virtualisation (e.g. you can enable Hyper V or run vb/vmware on a windows VM running in Parallels on a Mac, if you enable “Nested Virtualisation” in Parallels)