Multiple sources, destinations or bases

In the General tab of a sync item’s settings, where you can define the source and destination of a one-way sync or one-way move, or the two bases of a two-way sync, you can define additional bases by clicking on Add more bases and then on the + button underneath the list.

For more information on the individual sync types, see Sync types.

One-way sync / One-way move

Multiple sources will be virtually merged and mirrored to all the destinations.

Files with the same name that are on different sources and have different modification dates or sizes are considered a conflict, causing an error to be logged. If a file has identical copies on two or more sources and only one of them is modified, all the old versions on the other sources would also need to be manually replaced.

A file on the destinations is deleted only if it is not present anymore on any of the sources.

Two-way sync

A two-way sync always behaves the same, regardless of how many bases it contains. In particular, between syncs, a file may be modified or removed only on one base, otherwise it won’t be possible to determine which change should be mirrored to the destinations and a conflict error will be logged.

Sync schedules

The sync schedule can be modified in the General tab of a sync item’s settings.

  • Manual: the default. The sync can only be started by using the toolbar or menu commands or triggered as a dependency by another sync.
  • Automatic: the sync is run whenever the source and destination become available. Once an automatic sync has been completed successfully, the next automatic sync will run after at least the source or the destination are unmounted and mounted again, the app is restarted, or the Mac wakes up from Sleep. The sync can still be started manually at any time.
  • Every hour: the sync is run every full hour.
  • Once a day/week/month: the sync is run at the end of every day/week/month at midnight.
  • Custom: add any number of periodic time intervals. You can choose between:
    • every hour at a specific number of minutes and seconds
    • every day at a specific time
    • every specific weekday at a specific time
    • every specific day of month at a specific time

If the source or destination volumes are not available at the scheduled sync time, the sync is run as soon as they become available.

How to get rid of customers needing support and make them suffer

In the last years I have written to many companies about all sorts of bugs, issues and misbehaviours. Some companies put more effort than others into making themselves available after they successfully sold their product or service. If you are a company and don’t have time to spare for your customers, here’s some useful tips that will help you get rid of them, without making it too obvious.

Let me first introduce you to the golden principle upon which all of my tips stand: make your customer stumble for hours from one end to the other of your website.

Be subtle about keeping the final solution away from them as long as possible. When they finally realise that there is no contact form at the end of the path, the longer you’ll have kept them hopeful without giving yourself away, the harder they’ll fall. They’ll be broken beyond repair, so much that they’ll never want to hear about you or your company again, or any of your excuses which you might or might not issue in case they end up whining about their heartbreaking experience on social media or some review aggregator.

A customer’s first hope is always to find a Contact link at the top or bottom of the main page. (You may want to title that page Welcome.)

How to keep them wandering, you may ask? First of all (I mention it even if it’s obvious), the Contact link should never reveal a direct email address or a contact form with a Submit button.

Instead, fill the linked page with FAQs. If you have some spare time, it’s worth investing it in compiling credible questions and answers so that the user won’t become suspicious already. Of course, the answers will all be collapsed by default so that they only become visible after selecting the small triangle beside the respective question. Then, designate one or two of them to also contain a button named “Contact support”. After having gone through most of the FAQs and having discovered the keyholder ones by accident, seeing that button with that particular name will infuse new hope.

If you’re serious about gathering user data, you’ll probably already have a login service set up. If not, consider recruiting a computer science student who is willing to program it for you, cheaply. Give them the impression that they’re doing something very important with an outlook on a fixed position with an above-average salary and when they’re done, fire them. Before doing so, make sure that when the user selects the “Contact support” button mentioned earlier, the login screen pops up.

If you’re lucky, the user won’t be registered yet (or maybe it won’t matter in case you already charged them enough in exchange for the login credentials). For them, seeing a login screen when they were clearly expecting a plaintext email address or contact form is particularly frustrating, and you know it. Everybody knows how sick people are of creating a new login for every different service that they use. Personally, when I click on a link expecting to find a contact form and a login page appears instead, I get an allergic reaction. For most users, a login screen is like a gate, and they stupidly think that they will be kept hostage if they bring their complaint forward once inside the restricted zone.

If they are stubborn enough to register … and log in … forward them to the chat support page where they will be greeted by an automated message telling them to kindly wait until they’re first in line. Again, seeing that they will be able to talk to someone in real time and not have to wait for an email response will give them the hope of solving their issue faster than they thought. If you want to give the appearance of a professional customer support, also drop the image of a smiling young lady with a headset on who doesn’t actually work for you but is a paid model, so that in case the user feeds that image to a search engine with the intention of finding some hidden information about you or an employee of yours, they will bump into a modeling agency.

