OS X Server Performance


Recommended Posts

So I'm running a Mac Mini and I'm trying to give a great load of performance (not hardware wise).

What's best practice to make sure it can take as many loads as possible as I do send a lot of traffic.

I tried sudo nvram boot-args="8388608" as a method in the terminal, but I'm not sure if that's the right answer.

Link to comment
https://www.neowin.net/forum/topic/1131482-os-x-server-performance/
Share on other sites

There is no "magic bullet" when it comes to machine performance. If there was, everyone would use it (or someone would patent it, but we'd rather not go there). That said, there are a couple of things you could try (assuming this is a dedicated server; some of these performance optimizations are not ideal for desktops).

In a quick search, I couldn't find anything specifically targeting OS X Server optimization. (Do people actually run that on high-load, dedicated servers?) However, since OS X is based on FreeBSD, the FreeBSD Networking Performance guide might be of some use.

If you're using Nginx as your web server, this guide has some good tips on optimizing it for high load. If you're using Apache (and maybe PHP and MySQL or one of its forks), this guide details some useful optimizations.

Finally, if you're willing to switch to Linux - which I highly recommend if this is a dedicated web server - this Linux TCP/IP Tuning guide is top-notch.

I'm just guessing at what you might be running, and why. If you could provide more specifics it would be really helpful.

apparently that was a setting Apple left for those who want to run the sever better.a15k3

I wanted to use OS X as the server OS because it felt a lot easier to work with than Linux. Database, Email, DNS, and so much more, all in Terminal or GUI, better than using the Web, with managers such as Cpanel and phpMyAdmin

"I wanted to use OS X as the server OS because it felt a lot easier to work with than Linux. Database, Email, DNS, and so much more, all in Terminal or GUI, better than using the Web, with managers such as Cpanel and phpMyAdmin"

What? All the server software is CLI driven, linux has the same programs as mac because mac took them from GNU/linux.

There is no cpanel for mac but is for linux, doesn't matter if there was as cpanel is a very expensive software package you wouldn't be using anyway.

There is no reason at all to run a server on mac over linux, there's only one hosting company in the world I know of that does this and that's because they only use mac minis because they're much smaller than 1/2/4/8U servers.

No-ones really going to be able to help you make a mac mini have better performance server-wise because no-one uses them as a server or for anything more than a small home network. They have a GUI which by defaults make them perform badly.

Even with a whole heap of these old wives tales of 'performance tweaks' you're still going to have to deal with the fact that OS X is hard wired for low latency and responsiveness over throughput. The issues regarding OS X server performance have been known for years - way back in the MySQL benchmarking days where many were wondering why there was such a massive gap when compared to Linux being run on the same hardware. As a small scale server with a dozen or so users infrequently throwing data over the network the performance hit isn't great but beyond the dozen users you might wish to install something like Linux or FreeBSD on it if you really want to squeeze out maximum performance.

The same server I'm using for my sites is also my desktop because it's all I honestly have at the moment. I so much traffic for my partner to send in that, we'll have to work with what we have until I'm able to get a custom iMac.

An imac, are you... serious? You want to be a backend web developer... Firstly you choose frameworks over coding your own backends which was a bit meh, then there's questions like this and you STILL want to get a mac to act as a server...

I am gob smacked, I really am, congratulations.

An imac, are you... serious? You want to be a backend web developer... Firstly you choose frameworks over coding your own backends which was a bit meh, then there's questions like this and you STILL want to get a mac to act as a server...

I am gob smacked, I really am, congratulations.

This is how it goes, people try and do something their way instead of the correct way, usually knowledge is the limiting factor, you fail and learn from your mistakes.

Have fun learning - honestly I mean it. :)

I'm not only a developer. Honestly, do you always expect someone to want something for only one reason? I was a designer before I'm a developer and I have of photography/cinema to work on. Illing Spree is my biggest magazine project to work on and I need a lot of performance.

The framework is of use until I'm able to develop my own from scratch to where it's potential is matched. And hey, me and my partner had the fastest server host gator could possibly offer. The iMac STILL goes beyond that server. What do you recommend? Media Temple's NITRO or HELIX?

The same server I'm using for my sites is also my desktop because it's all I honestly have at the moment. I so much traffic for my partner to send in that, we'll have to work with what we have until I'm able to get a custom iMac.

