1. 3

    Instead of having a bulky A4000 for tasks you outlined in the commect, couldn’t you just get a little cute A600 with Vampire 600 V2 accelerator (68080 CPU on gate-array, which is a 68060 with fixed bugs and added pipelines, also RTG graphics card beating any MNT product (or any ZorroIII card, but I’m not trying to advocate it over Mediator PCI + Radeon / Vodoo))?

    Soundcard can be added on „clock port” and these are cheaper (and newer, as clockport got developers’ attention pretty recently).

    Of course A4000 is great looking „desktop” machine and I really appreciate it, but currently the only case I would find for it, except some VERY SERIOUS stuff like plugging PowerPC, Mediators, TV cards and so on is to have VideoToaster in it, or other „DraCo-style” setup with few TV/encoding/processing cards, Scala and other video editing software.

    Not to mention you can just simply plug cheap RTL8319/3C589/Prism2 network card into PCMCIA port in A600, add Roadshow to S:Startup-Sequence and release yourself from the need of any other x86 machine, also releasing your CPU a lot from TCP/IP processing from raw serial port

    1. 2

      I have a bunch of other Amigas, I think I have an A600 in the loft, and my A1200, possibly with 2 A500s is somewhere in my conservatory. Of course, I can do things even faster still with a Raspberry Pi, or with WinUAE on my i7 beast.

      This isn’t about performance though, it’s about youth and love. The A4000 was my dream machine as a kid. It’s not something really for me to own, it’s something for me to take care of, to look after until it’s next owner, probably a museum.

      I do miss having a clock port on the A4000 - I was hoping to build an i2c interface that I could use with some temperature sensors to do some kind of power management. That’s a project for down the line though.

    1. 4

      This is one of the aspects of Windows that blows my mind. I mean, relying on each program to do its own updates? To provide its own installer and dependency management? That just seems like a recipe for disaster.

      1. 3

        And it is, actualy. Try to look on some Windows installations older than year or two, especially for non-IT people (to exclude saner options like Scoop, Chocolatey, NuGet…)

        1. 1

          It’s the same on MacOS (Mac App Store is a delirious thing, even more freaky than Java Web Start). Like on Windows, update servers are being hacked to ship malware with updates.

          1. 1

            Doesn’t MacOS have the same issue? As far as I know the only operating systems that handle this correctly are Linux distros and mobile operating systems.

          1. 8

            Also note that guy develops SumatraPDF too, which is probablyy most safe (I mean, as safe as it can gets) and lightweight PDF reader for Windows, greatly overperforming hogs like Acrobat or Foxit.

            1. 1

              God, I remember when foxit was the “lean alternative” to acrobat. The bloatware ratchet turns again.

            1. 3

              Well, this guy could just use vbcc (and vasm/vmlink) instead of fscking around with long-bearded and tangled GCC toolchain which nobody likes.

              1. 2

                And what libraries? That was the over reaching gripe. All the bits are scattered to the winds of time.

                1. 2

                  This post reminded me of your comment about development on Amiga (which also has 68000 CPU).

                1. 14

                  Seems like he completely missed Nix and this makes a whole article a bit more questionable

                  1. 5

                    This was what I was going to say. Switched to Nix and I never looked back. Ok, Darwin is definitely second-tier on macOS (because it has fewer active contributors), so you have to fix things once in a while. Especially combined with home-manager, Nix has large benefits: e.g. on a new Mac, I just clone the git repository with my home-manager configuration, run home-manager switch and my (UNIX-land) configuration is as it was before.

                    1. 2

                      I wasn’t aware that Nix could be used for this kind of purpose! I’ll have to look into it.

                      1. 1

                        I tried to live the Nix life on Mac, but a package I absolutely needed wasn’t available for Mac and creating a package turned out to be a lot more work than I was willing to put into it. The Linux version of the package actually modifies the binary, I guess to point it at the right path to find its libraries (which seems to be a fairly common practice) and doing the same thing on a Mac was… non-obvious. With Homebrew it’s a one-liner.

                        1. 1

                          Just out of curiosity: do you remember which package?

                          1. 2

                            Dart, the programming language. Here’s the nix file: https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/interpreters/dart/default.nix. The binary is patched on line 62. I have a branch where I added the latest versions of the interpreter for Linux but I had hoped to also support Mac since that’s what I use at work. I should probably go ahead and PR the Linux stuff at least, I suppose.

                            1. 1

                              FYI, here’s my PR for the Linux versions :-) https://github.com/NixOS/nixpkgs/pull/60607

                        2. 5

                          There’s also pkgsrc (macOS), though it’s very hard to say how comprehensive macOS support is there.

                          1. 5

                            The best thing about MacPorts are all the patches we can re-use for nixpkgs. The few times I had some troubles with packaging, there was an answer already in their package repository. Major props to their engineering skills.

                          1. 2

                            Let’s consider you’re a reckless dude who thought a swap partition is unnecessary or just forgot about it during installation. Worry not, at least if you’re on linux

                            # cd /
                            # dd if=/dev/zero of=/pagefile.sys bs=1G count=8
                            # chmod 600 /pagefile.sys
                            # mkswap /pagefile.sys
                            # swapon /pagefile.sys
                            # $EDITOR /etc/fstab #optionally
                            
                            1. 4

                              Hmm, I wonder where I have seen that filename before :)

                              This approach is quite nice because it makes it easy to resize the swap. One downside is that suspend-to-disk won’t work if the disk is encrypted.

                              1. 1

                                This is extra fun especially on CoW filesystems like ZFS: you’re out of memory and need to swap… and you reach into the filesystem to write… whoops the filesystem needs more memory for itself…

                                1. 1

                                  Apparently it’s (probably) reliable if (and only if) you turn all the ZFS features off & make sure to pre-allocate the file on disc. So no compression, no checksums, no data cache. Turn on any of those and you’re going to get deadlocks under memory pressure though.

                                  (The FreeBSD people have run into exactly the same problem for the same reasons.)

                                  1. 1

                                    Gp has an interesting point re:cow filesystems - and you probably shouldn’t use a zfs file for swap. Otoh zfs also is a volume manager - using a zvol should be fine. However, it appears Solaris special-cased swap (avoiding dead-lock, trading for the option of swap bit rot…). So it appears one would be better off with a separate partition for now:

                                    https://github.com/zfsonlinux/zfs/issues/7734

                                    1. 1

                                      zvol swap on FreeBSD is not fine, I have deadlocked that :D

                                1. 4

                                  The other day after reading one of these gopher articles, I had an idea about creating an alternative internet based on .org files (from org mode) served over http(s), which I think would be easy to implement and might offer more useful features than gopher.

                                  Instead of parsing and displaying html, css, and javascript, the browser would parse and display .org files. The format is similar to Markdown, but has more features. As a benefit, the “raw” files would be easily readable in a “normal” browser.

                                  There’d be some questions to answer (how to handle code blocks, user input, etc.), but I think it’s an interesting idea.

                                  1. 2

                                    The problem is, no one can parse Org files properly except Emacs, it’s not a format made for interoperability..

                                    1. 1

                                      I don’t think that’s really a problem - a client selected subset of org would work just fine. Most org features are no more difficult to parse than markdown. The GitHub org-mode renderer might be a good starting place.

                                      org-mode features that are insecure or impractical for online content (like embedded code snippets), can be dropped by clients that don’t (or don’t want to) support them.

                                      The key idea is a minimal markdown language somewhere between org-mode and markdown, delivered over existing HTTP infrastructure. A “good enough” org parser and renderer is several orders of magnitude easier to implement than an HTML parser/render, and that would go a long way towards ending the near duopoly of Firefox and Chromium.

                                      1. 2

                                        I’ve been working on an org-mode like for my own use (on my blog). I say org-mode like since it has several extensions from org-mode. Some of the deviations are pass-through of HTML (like Markdown) and some other #+BEGIN_ type blocks (like #+BEGIN_EMAIL since I do quote the odd spam email I get from time to time) and a few custom #+ATTR_ attributes. I also changed how tables work, since I don’t like how org-mode handles them (I do #+BEGIN_TABLE using tab separated values), and the ability to expand acronyms like HTML to <abbr title="HyperText Markup Language">HTML</abbr> on a per-document basis (not enough people use <abbr> in my opinion).

                                        Oh, and I do support emedded code snippets as well (they get rendered, not executed).

                                  1. 2

                                    Having “google” referenced directly in examples doesn’t make my happy at all. It might be some sort of paranoia, but combining it with AMP (shh, don’t give ‘em ideas) might just “harden” the “bubble” of services from Google and partners and the rest of Internet

                                    1. 1

                                      Why npm just allows non-executable stuff to be packaged? There’s no any kind of quality control, right?

                                      1. 9

                                        It is perfectly normal to package static resources such as fonts, stylesheets, images, icons or even license files which you may be required to do. The same example could be extended to any language and the answer would be “because people need to do it” as well. And when it comes to why it is the npm that always seems to have those problems note that other similar services like PyPy are also a subject of similar stories from time to time it is just that people like to joke about it (which is well deserved I think).

                                        1. 5

                                          You’re right about PyPy - I’ve seen modules that try shell out to sudo apt-get install [some package they need] when their code is imported. There are definitely some of the same problems as with npm, but I think due to Python’s much bigger stdlib the badly-behaved modules are less likely to get into the dependency chain of a major project.

                                      1. 3

                                        Just because you can do this, doesn’t meant you should. And in this particular case, no one should do that.

                                        Actually, why is it even allowed? What went wrong? My head is exploding now…

                                        1. 0

                                          The only benefits from these “attempts” to detect (and maybe protect people from) what is actually a completely natural thing are, ridiculously, their data sources or scrapers made to retrieve NN learning sets.

                                          1. 33

                                            Am I missing something, or is that a whole article? Looks like an excerpt or preface though :)

                                            But from what I see, your problem isn’t a vim itself, but rather plugins and overloading yourself with them. A common mistake for Vim newcomers is that they come in and just skip the vi grammar part (calling it “the boring theory stuff”) and trying things too hard. Then they discover plugins and – more importantly – plugin managers, which lower the bar dramatically. Within such conditions, they start to feel “safe” and install as many plugins as they can handle to mimic their previous IDE, their colleagues’ IDE or any IDE they pretend to be better from, just to show off maybe.

                                            And after all, you end up with a pretty much beefied up editor which you don’t really know. Okay, well, you know how to open it, type the text, save and call it a day. You know “how”, but now “why”.

                                            In every editor which has been thought reasonably from the ground up (not just vi - it could be emacs, joe, sam, acme, kakoune, vis, CygnusED, EDLIN…) you need to understand the rules. It’s like speaking in new dialect of your language or swimming - won’t come overnight which sounds unpleasant in age of instant grafitication, but its long-term benefits are hard to overlook.

                                            So, in other words (or as people say these days - tl;dr), your problem is that you don’t grok vi (or any other editor, as I said).

                                            Of course, if you want to just click ok and go on with things, you might just spawn up your web browser^W^Wtext editor called vscode, throw a ton of plugins on yourself and cheer. Would be that faster? Maybe. But only in short-term goal or if your project isn’t going to last more than year or two (which is a standard nowadays). Or if you just don’t want to “spend time on these neckbeardy things”.

                                            1. 3

                                              So, in other words (or as people say these days - tl;dr), your problem is that you don’t grok vi (or any other editor, as I said).

                                              I’m not sure how these words hold up to someone who calls himself a “VIM master from using others’ plugins to rolling out my own”.

                                              After seeing some colleagues working at lightning speed with PhpStorm I gave up thinking vi(m) is always faster, especially on the cases the OP mentions like renaming/refactoring classes, functions and files in a big project. The reason I still use vi for everything, is because today I mainly develop in C, which is natively supported in vi and because I can use vi for everything, not only development but also sysadmin, mail composing etc.

                                              1. 3

                                                You said what I was thinking in more words.

                                                1. 2

                                                  Am I missing something, or is that a whole article? Looks like an excerpt or preface though :)

                                                  This is ‘part 1’, so I presume they split it up to increase their exposure, which means we will probably see part 2, 3, 4,…,N of this poor article here over time.

                                                1. 14

                                                  Vi is powerful (and I love it!), but I don’t think it rocks. All these snippets are composed from useful primitives, but the primitives themselves aren’t easily discoverable. I’m not saying I want Clippy as a vim plugin, but when I’m doing something repetitive and there’s a better way to do it, it would be nice to get a hint that there’s a better way to do it.

                                                  1. 5

                                                    I agree with this. Vim introduced a lot of good ideas, but it’s very, very far from the ideal modal editor in any capacity. But we don’t see all that many iterations of modal editing in the same way we do other text editor features.

                                                    1. 2

                                                      In your opinion, what’s a more ideal modal editor than vim?

                                                      1. 6

                                                        The one in my imagination :(

                                                        I’d say the two biggest improvements the ideal modal editor would have over vim are:

                                                        1. Go noun-verb instead of verb-noun, like how Kakoune does it.
                                                        2. User-designed modes.

                                                        I really like what Kakoune does, but it’s missing some existing features I want, like a plugin system and a Windows version.

                                                        EDIT: I guess I’d also really like a more central focus on the idea that keystrokes are effectively a DSL and take advantage of that. Like making it easy to undo both actions and specific keystrokes. Not only should I be able to undo d3w, but I should be able to undo just the w and return to the state where I’ve already typed in d3.

                                                        1. 1

                                                          What would you want from a Kakoune plugin system? There’s already a fledgeling ecosystem and some third-party plugin managers if you want something fancier than bare git submodule.

                                                        2. 3

                                                          vis tries. sam is not strictly a modal editor, but it’s also interesting.

                                                          1. 2

                                                            I’ve been using vis exclusively for 3+ years now, and started before sam expressions or even lua support. It still kicks in for me, and I didn’t encounter any bugs in a long time. sam expressions coupled with multi cursor makes it feel so powerful and smooth.

                                                            I’m definitely keeping it over vim/nvim/whatever!

                                                            1. 2

                                                              I tried getting into vis for a bit, because the core idea of a lightweight editor with sam-like editing language and multiple cursors is quite neat. Unfortunately I kept running into rather basic bugs, and as far as I can tell the project is unfinished and abandoned.

                                                              1. 2

                                                                vis isn’t abandoned

                                                                It’s just a one-man show, where the man had some other things to do (e.g. life). Also, last commit is from February, I wouldn’t say is “abandoned” by that.

                                                                And… I don’t think there’s much to do on this project. It got feature complete at this point, and every other feature you might want is just a matter of few lines in Lua hooking here and there.

                                                                1. 1

                                                                  Ah good to hear. Earlier this year it was easy to get a different impression.

                                                        3. 3

                                                          Okay you just gave me the idea to make a clippy vim plugin. A horrible idea.

                                                          1. 3
                                                            1. 2

                                                              I swear, you can’t create anything new these days lol

                                                          2. 3

                                                            You could try a self-documenting editor.

                                                            1. 1

                                                              DIsagree. Just because it’s not perfect and you can conceive of something better doesn’t mean vi doesn’t rock for those of us who simply want to leverage its incredible power in creating hyper efficient editing workflows.

                                                              In short. Vi may not rock for you because you have the vision for CoutEditor in your head. Great. But for many of us, discovering quantum leaps in editing efficiency which Vi can provide does indeed make it rock.

                                                              I’d also argue that the book Practical Vim can be a tremendously useful tool in the discoverability arena.

                                                            1. 8

                                                              Just to name a few:

                                                              • vis: https://github.com/martanne/vis – in a scale between vi and vim, this one is “vi, but actually sam”, also dropping that crappy vimscript which shouldn’t ever happen in our timeline, replacing it with more sane and common Lua
                                                              • kakoune: https://github.com/mawww/kakoune – quite different approach, calling itself “vim in less keystrokes” but in fact it’s turning the tables down in terms of text editing efficiency, making “selection” a first class citizen. Doesn’t have any own scripting language except some imperative config statements, but you can call %{...} almost everywhere and pass the control to any other program/language interpreter you want. By default it’s shell, and kakoune exposes a comprehensive set of local variables to each shell session, helper functions and – most importantly – control socket. True “UNIX as IDE” philosophy, instead of putting the user in bubble of “plugin for everything” and “i control the world using my editor” bubbles
                                                              • joe: https://joe-editor.sourceforge.io/ – “Joe’s Own Editor”, very opinionated but worth trying. Quite different, but very capable beast which can be turned into any other editor, but by default it sits somewhere between WordStar, early Emacs and EDIT.COM. If you’re not really convinced, check out Bisqwit’s YouTube channel where he live-codes in his own fork of JOE running on MS-DOS (in 2019!) and doing wonders, especially this video with NES emulator livecoding
                                                              • micro: https://github.com/zyedidia/micro – “micro editor”, most “noob friendly” on this list. Made to “modernize” the experience of nano editor, also rewriting it in Go, most probably for portability and exercise. Uses CUA keybindings and doesn’t have many options to configure, consider it as a notepad.exe in tty.

                                                              I would like to know about other nice projects which started to grow in recent years. But please, don’t fall in the “meme” of “editors” which are actually someone else’s configuration for any other editor, like SpaceMacs or other crap like that. Know your tools.

                                                              1. 1

                                                                Thanks! These are great. I’ll report back with any other text editors I find. vis and kakoune look really cool. I kind of just want to do the exercise of writing my own basic text editor at this point. But I’m looking forward to trying these out.

                                                                1. 1

                                                                  vis right now is really solid, and the maintainer, martanne, has just come back from a period of silence, so hopefully it will keep getting better.

                                                                1. 9

                                                                  God… Where are we going? What would be end of that? And, if Google somehow gains the “ultimate power” where no one else could do anything significant on the web, what they’ll do?

                                                                  1. 2

                                                                    You can easily pull this off in (neo)vim as well. Just put the following in your config:

                                                                    if strftime("%H") >= 6 && strftime("%H") < 20
                                                                        set background=light
                                                                    else
                                                                        set background=dark
                                                                    endif
                                                                    
                                                                    1. 1

                                                                      But how do you make it automatic/time-aware?

                                                                      1. 2

                                                                        Stick it in an autocmd.

                                                                        1. 1

                                                                          autocmd isn’t running in the background, it doesn’t have a time events too, IIRC.

                                                                          1. 3

                                                                            Why do you need it to run in the background? Just that above code in a CursorMove/InsertEnter/etc. should be fine. It won’t toggle the colour for open Vim sessions that do nothing, but that doesn’t strike me as a huge deal for most cases.

                                                                            You can do it with timers if you really want to; see :help timers. In general I avoid using async stuff in Vim (timers, jobs, channels) unless there is no other option (“feature of last resort”), as I find it makes debugging much harder.

                                                                    1. 18

                                                                      I cannot go on the web without uMatrix.

                                                                      Edit: link format

                                                                      1. 2

                                                                        I’ve been using uBlock Origin for years now. Going to check out uMatrix!

                                                                        1. 2

                                                                          They’re talking to each other and work very well together, to be honest I can’t live without any of them :P

                                                                        2. 1

                                                                          Seconded. uMatrix’s choice of allowing on-domain JS means that most reasonable websites work out of the box, and for the mostly reasonable ones you might have to whitelist a cdn domain, and that’s it.

                                                                        1. 1

                                                                          I’m almost sure it’s only made to give excuses to low-effort HR departments and LinkedIn head hunters :D

                                                                          1. 0

                                                                            To ja zaczekam na Adę na LLVM

                                                                            1. 2

                                                                              Ale to nie jest język do tego :)

                                                                              1. 0

                                                                                Nie rozumiem, a do czego jest ADA. LLVM to tylko narzędzie do tworzenia przepływów i AST

                                                                            1. 12

                                                                              The only issue I have with Irrsi which WeeChat handles perfectly is a lack of proper documentation for API and commands - for example, there’s no list of built in statubar items with their descriptions. Themes are also a work of continuous trial and error.

                                                                              It’s really weird, regarding the fact that irssi is 25 years old right now, more or less, so it had enough time to be documented like a boss. But this might just a spark of wild 90s where no one cared about docs, but people learnt irssi from each other’s and knowing it was somehow the “common knowledge”, keeping the details away from users would be also a way to prevent “lamers” from doing anything beyond average use unless they can read the source code, which isn’t a piece of art either.

                                                                              Yes, I had to read an irssi source to understand how to configure it in the way I needed to. And no, this is not a “self documenting code”.

                                                                              1. 4

                                                                                thanks for checking out the changelogs ever now and then.

                                                                                sometimes even complete documentation still leaves me confused…

                                                                                however I do not believe there was any intention to fight off lamers ;) rather simply no one has the time or passion to contribute good docs

                                                                                1. 1

                                                                                  If you don’t mind me asking: Why are you using Irssi and not Weechat, then? I switched from Irssi to weechat years ago (when it seemed like Irssi had nothing to offer over weechat anymore) and may be out of the loop in terms of new Irssi developments I’m missing.

                                                                                  1. 1

                                                                                    I didn’t say that I use irssi anymore… :) Switched to WeeChat in ~2010-2012 (that 0.4.x version branch which lasted quite too long), but I’m occasionally checking out irssi changelogs and the program itself.

                                                                                    (and I’m quite missing it, especially the formats system)

                                                                                    1. 1

                                                                                      Same here, made the switch around 2014. Even Irssi seems have lower memory footprint on start, it randomly run into memory leaks after running for a while. Weechat is on the opposite, consuming lots of ram on start and didn’t quite increase after couple of months.

                                                                                      1. 3

                                                                                        Wow – I have run Irssi for literally years at a time without leaking. My setup is barely customized though.

                                                                                        1. 2

                                                                                          My friends and I have a running joke where our reaction to beefy computers are, “What, are you gonna run ${MUTUAL_FRIEND}s Irssi or something on it?” Thanks for reminding me about how that joke originated!

                                                                                          1. 2

                                                                                            I think you haven’t used plugins and their scripts too much :)

                                                                                            The memory footprint stability is quite new, I remember when WeeChat had memleaks and really choked up one of my machines (which wasn’t that weak), mostly because it couldn’t keep up with buffers.pl. At the end, FlashCode decided to rewrite that de facto standard script as a WC builtin. Same foriset and fset.

                                                                                            1. 1

                                                                                              we are not aware of any leaks and if there are some we want them fixed