If you’re already using emacs, nothing beats magit IMO. Extremely powerful, extensible (i.e. magithub for Github integration and in active development after a successful Kickstarter campaign by maintainer Jonas Bernoulli. Highly recommeded!
Agree. I think magit ranks up pretty close to my favorite piece of software ever. Everything is so efficient it improved the way I commit code. Rewriting is so nice.
A snippet for your .emacs:
(if (version< emacs-version "25.3")
(eval-after-load "enriched"
'(defun enriched-decode-display-prop (start end &optional param)
(list start end))))
can anyone explain why I would be interested in this? or provide some context? otherwise this just seems like a badly written teaser ad.
The ThinkPad line has a long history of being known for build quality and reliability, particularly in the era when they were built by IBM, before being sold to Lenovo. This was epitomized by a ThinkPad that survived a fire. Additionally, in the older era of Linux driver compatibility, where buying a laptop was fraught with peril, ThinkPads had a reputation of being a safe bet. They would reliably work, or could be made to work with minimal tweaking. There is even an entire Wiki dedicated to this.
There is an insane aftermarket for still-working, 2010-era ThinkPads, especially those that can run without Intel’s Management Engine. People have gone to great lengths to upgrade these with newer CPUs (that they were never designed for), higher resolution screens, and all sorts of other interesting and inspiring upgrades.
A lot of devotees (ala Apple fans) look back fondly on the earlier era of ThinkPad hardware, and in doing so focus (rightly or wrongly) on some of the aesthetic aspects of the laptops of that era:
So on and so forth. You get the idea.
Two-ish years ago a half-joking product designer (engineer?) at Lenovo wrote a blog post asking what people might want in a “Retro” ThinkPad. The post went viral, so they did a followup of 4 surveys asking people for opinions on the specifics of what it would mean for a ThinkPad to be “retro” to them. Sort of saying “Okay, we went viral, that’s cool, but it was just a poorly-thought-out brainstormed idea. What do you people really want?”
I’m looking for these supposed leaks right now, but based on this post its safe to say the idea is that they are actually following through on a production model based on those surveys.
On a personal note: I am a ThinkPad fan, but not quite the devotee that many others are. During eras when the hardware was not to my liking, I have purchased elsewhere. I do enjoy my X1 Carbon 3rd Gen (from 2015) but the last time I used one before that was 2008. Oh, and this is definitely one of the coolest laptops keyboards I have ever seen.
I could see an argument, however, for this not meeting Lobsters’ bar for a quality topic of discussion. It’s not even a proper release of any sort. More of a psuedo-product announcement via acknowledgement of a leak.
There’s a certain nostalgia factor which I think overlooks the actual tangibles. Thinkpads, the X1 carbon line especially, have indeed gotten thinner and lighter, but it hasn’t been all bad. Here’s a T60 review for comparison: https://www.pcmag.com/article2/0,2817,1933653,00.asp
You can literally stack two X1 carbons on top of each other and they’re still thinner and lighter than a T60. Despite this, the T60 has only a 5:15 battery life. I doubt people are actually clamoring for a laptop that weighs twice as much and gets half the battery life, but “they don’t make em like they used to”. And while the T60 has a 4:3 1400x1050 screen, even in the vertical that’s less pixels than 2560x1440. At $2599 (in 2006 dollars!), that’s a bit spendy.
For more fun, the T40 review: https://www.pcmag.com/article2/0,2817,924264,00.asp Back when turning off the wifi was how one ran a proper battery test. All this can be yours for only $3399.
At the time, the Thinkpads were marvels of engineering, so I’d say that contributed significantly to their mystique. But familiarity breeds contempt. When everybody has a sweet laptop, nobody has a sweet laptop. Carrying a laptop, of any sort, just doesn’t signal serious baller to everyone in the room like it used to.
I mean, it’s not like super expensive super powerful laptops are entirely extinct. You can buy the Acer Predator with 64GB RAM and dual GTX 1080 graphics and quad nvme SSDs. http://www.anandtech.com/show/11532/acer-predator-21-x-laptop-with-curved-display-now-available-only-300-to-be-made Just in case today’s other laptops are too thin and light for your taste. :)
Where the older Thinkpads really shine is their durability. Old Thinkpads and those from the last twoish years have magnesium cases, but for a few years after Lenovo took over the line they used plastic for the main body, which I think is where a lot of the “Lenovo ruined the Thinkpads” sentiment comes from. I have a 2012-vintage plastic Thinkpad, and definitely doesn’t survive Sudden Loss of Altitude near as well as the T60’s.
Also the year after mine they switched the keyboard to some chiclet crap, which they haven’t had the sense to un-break yet.
Unfortunately for you, I think Lenovo has a lot of market data that morons like myself actually prefer the new keyboard now that we’ve used it for a bit. :)
Everyone’s entitled to their preference, especially when it’s wrong :). With luck, they’ll make the retro keyboard with the same mount as the newer laptops so they can be swapped out.
This is spot on. I bought my first MacBook in late 2013 when I needed more processing power than my 2007 Core2 Duo T61 wouldn’t do the job anymore. I upgraded that laptop from 2 to 4 to 8gb RAM, from a 60gb HDD, to a 256gb HDD, to a 240gb SSD. When the battery had hundreds of cycles on it and was only around 50% of its original capacity, I bought a new unused one on eBay for $70 and it was like new.
I gave it to my mom when I got my MacBook. She loved it for how it always just worked, up until it conked out a few weeks ago. 10 years.
Man, I loved that laptop.
My main machine I use regularly is a 2009 Thinkpad X301 which I use to SSH into a newer Thinkpad which has a much faster processor and more RAM, but a terrible 16:9 screen and a dramatically worse keyboard. Being able to have the equivalent chassis of an X301 but with a non-glossy screen that’s bright enough to use outdoors would basically be the best of both worlds.
For years I only bought tiny, slow laptops (various eBayed Thinkpad X-series, and later an 11-inch Macbook Air) and used them as basically SSH clients to my desktop Linux box. I’d probably still be doing that if I hadn’t ended up with a couple work-issued Macbooks Pro.
My main machine I use regularly is a 2009 Thinkpad X301 which I use to SSH into a newer Thinkpad which has a much faster processor and more RAM, but a terrible 16:9 screen and a dramatically worse keyboard.
Considering how dire the X301’s panel is, that’s an indictment of modern ThinkPads there.
The first blog post and the subsequent ones give a good insight as to why ThinkPad fans are ecstatic over this. Have a look at the comment section as well, there’s loads of good comments on why a retro ThinkPad would be awesome.
Can’t believe that it’s already been 2 years since that first blog post. Got a T460s (and have had X200, X230 and T430 and serviced quite a number of other models) and while it’s a nice laptop it doesn’t quite live up to my expectations.
On my android with firefox i get the following results:
Within our dataset of several hundred thousand visitors, only one in 200652.0 browsers have the same fingerprint as yours.
Currently, we estimate that your browser has a fingerprint that conveys 17.61 bits of identifying information.
How do you guys stop people tracking you on the internet?
How do you guys stop people tracking you on the internet?
Tor browser (note that their fingerprint doesn’t include IP address), or you don’t. Welcome to the modern Web.
So, the only way to protect from fingerprinting is Tor? There must be another lighter-weight solution out there…
And now also CanvasBlocker…
I often pop open a clean Chromium (using chromium --temp-profile) or create a new Firefox profile if I’m visiting sites that for some reason don’t work/don’t want to fiddle with uMatrix settings to get it to work.
And of course, Tor Browser for an easy way to browse sites that I really don’t want to know me. And in the extreme that I’d want to be even more secure I’d make a Raspberry Pi dropbox with a wifi dongle and set it to run a VPN (or just SSH) as a tor hidden service and drop it with a battery near a coffee shop/McDonalds/library. …or use my Ubiquiti NanoStation to connect to an open wifi a few hundred meters away…
Having so many extension that inspect and intercept all network requests is unfortunately really bad for browser performance (and the JS/C++ context switches for everyone of those really add up). I recommend picking one of those blockers and figuring out how to make a restrictive superset.
Alternatively you could blocklist/nullroute things via /etc/hosts or somewhere else deeper in the network stack. Gives you free anti-tracking in your other applications too.
Thanks for the advice – I’m well aware of the cost, but in day-to-day use it’s not really noticeable.
Haven’t gotten around to setting up hosts files on my PCs/the gateway but I should find time to do that soon…
Thanks for Privacy Settings addon. I fiddled with about:config for some time, but the addon is much more convenient.
NoScript for Firefox on Android https://noscript.net/nsa/
What is the “Hash of canvas fingerprint” value I see in the test? For me it carries the bulk (10 bits out of 18) of the information they report. The rest of the parameters I see seem to be data that applications need to function correctly, so I don’t think it’s feasible to block that.
http://cseweb.ucsd.edu/~hovav/papers/ms12.html
You may consider enabling certain features on a per-site basis. That means unneeded features won’t be exploited on sites where you don’t care about webgl animations and your fingerprint will not match across all these sites.
Had the same problem; just installed CanvasBlocker and while it doesn’t change the conclusion of the test, the hash changes on every test meaning that it just got harder to track me.
First of all, great idea!
An easily recognisable, multilingual WiFi4EU portal will provide users with a free, secure high-speed internet connection.
Captive portal? Great… the portal doesn’t provide access, it blocks it (at first) requiring you to jump through hoops… Would be much simpler not to have any obstacles when connecting, no need for multi language anything.
To ensure that the financial assistance does not distort competition or deter private investment, only projects which do not duplicate existing private or public internet connections are eligible.
I’m not entirely sure what this means…
Captive portal? Great… the portal doesn’t provide access, it blocks it (at first) requiring you to jump through hoops… Would be much simpler not to have any obstacles when connecting, no need for multi language anything.
Not sure that they mean captive portal, I read it as “portal” being a word used for describing a single node in the system (or multiple, but at a fixed geographic location). Not captive portal but in the sense that the access point is a portal to the internet.
And yes, great idea. Last year I came home from a 6 month trip around Colombia and Costa Rica, and I was impressed by the amount of free public wifi spots in public places (usually around a plaza de armas) in Colombia.
It smelled a bit of a lack of funding and lack of maintenance but not any more than I’d expect from a similar setup in a fairly harsh climate (warm, humid, sunny and dusty) and from large scale projects like that. Not much recognition (for a politician) is gained from keeping infrastructure alive unfortunately.
Nice work. Just wanted to chime in and say thank you for WireGuard. Saw your at FOSDEM this year and was impressed – great talk.
I disagree with all but two of those 7 declarations. Font size, line height, default colors - all of those should be set in browser settings. My eyes get much more tired by switching between font sizes then by reading in 11pt.
Are you suggesting that end users should configure their browsers, or that browsers should change their base styles?
The latter disregards backwards compatibility re layout, and I can only interpret the former as either elitism or naievity.
I think the real elitism around this is power users and developers who expect typical users are too incompetent to configure their browsers. This isn’t 1995. People are familiar with the web, configuring their browser, resizing windows, etc.
So, if a person has gone out of their way to configure their browser then websites should respect it. Likewise with text width - don’t cater to the 1% who don’t know how to resize their window.
Every time this comes up people have stories about how some relative of theirs is still technically incompetent. Well, guess what? Those people aren’t going to use 99% of the web. Sites like Lobsters, GitHub, Dropbox, etc. don’t need to cater to those people because they’re not the target market at all. And on other sites, those people will be completely lost no matter what, so don’t annoy everybody else trying to make those people comfortable.
That’s a fair point. How should websites be different, though?
I set up my grandparents' laptop so that the whole PC is at 150% DPI, larger system-wide fonts, and Chrome is zoomed in by default. They’ve told me they’re satisfied so I assume the zoom applies to every website they visit.
For the technically competent, any changes are possible. The server sends you HTML and you are free to render it however you see fit.
I use Firefox for Android, and one of my favorite extensions (other than NoScript) is “Dark Background and Light Text” which, as you might be able to guess from the name, forces websites to have a black background and light foreground. This saves battery on my OLED screen, and is easier to read at night.
Edit: I agree websites should not do stuff like disable pinch-to-zoom. And another favorite extension of mine (for desktop) is RightToClick, which undisables right-click on websites such as Flickr.
Thanks for pointing me in the direction of “Dark background and light text”. Been looking for something like that for a while without success. It’s available here: https://addons.mozilla.org/en-US/android/addon/dark-background-light-text/?src=search
I think sites should never (and I don’t use the word lightly) use max-width. That’s the big change I’d make to current design practice.
Empirically it seems to lead to worse design (at least IME). In principle I’d say it disempowers the user to no real benefit.
???
This seriously confuses me. Probably the most common use of max-width is some variation of this:
.content img {
max-width: 100%;
}
If you mean never to use max-width just on the main content container, I still disagree. Having text content about 30-40 words wide improves readability greatly. Especially for users with high DPI giant displays, having text run from edge to edge is terrible for readability.
Of course if this is your own personal preference, you can always disable it yourself through the developer tools, or something like ScriptMonkey.
I do use Stylish at home, but I don’t have access to do that kind of thing at work unfortunately. I do manually remove the max-width on pages using the Chrome console/inspector but that’s tedious.
So, if a person has gone out of their way to configure their browser then websites should respect it.
How can a site detect that you have a custom default stylesheet and that it isn’t the vendor default? As far as I know there is no foolproof way to tell right now at least.
Also does zoom not work for what you want?
I am suggesting that end users configure their browsers according to their personal preferences. How exactly is it naievity, and how could it possibly be elitism?
My father is “technically competent” and I had to teach him how to install Firefox and Adblock. I’m pretty sure he still uses Internet Explorer regardless, and MSN is his homepage. User styles are absolutely beyond what he bothers to spend his time understanding.
In this case, naievity is the idea that most people are (capable of adjusting | care enough to adjust) their user styles.
Alternatively, elitism would be the idea that the web should only look nice for those capable of adjusting their default styles; everyone else should just suffer with the bad defaults.
Given that most users are technically incompetent or just plain lazy, a website ought to specify font size, line height, and default colors. Users can always override these things with a userscript if they are so inclined.
I completely disagree with your argument that it is naïve to expect of someone to be able to tune their font settings to their liking. There are instructions for all major browsers, and everyone can find them and follow them. The only reason why nobody does it is because people like you defend the abusive behaviour of web designers, so that fixing styles is just not really helping on most pages. That is your attitude that makes web the trainwreck it is.
P.S.: What you call elitism is not elitism at all. Compare:
Alternatively, elitism would be the idea that the web should only look nice for those capable of adjusting their default styles; everyone else should just suffer with the bad defaults.
to:
Alternatively, elitism would be the idea that the walls should only look nice for those capable of painting them; everyone else should just suffer with plain concrete.
I disagree with all but two of those 7 declarations. Font size, line height, default colors - all of those should be set in browser settings.
I took this to mean you’d rather see the original parody site than the OP, because it’s easier to override the original site’s defaults? I’m not sure how those seven extra lines of CSS limit you in any fashion.
people like you defend the abusive behaviour of web designers
The style of the OP is abusive? FWIW, I followed your firefox link and zoom still works on this page, despite that it specifies a font size.
It sounds like you might prefer the gopher protocol to HTML, since it doesn’t transmit any style information.
I took this to mean you’d rather see the original parody site than the OP, because it’s easier to override the original site’s defaults? […] It sounds like you might prefer the gopher protocol to HTML
Precisely.
The style of the OP is abusive?
OP abueses formatting capabilities of modern web browsers to enforce his understanding of aesthetics on readers.
I’m not sure how those seven extra lines of CSS limit you in any fashion.
The problem is that one of those seven extra CSS commands override my settings. See for yourself. (On both images left window contains default settings and right window has customized font size.)
FWIW, I followed your firefox link and zoom still works on this page, despite that it specifies a font size.
The link describes both page zoom and permanent settings. The latter are defeated by “better” version.
Thanks, the photo helps explain things.
One of my most-used features of Firefox is the “reading mode” button, which strips style information and applies some nice formatting. I use it both on mobile and desktop.
I’m not sure if Suckless Surf supports extensions that would provide something like this, but in general users control the browser and therefore have absolute control over how the HTML is rendered.
I do get frustrated against obfuscation/disablement techniques like removing zoom, DRM, disabling right-click, and so on. But I think websites are right to provide a default style that your browser can choose to render.
One of my most-used features of Firefox is the “reading mode” button
That is another shitload of JavaScript on top of otherwise bloated pages. And that does not necessarily provide good results, or even work at all. (Note how it is not available on this page for example.)
But I think websites are right to provide a default style that your browser can choose to render.
I would love if things would be this way. Instead sites' stylesheets are forced, and there is no static way to override them. And every other page is laid out so that without CSS and JS bloat that came along they are barely usable.
sites' stylesheets are forced, and there is no static way to override them
There is Stylish for Firefox, which may or may not meet your criteria of “static”. I don’t think it requires javascript - it just injects CSS.
$ find stylish -name '*.js' -exec wc -l {} +
57 stylish/components/stylishCommandLine.js
134 stylish/components/stylishDataSource.js
1050 stylish/components/stylishStyle.js
438 stylish/components/stylishStartup.js
34 stylish/components/aboutStylishEdit.js
437 stylish/content/common.js
696 stylish/content/base-test.js
33 stylish/content/domiOverlay.js
687 stylish/content/edit.js
9 stylish/content/clear.js
126 stylish/content/frame-utils.js
114 stylish/content/install-frame-script.js
89 stylish/content/install.js
92 stylish/content/manage-addons.js
535 stylish/content/overlay.js
69 stylish/content/unittest.js
16 stylish/defaults/preferences/stylish.js
4616 total
See, the order of evaluation for CSS is:
DOM → site's static CSS → user stylesheet → browser defaults
There is no way to inject CSS to a webpage without manipulating DOM, so all of these tools are doing exactly that.
Order of evaluation is not necessarily that order. If you use !important you can override everything except a !important in the DOM or site’s static CSS. You will almost never find this on a modern site because the way it messes with specificity makes it an absolute last choice for most web developers.
Also, complaining here about how CSS works isn’t productive at all. If you don’t like the current web standards, take it up with W3C. No one here can change it for you. Alternatively, use lynx.
The W3C to a large extent standardizes what browser vendors implement. And what browser vendors do follows broader consensus. Here is as good a place for the discussion as any.
Technically true, but then it becomes a problem to allow sites use bigger font when that is needed, eg. in headings, which are increasingly done without using <hN> tags. So yes, this is somewhat a workaround, but with its own set of issues.
P.S.: Yes, W3C is going to listen to someone who does not believe that HTML5+CSS+JS is the best markup language ever. Thank you for that valuable suggestion!
Like a few others have chimed in, I’d recommend pdflatex. We use it at my company as well. One lesson we’ve learned, and one that’s a bit embarrassing, is to make sure to check the return codes, output files, etc. from pdflatex/whatever you end up choosing. Having a failing template->pdf generation had me spend a few hours raging at the PHP template engine we use. Suffice to say, once I get a free moment any PHP will be removed and replaced with, well, anything else.
Questions about Futhark are answered by one of the authors (Athas) in this thread on Reddit.
Starts here for the interested.
I’ve quit my job and I’m leaving the United States in 10 days. I’m working on dealing with the anxiety of traveling internationally with my two cats.
I’m scheduling interviews for the week after my arrival to Buenos Aires.
I have not decided whether I want to take a time off or start immediately. On one hand, I think I may need a break, on the other hand, I get bored when I have nothing to do.
Sounds interesting!
I’m guessing you speak Spanish, and you’ve probably already been in Buenos Aires. On the off chance that you haven’t, I’d wait with the interviews for a while and enjoy life and explore your new surroundings. Actually, even if you’ve been there before I’d still recommend that. Being a tourist is quite different from being a permanent resident.
If you do get bored while taking some time off, consider learning something new. Learn some Argentinian recipes, learn a new programming language (Clojure or Erlang (or LFE, Lisp-Flavoured Erlang) are highly recommended), or anything else.
I’m in the lucky situation that my boss allowed for 100% remote work for half a year, so I’m currently in Cartagena, Colombia on the 5th of 6 months travel around Colombia and Costa Rica with my wife and two kids. I have a work week of 32 hours, and split that over all the days of the week. I work an hour in the morning while the youngest naps, spend the day playing tourist and then work again in the evening when both kids are asleep. It’s a wonderful experience!
I forgot to mention I am from Buenos Aires and I’m going back home :)
I guess if I had people to share time I would not be so anxious about starting a new job, but it’s not my current state.
I’m having trouble with the statements “moving countries” and “having nothing to do outside work” being made in the same context. I moved across the country (which is just under 4 hours by train, here in the UK) last year and although I enjoy my job the three months I took off immediately after the move was not nearly enough.
Depends on the person, but when I moved countries (US → DK), I liked that I started work fairly soon. Being new to a country was intimidating, since I didn’t know anyone or how things worked. The daily routine of going into an office, having lunch with colleagues, etc. helped ease into it, plus gave me an easy place to ask people boring questions about how everything works (bank accounts, the metro system, shopping, insurance, etc.). Once I’d lived in Copenhagen for a year or so and had my bearings, then it became more fun to go out and do non-work things.
You’re right. I suppose the crucial bit was moving countries, or at least somewhere substantially different? I stayed in the same country so didn’t need new bank accounts or anything. (I even stayed with the same electricity provider!) I also had company: my wife and 3-year-old son. In the past, before my son was born, I moved to Hong Kong and that situation was much more like you describe.
Your cats will be quite anxious too. When I brought mine to Canada, the poor thing had no access to a litter box for nearly 12 hours and peed herself. It took her about a week of hiding in the new location before she readjusted.
My two cats already traveled from Buenos Aires to San Francisco, with a ridiculous 17 hours layover in Mexico City. Of course they peed themselves (actually, it was during the layover, so they peed on my coat).
On the positive side, they were just fine after arriving, and this time we do not have such a long layover this time and they are more experienced :).
I’m still nervous, one thing going wrong is one too many.
Take at least a couple of weeks off to get settled, and maybe more if you’ve got burnout/stress left over from your previous gig.
My experience is that it’s best to rest until you can’t stand resting anymore–it always takes longer then you think, but it’s time your body and mind usually need.
IMO Always settle your employment situation and then simply schedule your start date out by a week or so.
That way you can TRULY relax and know that you’ll have a roof over your head and food in your belly beyond however long your piggy bank lasts :)
Howdy all.
Been a month since I posted. Sometimes it is just hard to find the energy to write given how much I have to get done. But lately, I’ve been finding it useful to write to help me think through decisions or to make notes to remind future-me of what I was thinking now. Along those lines, I wrote GraphQL beyond the web and Finding a User Interface Library this week. The GraphQL post is essentially a follow up to a post from last week, Querying OS Information.
In related areas, I’ve been working on fixing up some stuff in Ant Design, a UI library for React. (No, I don’t speak or read Chinese, but there’s no reason to let that stop me.) I’m hoping to help them with a translation of their documentation and web site into English.
I’m still doing a lot of work on Open Dylan as well. I helped someone out with their UUID library last week and did some further improvements to my libsodium bindings. I need to improve the libsodium bindings a bit more so that I can get further with my implementation of macaroons.
I’ve also been spending a lot of time with my 5 year old daughter, reading to her, helping her read, and teaching her about some of the fun sides of math. Also had another beautiful skink visit our yard.
At one point I was thinking about using GraphQL to implement an interface to the Docker daemon API. It’s nice to see exploration in similar areas.
Thanks for the link to Ant Design, that does look interesting. I’m sad that there isn’t a HTML standard for a datepicker, so something like this might be the next best thing.
If you want their date component, but without all of their style and other stuff, it is available as a separate component from react-components/calendar. But I like the Ant look, so I’m happy to get it all in a single package. :)
I was thinking of writing an interface to query OS info through SPARQL. But haven’t found the time and necessary motivation and tech to build upon yet. GraphQL is syntactically cleaner IMHO, but I think there is tremendous value in having a high level query language for those sort of things at all (and SPARQL has been around for some time).
Hello!
I thought about that too and talked about it some with @coreload who is a big proponent of SPARQL and related technologies.
I ended up coming down to the issue that GraphQL is just so much easier and lighter weight to implement and it lets me do exactly what I need in this case, and I’m able to do it in a bit of C that can run on almost any device. I didn’t know of any implementation of SPARQL that would allow me to do the same. Further, if I wanted the capabilities that SPARQL offered, I’d probably want them in whatever front-end I was writing and just by the nature of having my data in a structured format (ala JSON / JSON-LD), I’d be able to pump that into a more capable system when needed.
Related: phk just did a three-part review on the Blackphone which doesn’t really paint the phone and the company behind in a good light:
Not surprised, but they really should reconsider their use of “private by design”…
Sounds like a good time to finally set up my bouncer. If only there were one that had good Emacs compatibility.
I just run weechat on a server and connect to the weechat relay with weechat.el. There’s a few bugs in weechat.el (e.g. nicks go out of sync) and some things missing (e.g. nick list), but that’s a small price to pay for replacing another standalone app with emacs :)
I did this at the beginning but quickly switched over to ZNC because of bugs like that, the inability to have per-client history rollback, and other little details… I still use Weechat half the time on the client side though :) (I also use Textual on macOS, and Palaver on iOS).
Znc is what I use with erc
I’ve been trying to set this configuration up for half a year now, but I never get anything I’m satisfied with. The ZNC documentation is quite bad and confused, imo. And when I manage to set it up, even using ZNC.el it won’t work with IRCnet. Switching between multiple servers is another annoyance.
But maybe I’ve just messed up somewhere.
I used to use znc, seemed to work just fine with ERC.
Now I use weechat (a bit more features, nice Android app), again with ERC. There is weechat.el, but I prefer ERC (connecting to what weechat calls an “irc relay”, instead of using the weechat protocol). I use https://gist.github.com/unhammer/dc7d31a51dc1782fd1f5f93da12484fb as helpers to connect to multiple servers.
Ive used znc with Circe, works great
What did you find in Circe that made it better than ERC or Rcirc?
In case it’s useful - I used to use ERC, and I switched to Circe long enough ago that I can’t exactly remember, but I think the issue was that I wanted to connect to both freenode and an internal IRC server at the same time, and ERC made that awkward or impossible to do. It may well have improved in the last 5 years though.
It was easy for me to setup and use so I stick with it. Never tried those other two