In all honesty, if you're trying to run a website that you are expecting to get high traffic from your main work machine on your home internet connection, its not going to work very well. Actually, I'm a little surprised that your ISP left port 80 open. Its often blocked on home internet connections precisely to prevent you from running a website (unless you pay for a business connection, that is).

Also, you should consider learning how to setup and administer a LAMP server if you plan on becoming a proficient back-end web developer. Although doing everything through a GUI seems convenient now, it has its price. There's a reason that most server software is designed to be CLI. Once you understand how the command-line works, you should understand why most sysadmins laugh at the prospect of installing a GUI on a server. If you want to turn your Mac Mini into a dedicated server once you get your new desktop, the Debian Mac Mini Install Guide and Debian LAMP Guide will probably help.

In all honesty, if you're trying to run a website that you are expecting to get high traffic from your main work machine on your home internet connection, its not going to work very well. Actually, I'm a little surprised that your ISP left port 80 open. Its often blocked on home internet connections precisely to prevent you from running a website (unless you pay for a business connection, that is).

Also, you should consider learning how to setup and administer a LAMP server if you plan on becoming a proficient back-end web developer. Although doing everything through a GUI seems convenient now, it has its price. There's a reason that most server software is designed to be CLI. Once you understand how the command-line works, you should understand why most sysadmins laugh at the prospect of installing a GUI on a server. If you want to turn your Mac Mini into a dedicated server once you get your new desktop, the Debian Mac Mini Install Guide and Debian LAMP Guide will probably help.

In all honesty, if you're trying to run a website that you are expecting to get high traffic from your main work machine on your home internet connection, its not going to work very well. Actually, I'm a little surprised that your ISP left port 80 open. Its often blocked on home internet connections precisely to prevent you from running a website (unless you pay for a business connection, that is).

Also, you should consider learning how to setup and administer a LAMP server if you plan on becoming a proficient back-end web developer. Although doing everything through a GUI seems convenient now, it has its price. There's a reason that most server software is designed to be CLI. Once you understand how the command-line works, you should understand why most sysadmins laugh at the prospect of installing a GUI on a server. If you want to turn your Mac Mini into a dedicated server once you get your new desktop, the Debian Mac Mini Install Guide and Debian LAMP Guide will probably help.

Actually, I upgraded my service to run 101Mbps & open port 80 and 25.

I don't use MAMP or any of the packages because I like making use of all the latest stables individually, to keep track. I'll look about turning this into a dedicated, once I have a second one coming in. (I have a lot going on.)

Actually, I upgraded my service to run 101Mbps & open port 80 and 25.

Nice!

I don't use MAMP or any of the packages because I like making use of all the latest stables individually, to keep track. I'll look about turning this into a dedicated, once I have a second one coming in. (I have a lot going on.)

Once of the nice things about running a LAMP stack is that you don't have to worry about tracking the versions of any packages. So long as you keep up with repository updates, you automatically get the latest operating system and software updates for every piece of software on your system. The maintainers of each package worry about security and version updates. Also, dedicated is the way to go for your web server. You will absolutely get the best performance that way.

If you're new to the command-line, Unix for the Beginning Mage should help you get a good grasp on the basics. One of the best features of modern Linux distros is their package management systems, which you should also be very familiar with. In my (obviously biased) opinion, Debian's Advanced Package Tool is by far the best. You can find a good APT tutorial on the Debian Wiki.

Edit: The Unix for the Beginning Mage link seems to be broken at the moment, so I attached a copy of the PDF to this post.

ufbm.pdf

Nice!

Once of the nice things about running a LAMP stack is that you don't have to worry about tracking the versions of any packages. So long as you keep up with repository updates, you automatically get the latest operating system and software updates for every piece of software on your system. The maintainers of each package worry about security and version updates. Also, dedicated is the way to go for your web server. You will absolutely get the best performance that way.

If you're new to the command-line, Unix for the Beginning Mage should help you get a good grasp on the basics. One of the best features of modern Linux distros is their package management systems, which you should also be very familiar with. In my (obviously biased) opinion, Debian's Advanced Package Tool is by far the best. You can find a good APT tutorial on the Debian Wiki.

Edit: The Unix for the Beginning Mage link seems to be broken at the moment, so I attached a copy of the PDF to this post.

I got used to the Unix terminal because of first getting a taste of Debian's Apt, thanks to SSH'ing Media Temple's Dedicated Servers a while back (of course it's still all different commands, but I wasn't a shell person at first of course). I worked with homebrew to get some packages installed on this Mac, and I do with with curl and whatever's necessary to make & install.