So here they are in front of the chat support page. Now, let me suggest a possible way for how your software could handle the interaction with the user. Every time the user enters a phrase containing the word “hello” in the input field, the bot will answer “Howdy! How can I help you today?” That will also be the first message printed after they’ve advanced to be the first of the virtual waiting queue. The first thing they’ll try will be to write things like “forward to human” or “talk to supervisor”, or they may even enter some gibberish in the hope that they’ll be automatically connected to a real person! In any of these cases, the bot’s answer should be “Sorry, I don’t understand your question”, even if the text doesn’t contain a question mark. However you end up programming the bot, don’t make it too hard to overcome since I have two more tricks to teach you.

Defeating the bot will finally disclose an email address. That’s the thing they’ve been looking for the whole time and which could be as simple as contact@company.com. It will be so simple that the user will repeatedly smash their forehead with the palm of their hand, asking the heavens why they didn’t think of that before.

They will write an email, trying to sound as nice as possible. Nobody should answer it. Not yet.

Two months later

Since they didn’t hear anything from you or your company in this long period of time, they will search your website from top to bottom once more. Your website will be so cleverly set up, maze-like, so that, blinded by their anger, they will get lost and eventually stumble upon the privacy@company.com email address without having noticed it before (they will come to the conclusion that it must be because their inquiry has nothing to do with privacy).

At this point, since their desperation has been building up for a while now, they will copy paste their previous email and send it to your privacy team, whom you will have instructed to ignore all emails that are not strictly about privacy. (There could be serious legal actions happening to your company if you fail to respond to privacy inquiries, so you’ll better not ignore all emails altogether. After all, there’s a reason why 90% of the websites have to ask you for permission to install privacy intruding cookies on your computer.)

The user, whose head will be hanging low because of all the fatigue, will be picturing in their mind that there must be some benevolent and some malevolent teams at your company, the one behind the official contact email being the malevolent one. Their hope will be that the privacy team is one of the benevolent teams, that it will be so good as to forward the email to the right one, or even to take care of the issue personally. Until that moment, their heart will be so swollen with frustration that they will swear to god that, would they be working at your company in the privacy team, they would do everything in their power to come to the rescue of that helpless human being who contacted them.

One year later

Having heard nothing, they will initiate one last attempt to get your attention. They will beg you to help them. “Please”, they will write, “please … I will give you anything.” And at the end once more: “Please!”

Show no mercy.

Take the time to appreciate the tragedy of the user’s life.

At last, instruct your support agents to reply to that final, most desperate email where they will explain that in order to investigate the reported issue the customer will have to pay one of your engineers who will cost 180 $ per hour or an equivalent amount in your local currency. That will be your final move, because even if they offered anything in return for your help, the reality is that by buying your product they expected to have gained free lifetime support. As soon as they hear that exorbitant price they will leave you alone.

Now you can finally enjoy the results of your hard work with peace of mind.

The hunt for a company’s contact information

Do you know that feeling? You’ve just entered this website, this whole new domain, a new world. But you’re not excited about it, in fact the only reason why you’re here is because you just want to have a chat with whomever runs this business. And no, it’s not because you’re feeling lonely and looking for someone to have a meaningful conversation with. You have a serious problem related to the product/service you bought earlier today, or maybe it was last week, you don’t remember exactly, but it doesn’t matter. Perhaps the product was even free and you’re wondering if you’ll upset somebody by asking for help.

In any case, you first need to find the Contact link. By now you know that it either sits in the header of the website … Your eyes quickly scan the menu bar. Not finding the Contact word accelerates your heartbeat just a tiny little bit. It’s the feeling of hope, mixed with the anticipation that maybe this is just another dead end … So you scroll down, down, down to the bottom of what appears to be an endless well, picturing yourself as a misfortunate Alice in Wonderland, until you reach it.

The footer.

This one has four columns, each one with about a dozen links. Starting from the last one, because it’s the one where you’d expect Contact to be waiting for you, you skim over the list. Nothing other than Terms and Conditions & co., but there is still hope. No, you’re not looking for a Business Opportunity … Maybe that mysterious acronym B2B is what you’re looking for? You click on it, just so you can say that you’ve tried everything, but no. You go back. The second column seems to be a list of personal names among which you find the product you’re here for, but that link only brings you to a place which exhibits big words of praise and five star reviews and mind-bending parallax effects that for one second make you forget why you’re here.

Back again to the previous page. You scan the first column, but you already know that it’s a lost … Yeah, just like you thought. No Contact link. And also no Support or Need Help? or S.O.S. button for the most inexperienced internet adventurers, not one of them in the entire page. Wait, you still didn’t think of the almighty Find command! Even your best friend with a computer science degree seldom thinks of using it when surfing the web; for some reason it hardly ever crosses your mind that a webpage can be searched for with that simple keyboard shortcut. Anyway, even that doesn’t help, and you have to resign.

