Great article!

    This got me wondering. How does one enact this kind of ethical attitude towards one’s customer base at scale?

    It’s easy for the author in their situation to deny Palantir, but what about if your company is so big that much of its business is done withough any human in the loop at all?

    Should we try to write intelligent filters that deny service to people of they come from companies we object to? How do we scan for that without unduly discriminating against innocent customers?

    1. 8

      This leaves out a pretty important part of work: you work on a team. Increasingly it’s acceptable for people to work hours that suit them, and for many people that means coming in at 10 or 11. That means they are staying later and they are probably most productive around 3 or 4 or 5. That means they’ll be dropping the most PRs on you then or asking the most questions.

      That isn’t to say that this suggestion won’t work, but you probably can’t just institute it and call it a day. The post doesn’t even mention colleagues or teams.

      1. 14

        This leaves out a pretty important part of work: you work on a team.

        I don’t think it matters whether you work 9-5 or 11-7. If other people on the team are working within a certain time period (such as 11-7), then by all means try to accommodate them by adjusting your hours to overlap with theirs to the extent that doing so doesn’t impact your productivity or get in the way of the rest of your life.

        The fundamental principle is to do a solid day’s work in eight hours or less because unpaid overtime is for suckers. Not only are you not getting paid for the extra hours when you draw a salary, but working more than 40 hours a week reduces the amount of money you earn per hour.

        1. 9

          unpaid overtime is for suckers

          It’s not only stupid, but unethical too. If somebody works overtime without pay, it creates pressure for other workers to do it as well. If you do it regularly, your output gets worse, which means that your employer benefits nothing either. It’s just loss/loss.

          1. 1

            I know that. You know that. Managers refuse to know it. They’d rather make wild promises, letting their egos cut checks that their own asses won’t be called upon to cash.

          2. 3

            This was my take too. 9 and 5 are arbitrary fence posts. The key here is working an 8ish hour day and not a 10ish or 12ish hour day.

            1. 5

              4-6 hours would be better, IMO, but I find myself turning into some kind of dirty long-haired pinko as I approach middle age.

              1. 3

                I would agree if the workday were actually one solid block of nothing but writing code or thinking about writing code. However in the real world (or at least MY real world) the workday consists of that plus a whole host of scheduled and unscheduled interruptions like meetings, chats with manager and coworkers, etc.

                When you add in those things, a 4-6 hour workday starts to look kinda sketchy :)

                1. 2

                  I don’t think it’s sketchy. I think it’s something we should have forced down management’s throat in the 1960s. In the meantime, when you add in the bullshit that comes with a coding job, you end up with an eight hour workday.

          3. 4

            For teams, I think it’s fundamental to estabilish a common ground from the get go. I feel that team members should (ideally) agree on a (flexible as much as possible) schedule that accomodates everyone needs, instead of just individually decide which work hours suite them. Personally, I think that, when other team members depends on some measure of your availability, showing up “whenever you feel like it” is a sign of lack of respect for your peers (and I won’t allow it on my team).

            1. 2

              My team is doing mostly 10-8 (so working more than the 8h/d). Now I usually do 8-4/5 (depending on the work pressure, my commitments, if I took an additional personal time at lunch break …) if a team member throws a PR when I have to leave, I have absolutely no scruples to let it for tomorrow. Once or twice some asked for a review when I was leaving. To that you just have to answer that you’re leaving because you called it a day and that except if it’s critical to have it reviewed it today, it can probably wait for tomorrow.

              To me the teams are not an issue as long as you communicate.

              1. 2

                In my experience it’s better to let important reviews wait for the morning, when my judgement is clear, rather than wave them through at when I’m tired.

            1. 5

              I really enjoy reading write-ups like this where people have made the effort to mechanize solutions to “wetware problems” like this one.

              This particular trap is SO easy to fall into. I particularly like the idea of snapshotting to create context bridges from one day to the next for a particular task.

              1. 3

                Great article! I’d love it if you’d expand on some of these ideas. Can you sketch out what the new world order of typed differentiation between commands, arguments, and flags would actually look like?

                Maybe a follow on post?

                1. 5

                  Although the official developer kit only supported Java, I developed both games using Mirah, an experimental Ruby-like project that compiled directly into Java bytecode.

                  I was fascinated by Mirah when it came out. I’m glad someone used it to good effect!

                  1. 1

                    Oh My Zsh has some killer features but speed is definitely one of the reasons I gave up and switched back to bash. Another reason is standardization - so many shops I work at have fairly evolved bash configs you kinda HAVE to use if you want to be able to do the thing, so it’s not worth fighting upstream over.

                    1. 1

                      I’m in a similar boat, but it was with the grml collection of zsh extensions/scripts. I tried it and loved it a few years back, sticking with it for at least a few months.

                      One day I was forced to use bash again. It felt oddly fast – my prompt would reappear after a command exited much earlier than usual. I did some comparison with my loaded zsh setup and discovered I could really “feel” the difference. What finally clinched it was waiting for zsh to load on a heavily burdened system with runaway disk IO. I felt like I wasn’t in control anymore.

                      I didn’t want to let go of the better tab-completion features (especially using cd when there’s only one folder and many files) and to this day I still get stunlocked occasionally by the lack of them. It’s amazing how quickly some expectations and habits of mine developed, and how long they’ve lasted. But I don’t think I can go back to slowsville.

                    1. 11

                      Really not happy about this. I mean, I recognize that mac gaming is a tiny sliver market anyway, but this essentially will kill the desktop mac games market, although it’ll mean ports from mobile will get much easier.

                      But really, is that what we want? Thank god for Bootcamp I guess?

                      1. 5

                        OpenGL already seems to be an afterthought for most game developers. It’s basically only a Linux/Mac target in practice, no? For Windows, game devs usually target DirectX, and for PS4 and Xbox, there isn’t even OpenGL support. Games today sometimes even run better on Mac using DirectX under Wine compared to using the native macOS OpenGL, although that admittedly makes them less accessible to the average user.

                        1. 2

                          But Wine’s DirectX uses OpenGL as backend.

                        2. 1

                          I assume the major game engines like unity, unreal, and cry, will just emit a Metal taget, like they do for directx and opengl currently? Also, isn’t Vulkan supposed to take over? It seems like OpenGL is just going to die off.

                          1. 2

                            That’s a big assumption. Said engine makers would need to feel confident enough that there will be ROI for them to spend those man hours and dollars that could more profitably be spent on supporting the next next next gen nvidia card or the Playstation 20 :)

                            1. 5

                              Well, MoltenVK is a thing apparently, so I guess if Vulkan does take over, maybe it won’t be /too/ bad as a macos target?

                              EDIT: also looks like (based on very quick searching) that unity and unreal both support Metal as a target already. Being that ios also uses metal, I assume they likely have a vested interest in supporting it there.

                              1. 2

                                You’re clearly way more knowledgeable in this space than I and yeah MoltenVK looks like a thing. Maybe it’s all for the good, I dunno :)

                              2. 3

                                They already do for iOS - Mac OS is trivial after that. It’s no problem for Unity or Epic. It does hurt the little guy with their own engine, however.

                            2. 1

                              It’s not going to stop working, they’re just marking it as no-longer a priority that may stop working in a future update. I can’t imagine anybody is going to be forced to update to whatever future version of MacOS does not include OGL by default. If it’s that important to the industry, people other than Apple will pick up the implementation work. Most professional tools already support Metal and Vulcan, and it seems pretty clear to me that on all platforms, the trend away from OGL is going to continue. Vendors of various rendering and scenegraph libraries can work with their customers to determine what backends they need to support.

                              1. 2

                                Truthfully I’m kind of out of step with that end of things. I was just thinking in terms of all the open source I’ve seen through the years that wanted OpenGL on OSX.

                                Maybe all of it’s been ported to Vulcan or Metal? I dunno.

                            1. 46
                              • The stream has started. Now to the show!

                              • A landscape of the Bay Area. A parody of nature documentaries featuring developers and WWDC.

                              • Tim on stage. More developers than ever before! You’ve made the app store the best! Next month, the app store turns 10. It’s changed the world. World’s largest app marketplace. 500M visitors per week. Next month, devs will have made $100B on the app store.

                              • More people should be programmers. Swift Playgrounds wanted to make it easy to learn with. 350K apps have been written with Swift on the app store. Programming should be offered by every school.

                              • Customer first design. All about software this event across all four platforms.

                              • Starting with iOS. To show what’s new for this yearly major release, Craig on stage. Yup, it’s iOS 12. Of course, free like always. Recap of how iOS improved. Half of customers on iOS 11 in 7 weeks. Currently, 81% on iOS 11. Android at 6% for 8.x. 95% customer satisfaction for iOS 11.

                                • iOS 12 is focusing on performance. No dropped devices - the iPhone 5S is still supported! Older devices will allegedly get a nice boost. For 6S, 40% app launch improvements, keyboard comes up at 50% faster, and camera launches at 70% improvement. Under heavy load, double perf for share sheet and app launch times. CPU clock bursting has been improved.

                                • Augmented reality. USDZ is a new compact, single-file, open format for 3D graphics and animations for AR developed by Pixar et al. File manager offers a quick preview to overlay objects onto the real world. Abhay, Adobe’s CTO, on stage. Adobe CC apps will support this new format natively. New Adobe CC apps and app support for AR authoring. WYSIWYG AR editing. Craig back. AR requires strict measurements. New measurement app in iOS 12 to provide users measurement tools for things with the camera, including 3D measurements, and can automatically detect them. News app can embed USDZ files for interactive animated 3D models in articles. Websites can support it, and even do overlays in actual size. ARKit 2. Improved face tracking, realistic rendering, 3D object detection, persistence, and shared experiences. Multiuser AR. The game shown is an SDK sample you can play with after the show. Lego’s Martin Sanders on stage. AR physical-virtual Lego hybrid ways to play; for example, object detection with Lego sets for iPad games, and having virtual objects interact with objects in the physical world, and they’re playing multiplayer in said game with two iPads in the same shared world. Craig back.

                                • Photos is the next one. Photos app can search for objects in photos, but now there are suggestions, with categories, “moments,” businesses, events, etc. More drilldown options with suggestions for those too. “For You” tab for old pictures, shared album activity, and suggestions for new effects and who you might want to share photos with. Sharing can be done at full resolution, and can suggest to the users you share suggested with to share their similar photos too. E2E encryption with privacy and local ML applied.

                                • Siri. Siri supports third party apps, but add more support. With the Shortcuts API, to allow apps to suggest to the user bindings for Siri to the application, with a degree of customizability. Siri can suggest things relevant in your routine or current events on the lock screen or search. Users can define their own shortcuts from the Shortcuts app. Drag and drop workflow editing in the app. Kim from the team developing the app on stage. She demonstrates both the automatic suggestions and the custom shortcuts. Readymade shortcuts are supplied and can be shared. Plenty of actions, from email to GPS to home automation. Apps can supply actions for workflow editing. iPhone and iPad support, and it can run activities on Watch and HomePod.

                                • Craig on stage. Apps! Susan on stage. News app is curated by editors, and lets you jump to your preferred sources. New sidebar for navigating. Stocks app redone, with better charts and news in app, with relevant news and after hours prices for stocks, and now runs on iPad. Voice memos on iPad with iCloud support. iBooks has a new design and has a store and is now called…. Books. CarPlay now supports third-party navigation apps.

                                • Craig again. He’s talking about how apps send notifications and abuse FoMo to make you psychologically addicted. iOS has some tools to try to help you fight this. Do Not Disturb improvements. It won’t show notifications when you should be sleeping, and let you ease into notifications when you wake up. DND can be set to automatically expire and follow calendar events. Improvements to notifications. You can manage where notifications appear on the lockscreen, and Siri can suggest if you should disable an app’s lock screen notifications. Grouped notifications, by both application and topic/purpose, and can be managed in these groups. Screen time can show you a very detailed activity report on how much time you spend on your device, in both the where and when, so you can make decisions on that. You can set your own limits on using apps. This syncs across iOS devices. He mentions the importance of this for kids and family, and parents can set granularity for content restrictions, time allowances and view their reports.

                                • Communication. Messages. Animoji now support tongue detection. New animoji, like ghost, tiger, koala, and t-rex. Personal custom animoji; where they can look like yourself or whatever else you want. Kelsey from the Messages team on stage. Demoing all this. Effects, animoji, and stickers in camera for Messages, and applied to objects and people in real time. Craig back on stage. FaceTime now supports group chat, up to 32 people at once. FaceTime is integrated into messages, so you can upgrade group messages to FaceTime at any time. Demo of this. Tile size of participants automatically grow depending on their conversational importance at the time, or on your touch. The same effects done to the camera on Messages can be done in real time for FaceTime. iOS, iPad, and Mac, support; with audio FaceTime on Watch.

                                • That’s iOS 12. Back to Tim.

                              • Watch. #1 in customer satisfaction every year. 60% growth. He shares an anecdote of someone using their Watch to call emergency services while they were holding someone. watchOS 5. Kevin on stage.

                                • Sensors are heavily integrated into health stuff. With the biometrics, they estimate people have burnt a lot of calories. Recap of watch fitness features, like competitions with friends and gamification. watchOS 5 adds yoga and hiking to the supported workout types. Rolling mile pace, cadence, and pace alerts. Automatic workout detection so it can start tracking and give retroactive credit in case you forget to start it on device. It does so vice versa for ending the session.

                                • Connectivity. Recap of old features. watchOS 5 adds a walkie-talkie app, for simple PTT voice chat.

                                • Siri watch face improvements. Sports, maps, fitness, shortcuts, and heart rate on it, and are time context sensitive. Third party apps on the watch face. Siri doesn’t need the “hey siri” if you raise your wrist. Notifications can have more interactivity. WebKit supported, so apps can embed web views, and reformatted for small screens. Background audio in apps, and fitness API improvements.

                                • Apple Podcasts supported on watchOS 5. Playback state is synced, and Siri supported.

                                • That’s watchOS 5. Jules from the fitness team will do a demo while biking. Recap of what happened. Bunch of other things, like customizing control centre or air quality monitoring. Student IDs in Apple Wallet. Pride watch band and face.

                              • Tim back. Apple TV. 50% year growth. New stuff in Apple TV 4K and tvOS. Apple TV lead Jen on stage.

                                • Your purchased titles on iTunes were upgraded to 4K, and third parties supported. Atmos support; Atmos manages audio in a 3D space instead of discrete channels? It does both Dolby Vision and Atmos though. iTunes libraries will be upgraded to include that too.

                                • Live news and sports in the TV app, with over 100 live TV channels. Apple TV will obsolete the STB as cablecos embrace Apple TV. For instance, Salt, Spectrum, and Canal+ will be supported, and your channels will appear there. Channel apps will integrate with cableco credentials via SSO, and now you don’t even need that. If you’re on the cableco’s network, no credentials will be required.

                                • More control, You can use universal remotes to control the Apple TV, even using Siri.

                                • Siri can show aerial view locations. ISS views.

                                • That’s the new tvOS. TV app improvements on Mac and iOS too.

                              • Back to Tim. Mac now! New macOS release. Craig back on stage.

                                • What’s in a name? macOS Mojave. Dark mode in applications. Even in Xcode. Dynamic desktop.

                                • Desktop improvements. Items on the desktop can be stacked, and automatically arranged depending on criteria like type, date, or tags. Items can be quickly dragged out of and into stacks.

                                • Finder. New gallery view, for a filmstrip with big preview, and a pop-out sidebar for metadata display and context-sensitive quick actions, including Automator actions.

                                • Quick Look has markup support for quick annotations and editing.

                                • Screenshotting improvements. When you take a screenshot, it pops up a small window in the corner, and clicking that opens it in Quick Look for quick viewing and editing, or drag it into an app or folder. A small HUD can also pop up, and now can do video capture of areas.

                                • Continuity improvements. Apps on a Mac can ask to use your iPhone’s camera in app menus, and camera captures appear in the document.

                                • Apps. Apple News and Stocks on Mac. Same improvements as on iOS. Voice Memos on Mac too, and syncs with Mac and iOS. Home app on Mac, with Siri integration.

                                • Security and privacy. Greater metrics and data permissions checks on Mac apps, now including camera, microphone, mail, and backups.

                                • Safari. He mentions how like buttons and comment fields can be used to track you, and now Safari will counter this. These things will now have to ask for your permission before interacting with you, and thus tracking you. They counter tracker device fingerprinting now too; sites will only get a subset of information by making all Safari sessions look the same. These improvements will be on both Mac and iOS.

                                • Mac App Store. Ann from App Store marketing on stage. Redesined Mac App Store. Similar curation to iOS App Store. Richer app page displays. Apps are categorized by “purpose” like Work/Create/Play/Develop/older categories. Easier to leave feedback to developers. Microsoft, Panic, Barebones, and Adobe making more of their apps like Office and BBEdit through MAS. Back to Craig.

                                • Technologies. Metal. It enables console quality games on iOS, and scales up to Macs. 1B Metal capable devices. External GPU support. Apps that can use multiple GPUs can use eGPUs to scale a lot. Unity demo using Metal to render on a MacBook with eGPU. Machine Learning. Apple offers tools for creating ML models locally on the devices using Swift, no server required, and GPU accelerated. Local device training is surprisingly fast even on the device, and makes for a smaller file size too. Core ML 2. 30% on-device processing for batch prediction, and 75% file size reduction. These APIs work on iOS too.

                                • Are you merging iOS and macOS? No! They’re made for the form factor. They mention native apps with AppKit, web apps with WebKit, and games using Metal. But there’s room for a fourth category…. iOS’ UIKit was designed for their devices UX wise, but they share a common foundation. Now UIKit has been adapted has been adapted to desktop, introducing to UIKit scrollbars, drag and drop, and other essential desktop UI metaphor technologies. While this will require work to adapt iOS apps, it makes it much easier than before, and they’ll feel like native Mac apps. The new apps coming with macOS Mojave will be using the Mac-adapted UIkit APIs.

                                • Favicons in Safari, Mail emoji picker, group FaceTime, APFS imrovements, and many more.

                              • Back to Tim. Recap of the event. A celebration of developers; cut to video. Thanks developers! Bye!

                              1. 1

                                I regret I have only one +1 to give you. The same regret as last year.

                                1. 2

                                  Unfortunately I think I didn’t get to do WWDC last year due to a meeting, so :(

                                  1. 1

                                    Amen. Skimming these notes is tolerable like the video stream never could be!

                                  2. 1

                                    The siri shortcuts and third party app thing is exciting. I’ve long thought that deep app integration is the thing that would make these voice assistants more than just a toy.

                                  1. 1

                                    I wonder what they think of Neovim.

                                    1. 2

                                      Did you check the FAQs?

                                      1. 1

                                        Yes but clearly not carefully enough! :) Thanks for the RTFM.

                                    1. 2

                                      Sent the author a message because this now 404s when you click it.

                                        1. 1

                                          Thanks it’s a great article! Definitely intend to check Neomake and Delimitmate out!

                                      1. 17

                                        This design decision seems pretty hard to defend:

                                        At 1.3 seconds before impact, the self-driving system determined that an emergency braking maneuver was needed to mitigate a collision (see figure 2). According to Uber, emergency braking maneuvers are not enabled while the vehicle is under computer control, to reduce the potential for erratic vehicle behavior. The vehicle operator is relied on to intervene and take action. The system is not designed to alert the operator.

                                        1. 2

                                          “I can’t figure out why, when the emegency stop code is enabled, the car gets all erratic. I know, I’ll just comment it out. Okay, next bug…”

                                          1. 0

                                            Holy smokes this sounds bad!

                                          1. 2

                                            How does one properly back up a SQLite based application like this? Regular DUMP to text files and then put it in S3 or somesuch?

                                            1. 12

                                              There are two options - a shared lock, or the online backup API

                                              https://sqlite.org/backup.html describes both.

                                              1. 4

                                                Much better answer than mine. I’m going to downvote myself.

                                                1. 1

                                                  Thanks for sharing this link. I have been using the “copy” method described by @akkartik for years with no issues, but I can understand why that is risky. I’ll have to look into implementing this in the NimForum.

                                                2. 1

                                                  You can literally just copy the .sqlite3 file(s).

                                                  “A complete database is stored in a single cross-platform disk file. Great for use as an application file format.” (https://www.sqlite.org/features.html)

                                                  1. 1

                                                    How does that work? As in, how do you guarantee that the DB is in a consistent state when you do the copy? Or for a large DB how do you guarantee that the state won’t change DURING a copy?

                                                    1. 2

                                                      Oh yes you have to bring it down to ensure consistency. But that would also be true for the options you listed above.

                                                      1. 2

                                                        I didn’t see any options listed by @feoh, but you probably already know this but I’ll say it for others: DBs like PostgreSQL, Cassandra, Riak, etc provides mechanisms to do backups without stopping your application. At an administrative cost, though.

                                                        1. 1

                                                          It’s a nonissue, lvm volumes can do live snapshots of ext4 filesystems, so can zfs and btrfs and others. Very easy to do live backups of sqlite with no downtime. Sqlite itself has no problem with snapshots as it is designed to be resilient to power failure, which is what that would look like.

                                                          1. 1

                                                            I was referring to “Regular DUMP to text files and then put it in S3 or somesuch?”

                                                  1. 3

                                                    How could they leave out Interface Builder? Perhaps one of the longest lived UI builders still in wide usage.

                                                    1. 3

                                                      The title is slightly misleading - it supports Vim 8.x and later too: …



                                                      Or vim8 with has(“python”) or has(“python3”)

                                                      I’m still using Vim as I haven’t found a Neovim GUI that quite matches MacVim (sad, I know).

                                                      1. 2


                                                        It works on vim8 via vim-hug-neovim-rpc. But vim8 support is still experimental, sice the compatible layer vim-hug-neovmi-rpc is not mature.

                                                        1. 1

                                                          Have you tried VimR?

                                                        1. 7

                                                          > discord

                                                          God please, no!

                                                          1. 2

                                                            Better than slack.

                                                            1. 7

                                                              Of course!

                                                              But why you need to stick to proprietary solutions and make them unreachable on platforms you’re caring about on this community? Wouldn’t be better to just use IRC like civilized people do?

                                                              1. 7

                                                                Trying to convince people who want Slack or Discord to use IRC will get you nowhere.

                                                                IRC is awesome and some of us have been using it since dirt but it ITSELF lacks features some modern users really want - built in search / logging / voice chat / built in image / sound rendering, etc etc etc.

                                                                You can say “Bah that’s all crap” - and I’ll agree with you, but that doesn’t stop people from wanting.

                                                                Personally, I wish more open source folk would explore sollutions like https://zulipchat.com/

                                                                1. 2

                                                                  Direct link to the code for everybody’s convenience: https://github.com/zulip/zulip

                                                                  1. 1

                                                                    I know Zulip but haven’t tried it personally yet…

                                                                    And, more importantly - does it have an IRC gateway? :)

                                                                    1. 1

                                                                      Sort of: https://github.com/zulip/python-zulip-api/issues/106

                                                                      I still like zulip quite a lot, i think its concept of topics does really improve discussions.

                                                                2. 1

                                                                  They have an IRC channel too, and a bot that communicates between IRC & Discord

                                                                  1. 1

                                                                    These bridging bots (between Slack/Discord/Matrix/Telegram/Hipchat and IRC) are quite incomplete solutions, as they can’t do “puppeting” so the bot impersonates all IM users as single IRC user and it’s bad to interact with them in that way.

                                                                    I hope Matrix could solve this in the future.

                                                                    1. 1

                                                                      I’ve been using Matrix for about 18 months, and it does puppeting perfectly when bridging to IRC, from either side.

                                                                      The Slack bridging with Matrix looks to behave in a similar way; you’re almost unable to distinguish native users and bridged users.

                                                            1. 4

                                                              This is a godsend. I’ve been staring at my Indigo2 for months wondering how I’m going to take the next steps in getting it back online. Bam, here we go! Now I just need to get a working SCSI drive and burn these CDs to reset the root password. Thanks!

                                                              1. 3

                                                                Use DINA instead?

                                                                1. 1

                                                                  How will DINA help if @jamestomasino doesn’t have IRIX install media?

                                                                  1. 2

                                                                    It doesn’t but it saves on avoiding the clumsy install process from CDs which involves swapping disks in and out multiple times.

                                                                2. 2

                                                                  I had a full Indigo2 with graphics upgrade that got abandoned in a move. :(

                                                                  At one time we had a Challenge, a Fuel, an Octane (which I still, have, I think, or maybe an O2?), and that Indigo2.

                                                                  1. 1

                                                                    I also have an Indigo 2 and an Indy sitting around in need of various little repairs. I hope this might help me get back into things.

                                                                  1. 1

                                                                    When I was first getting started in my computing career in the early 90s, most of the hackers I hung out with pretty much revered the PDP-10 and the culture that grew up around it with operating systems like ITS.

                                                                    This is a super interesting trove of PDP-10 information, including a PDP-10 version of MUDDLE, the language the original Zork game was written in.

                                                                    1. 4

                                                                      My first sysadmin job ever started out by hauling these beasts into our store room so they could be sent off for scrap, as all the developers were getting PCs running Franz Lisp insted.

                                                                      Kinda makes me sad that all of this is still proprietary as hell. Would love to see them do a ‘hobbyist license’ like DEC -> HP do with VMS so people who want to could play with it legally.

                                                                      There was a VMWare appliance floating around the warez sites a while back, but I’ve reached a point in my life where stealing software isn’t something I’m particularly wild about.

                                                                      Genera’s “You have crashed to firmware” message is still my all time favorite OS crash error: “You are lost in a maze of twisty little passages, all alike” or similar :)

                                                                      1. 3

                                                                        There are some articles floating around on getting Genera or OpenGenera to run on Linux. This article was the last one I saw. I did just find this one. There’s also a Youtube video but it was pretty long with a lot of steps. Just skimmed it to see the author had Genera running. Lot of steps, though, so can’t say how much value it has.

                                                                        Always seemed like Genera could use a pre-packaged and mostly-set-up VM. There’s at least Movitz now if anyone wants a modern, building block.

                                                                        1. 1

                                                                          That is exactly the pirate distro I was referring to. It’s actually OpenGenera running on Alpha Linux.

                                                                      1. 2

                                                                        How much traffic on average does each Netty node process? Kind of interesting that you can get the kind of performance you need out of a JVM app, but I suppose the secret is scale, not individual node throughput.

                                                                        1. 2

                                                                          The way we run it isn’t necessarily indicative of how performant the OSS core version is. We’ve added a ton of stuff to it like hashing, encryption, decryption, auth, metrics, geo etc. that makes us heavily CPU-bound. In terms of performance on the JVM, Netty is really good. They go to great lengths to limit the creation of garbage and use native bindings to optimize moving byte buffers around.

                                                                          Generally you are correct though, it’s not about individual nodes, it’s about fleet size. We tend to favor running more, smaller nodes than few large ones. This lessens the impact of any single node failing and allows us to do incremental rollouts to test new features (i.e. canary testing).

                                                                          1. 3

                                                                            Very cool, thanks!

                                                                            Always makes me laugh when I hear hipsters bemoaning the death of Java, they get so incredulous when you mention that it’s still running everywhere doing mission critical work and shows no signs of slowing up anytime soon.

                                                                            1. 2

                                                                              The local, grocery chain just upgraded to touch screens from their DOS-looking stuff. The menu’s have little coffee icons on top of a weird UI. Gotta be a Java app with its non-native GUI. Most of the jobs out in my area similarly are asking for C# or Java. Stuff is everywhere.

                                                                              1. 3

                                                                                Gotta be a Java app with its non-native GUI

                                                                                I am always baffled by these comments. We are living in a world where almost everything is a web-app (chat, email, documents, wikis, sales processes whatnot) and they all look totally different. Nobody seems to care there.

                                                                                1. 2

                                                                                  On desktop, we should do better, expected better, and we used to be better. But I guess Swing begets Electron in the end…

                                                                        1. 3

                                                                          Terminal within vim now?

                                                                          From the article:

                                                                          The main new feature of Vim 8.1 is support for running a terminal in a Vim window. This builds on top of the asynchronous features added in Vim 8.0.

                                                                          Pretty cool addition. :-)

                                                                          1. 17

                                                                            Neovim has had this for over a year now. Neovim has been pretty great for pushing vim forward.

                                                                            1. 5

                                                                              I wonder if the new Vim terminal used any code from the NeoVim terminal. I know NeoVim was created in part because Bram rejected their patches for adding async and other features.

                                                                              1. 7

                                                                                I have to say, I really don’t care to see this in a text editor. If anything it’d be nice to see vim modernize by trimming features rather than trying to compete with some everything-to-everybody upstart. We already had emacs for that role! I just hope 8.2 doesn’t come with a client library and a hard dependency on msgpack.

                                                                                Edit: seems this was interpreted as being somewhat aggressive. To counterbalance that, I think it’s great NeoVim breathed new life into Vim, just saying that life shouldn’t be wasted trying to clone what’s already been nailed by another project.

                                                                                1. 6

                                                                                  Neovim isn’t an upstart.

                                                                                  You can claim that Vim doesn’t need asynchronous features, but the droves of people running like hell to more modern editors that have things like syntax aware completion would disagree.

                                                                                  Things either evolve or they die. IMO Vim has taken steps to ensure that people like you can continue to have your pristine unsullied classic Vim experience (timers are an optional feature) but that the rest of us who appreciate these changes can have them.

                                                                                  Just my $.02.

                                                                                  1. 2

                                                                                    Things either evolve or they die.

                                                                                    Yeah, but adding features is only one way to evolving/improving. And a poor one imho, which results in an incoherent design. What dw is getting is that one can improve by removing things, by finding ‘different foundations’ that enable more with less. One example of such path to improvement is the vis editor.

                                                                                    1. 1

                                                                                      Thanks, I can definitely appreciate that perspective. However speaking for myself I have always loved Vim. The thing that caused me to have a 5 year or so dalliance with emacs and then visual studio code is the fact that before timers, you really COULDN’T easily augment Vim to do syntax aware completion and the like, because of its lack of asynchronous features.

                                                                                      I know I am not alone in this - One of the big stated reasons for the Neovim fork to exist has been the simplification and streamlining of the platform, in part to enable the addition of asynchronous behavior to the platform.

                                                                                      So I very much agree with the idea that adding new features willy nilly is a questionable choice, THIS feature in particular was very sorely needed by a huge swath of the Vim user base.

                                                                                      1. 6

                                                                                        It appears we were talking about two different things. I agree that async jobs are a useful feature. I thought the thread was about the Terminal feature, which is certainly ‘feature creep’ that violates VIM’s non-goals.

                                                                                        From VIM’s 7.4 :help design-not

                                                                                        VIM IS… NOT design-not

                                                                                        • Vim is not a shell or an Operating System. You will not be able to run a shell inside Vim or use it to control a debugger. This should work the other way around: Use Vim as a component from a shell or in an IDE.
                                                                                        1. 1

                                                                                          I think you’re right, and honestly I don’t see much point in the terminal myself, other than perhaps being able to apply things like macros to your terminal buffer without having to cut&paste into your editor…

                                                                                  2. -1

                                                                                    Emacs is not as fast and streamlined as Neovim-QT, while, to my knowledge, not providing any features or plugins that hasn’t got an equivalent in the world of vim/nvim.

                                                                                    1. 7

                                                                                      Be careful about saying things like this. The emacs ecosystem is V-A-S-T.

                                                                                      Has anyone written a bug tracking system in Vim yet? How about a MUD client? IRC client? Jabber client? Wordpress client, LiveJournal client? All of these things exist in elisp.

                                                                                      1. 3

                                                                                        Org mode and magit come to mind. Working without magit would be a major bummer for me now.