Here's a reason why I preferred using the GUI for packages such as MySQL. I removed "root", or changed, and all passwords on every database 25 characters generated. That's why I prefer seeing things first hand because I don't do simple security either.

I got used to the Unix terminal because of first getting a taste of Debian's Apt, thanks to SSH'ing Media Temple's Dedicated Servers a while back (of course it's still all different commands, but I wasn't a shell person at first of course). I worked with homebrew to get some packages installed on this Mac, and I do with with curl and whatever's necessary to make & install.

Rather than downloading and compiling source packages directly, you should try the MacPorts package manager for OS X.

Here's a reason why I preferred using the GUI for packages such as MySQL. I removed "root", or changed, and all passwords on every database 25 characters generated. That's why I prefer seeing things first hand because I don't do simple security either.

Could you please elaborate? I don't quite understand what you're trying to say.

The same server I'm using for my sites is also my desktop because it's all I honestly have at the moment.

Just throwing this out there, have you considered virtualizing? That's assuming your system is up to the task of course. A few of my servers here are virtual instead of physical machines, and the performance is very good, almost as fast as running it bare metal or a proper install, when the servers are idle there's practically no performance hit. I have them running as a service that suspends to disk when I don't need them, so near instant startup and shutdown. Install whatever distro that does it for you, administer via SSH (or throw on a web based admin console if you want a bit more easymode) and you get the full LAMP stack (and other server goodies) without giving up your preferred desktop or dealing with problematic ports. Added benefits of a buffer between your system and the server in case of security problems, very easy to back up, zero cost, if you've a battery backup the server is covered too, etc. Most of them here are done with vSphere but a couple are plain VirtualBox on my desktop system (headless services) and I've been very pleased with the results.. wouldn't even know its there unless I looked at the task manager.

Rather than downloading and compiling source packages directly, you should try the MacPorts package manager for OS X.

Could you please elaborate? I don't quite understand what you're trying to say.

I use Sequel Pro to manage the MySQL users and tables because the majority of the passwords, user id's or even the tables are complex. The passwords are generated. Symbols, Numbers, and Letters. The Databases basically have a 4 letter acronym, and then has generated numbers and letters. Same thing for the prefix and user id's. So I basically make it all hard enough for me not to remember but I always have my own secured notes.

Just throwing this out there, have you considered virtualizing? That's assuming your system is up to the task of course. A few of my servers here are virtual instead of physical machines, and the performance is very good, almost as fast as running it bare metal or a proper install, when the servers are idle there's practically no performance hit. I have them running as a service that suspends to disk when I don't need them, so near instant startup and shutdown. Install whatever distro that does it for you, administer via SSH (or throw on a web based admin console if you want a bit more easymode) and you get the full LAMP stack (and other server goodies) without giving up your preferred desktop or dealing with problematic ports. Added benefits of a buffer between your system and the server in case of security problems, very easy to back up, zero cost, if you've a battery backup the server is covered too, etc. Most of them here are done with vSphere but a couple are plain VirtualBox on my desktop system (headless services) and I've been very pleased with the results.. wouldn't even know its there unless I looked at the task manager.

I tried asking about that in the Mac Support forums, but only got to the solution of installing MySQL correctly and got the server to work as a whole. I wanted to do that as I do have VirtualBox, and I'm wondering which is the fastest Linux for me to do this with. I just hate having to bind IP Addresses.

I tried asking about that in the Mac Support forums, but only got to the solution of installing MySQL correctly and got the server to work as a whole. I wanted to do that as I do have VirtualBox, and I'm wondering which is the fastest Linux for me to do this with. I just hate having to bind IP Addresses.

Can't comment on networking in OSX, my experience with OSX is basic at best. (Minor dabbling with a Hackintosh for compatibility testing, just not my thing.) But for me, went with a bridged network setup myself so it's got its own full network presence as it's in a server role, will obviously need to adjust your port forwarding rules in your router if that applies as you'll have a different IP for that machine.