What the hell did those people think? Their website is a true vending machine, accepting any amount of money as an input and if the chocolate bar doesn’t fall off as it should and remains stuck, there is no witness to assist you. Do they not want to be found, what do they have to hide or what are they scared of?

Forget about those companies with the “No questions asked” return policy: the new cool is when their entrance sign reads “No questions accepted – what you see is what you get”. At this point you wonder if you’d be less upset if the website had a contact form guarded by a registration form, where you would have to disclose your full name including the middle name, then the postal address, and maybe even your occupation and hobbies, and which usually makes you want to scream at the screen in despair.

Sometimes it would be so much easier to just walk in on a store and find a person eager to help you. Usually you’ll answer “I’m just looking around, thank you”, almost feeling annoyed. The next time this happens, promise you’ll just be grateful that someone wants to take care of you, ok?

Conclusion

If you own such a website, then please consider updating it. Your customers will appreciate that you value their time and, in case they stubbornly find a way to reach out to you, they won’t be unnecessarily frustrated. Thank you for making the world a better place.

Force quit

When SyncTime, or any other app that does not appear in the Dock, hangs, it won’t be listed in the Force Quit window ( > Force Quit). Instead, follow these steps:

  1. Open the Activity Monitor app (from /Applications/Utilities).
  2. Type the name of the app in the search field.
  3. Click the Terminate button in the toolbar (with a cross icon) and confirm the alert dialog that appears afterwards.

Launch at login

In macOS, you can select any app to be automatically launched at login.

  1. Open the System Preferences.
  2. Select Users & Groups, then navigate to Login Items.
  3. Click on the + button. In the open panel, select the app that you want to launch at login and click Add.
  4. If you want to app to be hidden when launched, enable the corresponding check box.

Editing tools

Video player

To set the start or the end of the selected subtitle to the current video time, select Edit > Set subtitle start time or Edit > Set subtitle end time. When setting the end time while the video is playing, the next subtitle is automatically selected; this allows adjusting the start and end times of subsequent subtitles while watching the video without the need to pause it.

When a subtitle is being displayed on top of the video, select Edit > Edit displayed subtitle to edit it; if the video is playing, it will pause and play again as soon as you finish editing.

Table view

Click on the start time, end time or text of a selected subtitle to edit the corresponding attribute.

When editing the text, you may use the Edit > Split subtitle command to split the subtitle at the text cursor. The length of each of the two resulting subtitles is determined automatically according to the relative text length.

Timeline view

To move a subtitle, move the mouse cursor over the center of the subtitle until the cursor image becomes an open hand. Now you can click and drag to move the subtitle. Subtitle boundaries snap to the timeline cursor and at a distance of 2 empty frames to other subtitles.

To resize a subtitle, move the mouse cursor over the start or the end of the subtitle until the cursor image becomes an arrow pointing to the left or right. Now you can click and drag to resize the subtitle.

To resize two subtitles at the same time while maintaining the same time interval between them, move the mouse cursor between the two subtitles until the cursor image becomes a two-sided arrow pointing to the left and right. Now you can click and drag to resize the subtitles.

Logging and inspecting errors

Witgui runs on top of the wit/wwt command line tools. When an error occurs or something doesn’t behave as intended with the generated game files, it can be useful to inspect the output of these tools. If the output contains something like this:

!! wit: ERROR #126 [FATAL ERROR] in wd_read_part() @ src/libwbfs/wiidisc.c#865
!!      ASSERTION FAILED !!!

it’s likely to be an issue with the wit/wwt tools, so you should try to get help on the official support forum: https://gbatemp.net/threads/wwt-wit-wiimms-wbfs-iso-tools.182236

  1. Open the Terminal (in /Applications/Utilities).
  2. Copy and paste “/Applications/Witgui.app/Contents/MacOS/Witgui -log” into the Terminal and press Enter.
  3. A new app instance will open. Reproduce the issue.
  4. A bunch of lines will appear inside the Terminal that contain some logs.
  5. After analyzing the Terminal output, you can quit Witgui and the Terminal.

File sort order

By default, files are sorted clockwise by decreasing file size. From the View menu, you can set a different sort order.

File Size

The default. You can quickly find files that take away most of your disk space.

File Size on Disk

When opening an ordinary directory, this setting will produce a similar display as for the File Size sort order (since usually there is only a small difference between the file size and the file size on volume, or allocated file size). When scanning a directory managed by a cloud service, this setting will effectively hide all those files that are not currently on the selected drive but are downloaded on demand (since their allocated file size is 0 Bytes).

Child Count

Directories are sorted by the number of subfiles, followed by all the regular files sorted in alphabetical order. Having a lot of (small) files may slow down some operations: for example, copying a directory containing many files is often slower than copying a directory with less files but the same overall size. With this sort mode you can quickly find such slow directories which you may want to exclude from a periodic copy operation or backup.