224 karma · joined November 7, 2020
I think that old Thinkpads always had a middle button because it was used combined with the trackpoint to scroll.
I wonder if that is still true. I switched from MATE to KDE several months ago and from what I read, KDE invested a lot in optimization of their code (both cpu performance and memory use) in the last couple of years. I switched to KDE on all of my machines. The oldest one it is running on is a Thinkpad X200t with a Core 2 Duo (SL9400) and 4GB RAM (with SSD), and it is running fine when using it with chrome, okular, krita, ... I thought they were kinda forced to focus on optimization because of the development of plasma mobile.
Obviously, it'll still be beaten by LXDE, but compared to Gnome it should perform a lot better nowadays than some years ago.
But regarding 'feedback' from the computer, there are other options: laptops typically have an indicator light for hard disk activity, to indicate whether the battery is charging or whether the laptop is receiving power, or a slowly pulsating light to indicate that the laptop is in suspend-to-ram mode. Also I remember that long time ago, when every laptop came with a replaceable battery, that the batteries themselves often had indicator lights so that you could easily see whether a battery needed to be charged (1). Some laptops even had some indicator lights twice: one on the inside of the screen that is visible when you're working on the laptop and one on the outer shell of the screen that is visible when the laptop is closed (2).
I love that kind of thing, because to me those indicators are often useful. Maybe not everyone is into that or cares, but I'm also the kind of people that likes to have a cpu load monitor somewhere on screen to know what is going on on the computer.
(1) The battery indicators I remember from the iBook G4 and old Dell laptops. There was a button that you could press to indicate the remaining charge with some leds. While charging the leds would be blinking and indicating the charge at that moment.
(2) The indicator lights on both the inside of the screen and the outside, I noticed on the Thinkpad X200. I also discovered that the dock for the X200 actually comes with an extra charging port for a battery. So while you're working on the dock, you could externally attach a 2nd battery to the dock to charge it. I really appreciate the attention that went into these kinds of designs.
Long time ago, I used to read email using wanderlust on emacs. I remember I really liked it, it was very powerfull in handling email and it had really good imap (and offline) support. The only drawback was related to handling html email. Back then that was not that much of a problem because I used it for a lot of mailinglists which were typically text only, and the remaining email was often sent in both a text and a html version.
Anyone using email in emacs and has a good solution to deal with html email? Both receiving and sending? I kinda remember reading about people writing email in markdown and have it converted to html when sending it out.
Its specs are low (256GB SSD, Core 2 duo, 4GB RAM, 1280x1024 screen), but I find it very usable for browsing, reading and annotating pdfs. It runs Debian stable with KDE Plasma (the pen works well with krita, okular, xournal). The battery is old but is still holding a charge for several hours. I thought the screen would be annoyingly small, but I noticed that it is actually just fine for most web pages. I like the old 1280x1024 a lot more than the nowadays popular 1366x768. I really like it, it's also small and easy to travel with.
What you can do with it, is however limited by the Core 2 Duo chip, and the amount of ram. It's not gonna run a heavy IDE, and as a developer that's a bit of a pity, but was also completely expected.
I just checked how much people ask for old Thinkpads X200 and X200t and they really ask a lot for them, especially for ones that are already librebooted. That's amazing if you realize that those came out in 2008.
I think this really depends on the developers and their tools. I've seen at least one system that is built on the database using hundreds of stored procedures and triggers, and that was still maintainable. The reason that it was maintainable was that there was a code and naming style that was used consistently throughout the project, that each trigger and stored procedure was documented, and that the developers had a good tool to maintain everything.
Maybe in practice it's the exception, but good coding style can help just as it would help with code in a service.
> And for most cases, all this downside with little/no upside.
Well... obviously there is a very important upside and that is performance: you are executing code very close to the data and this can give you a big performance gain. If you execute business code on an application server, you have to first fetch the data from the database, then manipulate the data and then send the data back so that the database can store it. If you execute business code inside the database server, you don't need the round-trip (which goes typically over a network connection) and this can result in much better performance.
Personally I never built a system that relies on triggers and stored procedures. I'm used to working with an ORM and implementing business logic in the service. I do rely on database features (different types of constraints) to protect data consistency as much as possible. Still, at some point I would love to build a system that has its business logic in the database just to get the experience and to really know how that works. I also wonder how performant the language integrations (which might be more expressive than the default) are that database systems sometimes offer.
The reason we have all those separate systems is not that there are no alternatives: irc could have evolved with a new spec, but there is also XMPP (Jabber)... The reason is that all those systems like Slack/Discord/MS Teams do not interoperate with each other is that they are developed by companies that need to make money, and they want to force and keep users on their systems.
I think email is the only communication protocol that is still very popular and works across providers. I don't think it will disappear anytime soon. At this point, email providers cannot lock their users into their own system: no one can imagine that you'd be only able to email other gmail accounts from a gmail account or other microsoft accounts from a microsoft account.
Still, when I update packages on my Debian install, I am not worried at all about this kind of issue. That makes me wonder if and why Debian packages would be safer. I think that the following are reasons that I trust official Debian packages:
* it is a curated list of software: confidence in the quality of the software
* maintainers follow up on security issues: confidence in security issues being fixed in a timely manner
* packages are signed: confidence that package is created by a trusted maintainer
* trustworthy maintainers: not everyone can upload new versions of packages, it takes time to become a new maintainer
So it makes me wonder whether a similar concept of curated repositories for language specific package repositories would be useful or needed... am I the only one to think about this?
I've used this a lot with SQL Server and used the Redgate tools for that and that worked very well. For PostgreSQL, it seems there's a free tool from devart: dbForge Schema Compare [0]. I've never used it and have no idea how well it works...
[0]: https://www.devart.com/dbforge/postgresql/schemacompare/down...
Personally as a backend .net developer, I consider myself proficient in C#, I know some basic SQL, and some basic TypeScript and JavaScript. Earlier on I have touched Basic, Pascal, Haskell, Prolog, Scheme, Ruby, Bash, Java and C. I have worked with several different programming paradigms and I have no doubt that this made me a better developer. Still, I don't consider myself a polyglot programmer. Even though I was proficient in Java and C earlier on, nowadays I would have to search basic things all the time if I'd work with those languages again. So that would not be efficient at all.
In my opinion, the concept of a polyglot programmer is only useful if it means a certain level of proficiency in multiple programming languages and that requires a lot more than understanding the syntax of those languages.
> In this work, the major innovation was adding these footpads that allow it to make very, very fast turns.
> Electrostatic footpads allow the robot to make turns with a centripetal acceleration that matches that of a cheetah.
In fact I often work with git using the tools that come with it: git on the commandline, gitk for the visualization of the history and 'git gui' for committing work. They might look outdated, but they work really well and are really fast.
There are a lot of modern graphical tools to work with git repos, but some of them introduce their own vocabulary in an attempt to make using git 'simpler', but this just ends up making everything more confusing.
My impression is that a lot of people want powerful tools, but do not want to invest the time to learn how to handle them. The Pro Git book is available to read for free online and after reading the first 3 chapters, you should know about the most important things for day-to-day use. Some people would do anything to avoid reading the documentation: they'd rather spend a whole day checking different guis that make things look easy and familiar instead of spending that time reading the documentation.
Once the PR (possibly with some changes still) is approved and merged, I would rebase my "work" branch on top of the updated master. Since it was an orthogonal commit, you'll typically see that the merged work just disappears from your branch during the rebase. If it really was orthogonal work, you'll not have any conflicts.
This is an approach I've used whenever I need to work on something that depends on other work that was not merged yet. You have a work branch that includes all the work, since you depend on it, but you want to offer smaller pieces as PR to make the review process more efficient.