As far as the distro goes.. ask 20 people, you'll get 25 answers. Personally, for a server setup I prefer FreeBSD, but for Linux I typically go either Ubuntu LTS or Debian Stable as it's purely as server setup, stability over all else, and they get a lot of attention as far as security patches go. Also helps that they're quite popular and has a metric crapton of documentation available. Speed probably isn't going vary much at all, as they should be a pure console (and eventually headless) setup, no X, no desktops, none of that stuff.. at the end of the day they'll all be (more or less) running the same stuff. They're easy to set up too out of the box, Ubuntu Server 12.04 LTS for example asks you during installation for a few things, including giving you the option to set up a full LAMP stack out of the box, just need to give it a root password for the SQL server and that's literally it, it's ready to go on startup. Of course you'll want to review things after for security hardening, never mind configuring the site, adding other services (Apache modules, Rails, Tomcat, yadda yadda depending on your needs.)

For typical use I just use SSH, a file manager and occasionally an STFP client, that's not including various editors and whatnot of course depending on what you're doing. Once you get the thing set up as you like, it should be a pretty simple matter of getting it to start and stop on command headless, a quick search shows a few writeups on how to do it with minimal fuss. Mine runs on boot headless, will suspend to disk when it's time to shut down again, very seamless overall.

Can't comment on networking in OSX, my experience with OSX is basic at best. (Minor dabbling with a Hackintosh for compatibility testing, just not my thing.) But for me, went with a bridged network setup myself so it's got its own full network presence as it's in a server role, will obviously need to adjust your port forwarding rules in your router if that applies as you'll have a different IP for that machine.

As far as the distro goes.. ask 20 people, you'll get 25 answers. Personally, for a server setup I prefer FreeBSD, but for Linux I typically go either Ubuntu LTS or Debian Stable as it's purely as server setup, stability over all else, and they get a lot of attention as far as security patches go. Also helps that they're quite popular and has a metric crapton of documentation available. Speed probably isn't going vary much at all, as they should be a pure console (and eventually headless) setup, no X, no desktops, none of that stuff.. at the end of the day they'll all be (more or less) running the same stuff. They're easy to set up too out of the box, Ubuntu Server 12.04 LTS for example asks you during installation for a few things, including giving you the option to set up a full LAMP stack out of the box, just need to give it a root password for the SQL server and that's literally it, it's ready to go on startup. Of course you'll want to review things after for security hardening, never mind configuring the site, adding other services (Apache modules, Rails, Tomcat, yadda yadda depending on your needs.)

For typical use I just use SSH, a file manager and occasionally an STFP client, that's not including various editors and whatnot of course depending on what you're doing. Once you get the thing set up as you like, it should be a pretty simple matter of getting it to start and stop on command headless, a quick search shows a few writeups on how to do it with minimal fuss. Mine runs on boot headless, will suspend to disk when it's time to shut down again, very seamless overall.

I'm aware on how to set it all up, I'm just wondering the best OS, BUT I do have concerns about Memory and CPU usage for the Virtual Box as a server, since this Mac Mini only has 4GB of RAM and a Dual Core i5, it's the latest Mac Mini basic.

I'm aware on how to set it all up, I'm just wondering the best OS, BUT I do have concerns about Memory and CPU usage for the Virtual Box as a server, since this Mac Mini only has 4GB of RAM and a Dual Core i5, it's the latest Mac Mini basic.

Here's just an example on resource usage, your mileage, variance and all that. This particular machine is a Win7 x64 Core2Duo 3.0Ghz, couple of years old, nothing fancy by any stretch. This one VM server I use for development is Ubuntu Server 12.04 LTS (x86), allocated it 2GB maximum memory, not that it's not that it's actually using that much. It runs Apache, MySQL, Ruby/Rails via Passenger, and Webmin because I'm lazy at times, along with OpenSSH and all that. Process Hacker is telling me it peaked at 188MB memory used, idle CPU hovers at 0.3%. Before I upgraded this machine, it only had 4GB and it didn't run Rails at the time.. it was usually under 90MB. 90MB is less memory used than what I see out of many desktop applications, and that's the whole OS. I can't say OSX will handle it the same, but for my particular OS and hardware, it's like it's not even there, even when I only had 4GB in it I didn't notice any hits unless I had it updating or something. Best bet.. give it a test drive, it's all virtual so if it sucks, just nuke it again. I'm guessing though it should run quite well on your hardware, assuming you don't bloat it up with things like X, a desktop environment, etc.

Here's just an example on resource usage, your mileage, variance and all that. This particular machine is a Win7 x64 Core2Duo 3.0Ghz, couple of years old, nothing fancy by any stretch. This one VM server I use for development is Ubuntu Server 12.04 LTS (x86), allocated it 2GB maximum memory, not that it's not that it's actually using that much. It runs Apache, MySQL, Ruby/Rails via Passenger, and Webmin because I'm lazy at times, along with OpenSSH and all that. Process Hacker is telling me it peaked at 188MB memory used, idle CPU hovers at 0.3%. Before I upgraded this machine, it only had 4GB and it didn't run Rails at the time.. it was usually under 90MB. 90MB is less memory used than what I see out of many desktop applications, and that's the whole OS. I can't say OSX will handle it the same, but for my particular OS and hardware, it's like it's not even there, even when I only had 4GB in it I didn't notice any hits unless I had it updating or something. Best bet.. give it a test drive, it's all virtual so if it sucks, just nuke it again. I'm guessing though it should run quite well on your hardware, assuming you don't bloat it up with things like X, a desktop environment, etc.

That completely made sense to me, I'm gonna give it a try and come back to you on this. I'll work with Debian since I'm most used to it's commands as far as APT goes, OR Ubuntu. I love Ubuntu. :)

I use Sequel Pro to manage the MySQL users and tables because the majority of the passwords, user id's or even the tables are complex. The passwords are generated. Symbols, Numbers, and Letters. The Databases basically have a 4 letter acronym, and then has generated numbers and letters. Same thing for the prefix and user id's. So I basically make it all hard enough for me not to remember but I always have my own secured notes.

In that case, you can fairly easily replace Sequel Pro with phpMyAdmin. It will also let you graphically manage your SQL database.

That completely made sense to me, I'm gonna give it a try and come back to you on this. I'll work with Debian since I'm most used to it's commands as far as APT goes, OR Ubuntu. I love Ubuntu. :)

Both Debian and Ubuntu are good choices for a server OS. Keep in mind that Debian 6 was released in early 2011 while Ubuntu 12.04 was released in mid 2012. Therefore some packages are at slightly older versions in the current stable version of Debian. For example, Apache is 2.2.16 in Debian 6 and 2.2.22 in Ubuntu 12.04. Considering how far along it is in release freeze, you might consider installing Debian 7 instead. It has the same or slightly newer versions of packages that are in Ubuntu 12.04, but some of them are higher quality since Canonical imported packages from Debian Testing before the release freeze. (Canonical uses most Debian packages unmodified since they don't have the manpower of their base distribution, therefore Debian almost always has the newer version.) I wouldn't normally advocate using Debian Testing as your server OS, but Debian 7 is very stable at this point because it is so close to release. The only patches being submitted at the moment are bugfixes.

In that case, you can fairly easily replace Sequel Pro with phpMyAdmin. It will also let you graphically manage your SQL database.

Both Debian and Ubuntu are good choices for a server OS. Keep in mind that Debian 6 was released in early 2011 while Ubuntu 12.04, which is based on Debian 7 in its pre-release-freeze state, was released in mid 2012. Therefore some packages are at slightly older versions in the current stable version of Debian. For example, Apache is 2.2.16 in Debian 6 and 2.2.22 in Ubuntu 12.04. Considering how far along it is in release freeze, you might consider installing Debian 7 instead. It has the same or slightly newer versions of packages that are in Ubuntu 12.04, but some of them are higher quality because Canonical imported for Ubuntu 12.04 before Debian fixed many important bugs. Canonical uses most Debian packages unmodified since they don't have the manpower of their base distribution, therefore Debian almost always has the newer version. I wouldn't normally advocate using Debian Testing as your server OS, but Debian 7 is very stable at this point considering how close it is to release. The only patches being submitted at the moment are bugfixes.

I didn't want to use phpMyAdmin or any web manager because I don't have the MySQL port open to the outside world and I hated using the browser even more for this type of management.

Alright, how about using Ubuntu Server, without the GUI, and just reinstalling apache, php, and mysql to their newest stables?

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • On the topic of being locked out of a service. Recently two different friends of mine got locked out of their Google accounts. Both were hack attempts and one of them is waiting 30 days before he can get back in. He had backup codes and MFA but not a passkey. It was a browser token hack. Anyhow he has to wait 30 days for the dispute or whatever to end. The other person only had a password and is screwed losing all of the email, docs and years of photos. Google won’t help her at all. Her fault because she had no backup/recovery setup. Enable passkeys if possible. Also do NOT use browser based password managers. If using a cloud service make sure it is one you can fully sync to one of your devices so you can back it up. Like a PC or Mac with some backup drive plugged into it. Google is the worst to use IMHO. You can’t sync your photos at all. You have to use the “Take Out” service which is manual and takes days. That service strips the meta data from your photos. Also Google Docs synced to a device are useless without a Google accounts. MS Office/Libre Office is not going to open a link to a Google doc to a dead account.
    • Why you need to take back control of your synced passwords and how to go about doing that by Paul Hill Credit: Pixabay Last month, when Google decided to introduce daily and weekly caps for Gemini, it reignited an anxiety of mine, that you can’t really depend on service providers to maintain features forever, and it got me looking into free software (as in freedom) in other areas too. One app I quickly came across was KeePassXC on desktop and KeePassDX on Android as an alternative to password manager lock-in within the Chrome or Firefox ecosystems. I personally like to switch around with browsers, and using either password manager is inconvenient, so something like KeePassXC was interesting to me. The main issue with it now is syncing; I was not sure how to do that. After a bit of research, I came across Syncthing, a tool I was vaguely familiar with but had never used because it seemed complicated. However, I was completely wrong, and honestly, I think everyone should use it if they use multiple devices. It essentially lets you share folders peer to peer across all of your devices, no cloud services that you don’t control necessary! And it was fairly simple to set up, if not a bit clunky. Since setting it up, I’ve also started using Syncthing to back up other apps too, so don’t think it’s limited to just saving password databases. You can use it for pretty much anything you use Dropbox or Google Drive for. Before continuing to talk about those apps a bit more, let’s walk back a bit and talk about browser sync. Ever since the late 2000s and early 2010s, really, since we have been using smartphones, browser sync has been a necessity of life. I don’t know about you, but I have hundreds of passwords saved. For the most part, they’re all unique, so I don’t remember them and rely on software to manage them for me. Until recently, I’ve relied on password managers in Chrome and Firefox, but what I always found annoying was that it can be hard to transfer them between browsers. Sure, on Windows it is simple enough, but on Linux, exporting bookmarks has been temperamental. It works OK nowadays, but not too long ago, Chrome required you to enable exporting passwords in chrome://flags. The situation is even worse on mobile; there is no exporting or importing of passwords of any kind. You literally have to do it on a desktop, which is incredibly annoying in our mobile-first world. Sync also lets us take out bookmarks, history, tabs, and autofill data easily. To enable sync, it’s just a matter of signing into the browser once, and it handles the rest. It’s nice and easy. Obviously, all this has some issues, including those I’ve outlined above about it being hard to transfer data between browsers, but also things such as account suspension, lost account passwords, and other lock-in mechanisms, such as passkeys, being tied to a specific browser. On a sidenote, I have just removed all of my passkeys because they can make it harder to move browsers. I think the biggest threat to your synced passwords, especially if doing this with Google, is having your account suspended. I don’t ever expect mine to be suspended, but you do hear horror stories on Reddit where people lose access to their Google accounts. Imagine if you have hundreds of passwords, then suddenly lose access to them because Google froze your account, what would you do? So yes, it can be nice to use these syncing services for their convenience, but they also have risks. You may have seen me going on about free software quite a bit in my editorials. It’s essentially a concept championed by the Free Software Foundation. It’s software under particular licenses that grant you four freedoms: run the program for any purpose (0), study and change the source code (1), redistribute copies to others (2), and the freedom to distribute modified copies to others (3). For example, if there is an app I use and one day it gets abandoned by the developer, I can keep running it or even clone the software and continue developing it. Look at the myriad of cool services Google has run over the years before killing them. You can’t take the source code for those because they are proprietary, for the most part. Both KeePassXC and Syncthing are free software, so I get the freedoms listed above. In my use case where I’m syncing a database full of my passwords, I also get proper ownership over my data, there is no losing access to the database due to a frozen account, I can access the code of the tools I’m using, and I can get support from real people online if I run into issues, rather than having to consult a vague help page from an opaque company. With the KeePassXC password manager, you create a .kdbx file, which is what will be synced between devices. KeePassXC has cross-platform apps and also has browser extensions so that the browser can fetch passwords from the database once it is unlocked. Meanwhile, Syncthing is a peer-to-peer file sync tool where you can select folders to sync between your devices. Just pop files in the folders you choose, and then they will be available across your other devices whenever they come online. Syncthing is resilient as it works over both LAN and the internet and only ever sends content between your devices, never to a third-party server somewhere else. By combining these two pieces of software, you can essentially replicate the browser sync functionality. I have had a weird, conflicting issue where a new file is appearing, but it doesn’t seem to be impacting my main password database, which is updating between devices just fine. If you want to get a setup similar to what I have, you will need to go here to download KeePassXC for your computer. Once you have that, you will need to download your passwords from your web browser to a CSV file. In Chrome, you can type chrome://password-manager/settings into the URL bar, and you should see an option to download your passwords under Export Passwords. This will give you the CSV file you need for importing into KeePassXC. If you use a different browser, just use a search engine and type “browser-name export passwords” and muddle along. In KeePassXC, you’ll want to press Import File from the home screen, select the CSV file, and create a new database from it. On one of the screens of the wizard, there will be a Title field with a drop-down selected to none. Change this to Title and continue. You’ll select a name for the database, the encryption level (the defaults are fine), and then you will pick a password. I would choose four unrelated words that are easy for you to remember, as you’ll be typing them fairly often to access your passwords. When you have all your passwords in your new database, you will want to set up the browser extension so that your browser can fetch passwords from KeePassXC. Rather than explain how to do that here, refer to KeePassXC’s guide on how to set it up properly. Once you’ve got that set up, you want to install KeePassDX on Android. You can grab it on the F-Droid store and the Google Play Store. For iPhone users, there are other .kdbx-supporting apps, but I haven’t tried any of them, so have a look around and use what suits you. Once you have that done, you will want to install Syncthing on your computer and find a third-party app for your mobile device. On Android, I use an app called BasicSync; there are also options for iOS, but again, I’ve not tried these. Once you’ve got SyncThing, you’ll want to set it up and connect all of your devices together and share a folder between your gadgets. PCWorld has a good tutorial on setting up a synchronized file between your devices using SyncThing. Once you’ve set it up, congrats, you’ll never have to touch that stuff again except for adding or removing devices. I’ll be honest, I didn’t particularly like setting up Syncthing. It didn’t take me a massive amount of time, but I think I had to check online because I found it a bit confusing. That said, I’ve had it running for several weeks now and never need to touch the Syncthing settings, so that’s very nice. I also mentioned a conflicting file. I’m not sure why this is appearing, but the main .kdbx file seems to be updating and syncing just fine. What’s nice is that both KeePassXC and Syncthing are free software, so they won’t just vanish one day; you can take the code and fork the project or use a range of alternative implementations that others have made. It’s also nice that it works over LAN, so even if your ISP is having problems, your passwords will still sync. One area where you will want to be a bit more careful with this setup is if you only have one device. I am OK because I have a computer and two phones, all synced up. If you just have one device, you will probably want to store a backup of your .kdbx file somewhere else. Obviously, you’ll also want to remember your password really well, too. If you get locked out, it's game over. Overall, if you want to take back control of your computing from big tech, taking control of your passwords is an important part of this. You don’t need to immediately clear out your browser’s password manager; try running KeePassXC and the password manager concurrently for a while to see if you run into any problems. If you do try this out, let us know some other creative ways to use Syncthing. I haven’t really come up with a solution about what to do with my bookmarks, for example.
    • If the price was a dollar, someone would complain "Why isn't it free?" If it was free, someone would complain they weren't being paid to play it.
    • That lens of history will burn if you hold it at the right angle... Warn users too late: Shame, Microsoft! That extremely minor update to an obscure Control Panel widget required 2 years of warning. Warn users too early: Shame, Microsoft! We've got better things to do. Pipeline and process be damned, we'll just always be disappointed, eh?
    • Microsoft Paint used to be my favorite Windows app as a kid, and it's still pretty good by Usama Jawad I have been using Windows since the early 2000s, when I was around 10 years old or so. I vaguely remember playing around with Windows 98 and Windows 2000, but that may have been on school PCs which had old operating systems installed. My main OS on the home PC, and the one I recall spending most time with, was Windows XP. At that time, I used the home PC to create Word and PowerPoint documents for school, but a lot of the time, I simply used it to play games. My dad would bring game discs which we would try and install on the PC, sometimes unsuccessfully, and sometimes, we would rely on flash games in the browser, like Bubble Trouble on Miniclip. However, the problem with the latter approach was the internet speed. On a good day, our dial-up internet would offer us speeds of 56 kbps, but on most days, it was closer to 33 kbps. This did not facilitate online gaming as I would often have to wait minutes for a game to load or "draw" on the screen, and trying to download pirated games wasn't simple either. I remember getting tired of waiting for online games to load and just downloading simulator games from the Big Fish Games website instead, only to be disappointed after finding out that I was just being given access to trial versions of the title, and I needed to fork out money to pay for the full version. All of this is to say that it wasn't very easy to find entertainment options on the home PC when I was a kid, due to a number of reasons, mostly outside of my control. This situation pushed me towards a rather unconventional ally: Microsoft Paint. Whenever the internet wasn't working as good as I expected, I would simply spin up Paint and draw complete rubbish on the canvas. Of course, that wasn't always the intention, but it usually happened when I messed up drawing a straight line or something, and then I would give up on that particular piece and simply draw a random collection of objects. Microsoft Paint was extremely accessible and easy to use. Even if you weren't an artist, you could quickly understand the tools at your disposal and how to leverage them on a canvas. The absolute breadth on offer ensured that each painting was truly unique, as you could utilize various combinations of tools like the pencil, paint, spray paint, and more to truly personalize your creation. Since I wasn't particularly good at drawing both on digital screen or a physical screen, I remember that my main style of art would be to insert a bunch of randomly intersecting lines and then fill them with random colors through the paint can. I have trying to replicate that art style in the latest version of Paint below, and as you can see, it's truly Pablo Picasso-esque. The human imagination truly knows no bounds Microsoft Paint kept me occupied for hours and was my best friend when video games on the home PC were inaccessible for one reason or the other. There was no academic or professional reason for which I would need to use Paint, but I still loved using it in my personal time, even if what I created wasn't worth being shown to anyone. It was simply fun. Fast-forward to today, and the situation is mostly the same. Now that I am almost 29 years old, and I still have no reason to use Microsoft Paint in a professional capacity. In fact, I don't even use it in a personal capacity, except to dabble with it from time to time, just to see if core functionalities are still intact. And I'm happy to say that I think Microsoft Paint still offers the same accessibility and inviting experience that it did to me a couple of decades ago, even though its UX has been refreshed and it's been integrated with Copilot features. Interestingly, things could have been a lot different, had Microsoft had its way. Microsoft Paint was marked for deprecation with the Windows 10 Fall Creators Update in 2017, and even began displaying a product retirement alert, urging customers to shift to Paint 3D instead. Fortunately, after consumer backlash, Microsoft reversed course on this decision, and Paint continues to be a native app inside Windows installations that can also be updated quite frequently through the Microsoft Store. Instead, Paint 3D ended up on the chopping block, which is for the better, I think. I have intermittently played around with Microsoft's refreshed Paint experience in the past few years, and I do think it has received worthwhile upgrades. the UI and the UX has been modernized while retaining core functionality, and the app is still fairly easy to use. It doesn't meet any of my use-cases, but I've never really had any use-cases ever, as described previously. Of course, the elephant in the room is the Copilot integration. Personally, I believe that this is one place where Copilot does make sense, environmental concerns aside. I know that a lot of creatives use AI to generate images, and while some may be using professional alternatives, Paint still offers a decent casual experience, with the power of Copilot. Of course, you do need to have a valid Microsoft 365 Copilot license and available credits to use it, but even if you don't, you still get the big Copilot button in the toolbar, unfortunately. All in all, I am glad that Microsoft Paint continues to be a native feature in Windows 11, and a piece of software that has evolved to meet modern needs without cutting off its own roots. It's just an iconic piece of Windows history that was an essential part of my childhood, and while I don't use it anymore, I'm just glad it is still there.
  • Recent Achievements

    • Week One Done
      Supreme Spray LV earned a badge
      Week One Done
    • One Month Later
      Genuinetonerink- Dubai earned a badge
      One Month Later
    • Week One Done
      Genuinetonerink- Dubai earned a badge
      Week One Done
    • One Year In
      hhgygy earned a badge
      One Year In
    • Week One Done
      AMV earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      513
    2. 2
      +Edouard
      163
    3. 3
      PsYcHoKiLLa
      88
    4. 4
      Steven P.
      74
    5. 5
      Michael Scrip
      73
  • Tell a friend

    Love Neowin? Tell a friend!