come in and find out ...

Convert .pdf to .ics


rostoics_mainThis tool converts NetLine/Crew CrewLink roster .pdf files into .ics calendar files.

CHECK ALL EVENTS FOR CORRECTNESS !!!

Please read these Instructions carefully prior using this tool !!!

 

 

Usage
=====
1a. Download your roster using your company's web interface (NetLine/Crew CrewLink).
1b. Download your roster using the CrewLink App.
2. Save the roster locally as .pdf file.
3. Go to Convert .pdf to .ics.
4. Press Browse... button and select the just downloaded .pdf file.
5. Press Upload roster (.pdf file). Roster is then processed by rostoics tool.
6. Press Download roster (.ics file) and save that file locally.
7. Import the .ics file into your calendar using your preferred gateway.


Select roster (.pdf file) to be uploaded:



(wait 5-10 seconds for roster processing to finish)



Notification

Notifications

Be aware of the following terminology used below.
– By “Notification”, an iOS notification is meant. They appear in the iOS/iPadOS Notification Centre.
– A “CrewLink notification” is a pending (waiting for confirmation) CrewLink roster change issued by the airline.

Notifications are sent for:
1. Pending CrewLink notifications
2. CrewLink validity End date changes

Let’s call these two actions “Notification check”. The notification check always does both actions in one go. Are there any pending CrewLink notifications, and did the CrewLink validity End date change?

When does a Notification check trigger?
1. Automatic – Rostoics uses the iOS background fetch (BF) framework, which is active when the app is in background (id est app is not active). To avoid hammering the servers, Notification checks are spaced by at least 15 minutes (as of this writing – hardcoded, might change in the future). This doesn’t mean that BF fires every 15 minutes. The spacing could be hours, depending on battery life, user’s habits regarding his device as well as the app, the time of the day, network quality, … Basically, BF is a blackbox. Apple doesn’t reveal details when it triggers. BF tries to optimise in terms of battery life and users need/wish to have updated information available when requested (some kind of simple artificial intelligence).
2. Manual – Because of the somewhat random behaviour of BF, server checks also fire when the app is starting up from suspended mode (meaning when the app doesn’t run in background, meaning the app was terminated).
3. Manual – On top, notifications can also be forced while the app is running by using the Pull-to-refresh feature from the Info tab.

The Info tab shows when (date & time) the last Notification check took place (“Last notif. check”). The “CrewLink validity End date” is shown right below (date only).

Badge icons are used to show the user on the Home screen is there are any notifications. “1” can either be a pending CrewLink notification or a change in CrewLink validity End date. Check in the iOS/iPadOS which one fired. “2” means both were triggered simultaneously. They appear the as grouped notifications in the Notification Centre.

When are the badge icons reset?
– Pending Crewlink notifications:
— when confirmed.
— anytime automatic or manual Notification checks don’t find a pending CrewLink notification (anymore).
— when Reset settings (Settings tab) is used.
– CrewLink validity End date changes
— after a successful download of a roster, using the CrewLink validity End date is used as End date.

News & Updates
==============
02.08.2019 : Rostoics 1.0.0-5 released (AppStore)
      code : Manage tab
             Start date / End date order algorithm changed.
      code : Manage tab
             rostoics (DH) server basename format including version & build.
             (e.g. 1564685846623_iOS-0-0.4-4.pdf)
      code : TLCs tab
             TLC background download (if required) and local storage.
      code : TLCs tab
             TLC view reloaded if changing connectivity from offline to online.
             real-time update if data becomes available.
29.07.2019 : Rostoics 0.0.3-3 released (beta testers only)
       fix : Manage tab
             'Generate calendar events' button bug w/ partial import.
       fix : Settings tab > Misc section > About
             text ident formatting corrected.
    change : Settings tab > Privacy section >
             'Show own details in TLC list' radio button removed.
       add : Manage tab
             'Download today's roster' button added.
24.07.2019 : Rostoics 0.0.2-2 released (beta testers only)
       fix : Manage tab
             'Generate calendar events' code now shows proper SVProgressHUDs.
       add : statusOnline code implemented using delegates.
       add : TLCs tab
             enable/disable implemented as per statusOnline.
       add : Info tab
             'User authenticated' implemented.
      code : skipped TLCs implemented.
02.07.2019 : Rostoics 0.0.1-1 released (beta testers only)
             first release.

News & Updates

News & Updates
==============

21.06.2020: Rostoics 1.6-36 released (App Store)
            Dark Mode is now available and can be enabled by App, or by System settings.
            Added support for Corendon Dutch Airlines (CD/CND). Stability was further
            improved and code was optimized in order to enhance user interface experience.
      new : added Airline - Corendon Dutch Airlines (CD/CND)
      new : [ Settings ] added Enable Dark Mode switch
   change : [ Roster ] Roster tab active only if roster was previously downloaded
   change : [ Settings ] Changed color of enabled switches
      fix : many fixes and improvements

10.06.2020: Rostoics 1.5.1-34 released (App Store)
            Stability was further improved, making Rostoics even more useful and user
            friendly. Code was optimized in order to enhance user interface response
            experience. Now, Generate calendar events gives the user the option to
            replace any existing Rostoics event for the given period and chosen
            calendar. This avoids cluttering the calendar with obsolete outdated events.
            This feature makes sure you always have the most recent events in your
            calendar.
      new : [ Settings ] Replace existing calendar events added
   change : [ Manage ] Generate calendar events code improved
   change : [ Manage ] [ Info ] change from continuously turning to remaining time progress indicator
      fix : [ Roster ] correct presentation of CrewLink notification
      fix : reduce badge number by one after successful CrewLink notification confirmation

02.08.2019 : Rostoics 1.0.0-5 released (App Store)
      code : Manage tab
             Start date / End date order algorithm changed.
      code : Manage tab
             rostoics (DH) server basename format including version & build.
             (e.g. 1564685846623_iOS-0-0.4-4.pdf)
      code : TLCs tab
             TLC background download (if required) and local storage.
      code : TLCs tab
             TLC view reloaded if changing connectivity from offline to online.
             real-time update if data becomes available.

29.07.2019 : Rostoics 0.0.3-3 released (beta testers only)
       fix : Manage tab
             'Generate calendar events' button bug w/ partial import.
       fix : Settings tab > Misc section > About
             text ident formatting corrected.
    change : Settings tab > Privacy section >
             'Show own details in TLC list' radio button removed.
       add : Manage tab
             'Download today's roster' button added.

24.07.2019 : Rostoics 0.0.2-2 released (beta testers only)
       fix : Manage tab
             'Generate calendar events' code now shows proper SVProgressHUDs.
       add : statusOnline code implemented using delegates.
       add : TLCs tab
             enable/disable implemented as per statusOnline.
       add : Info tab
             'User authenticated' implemented.
      code : skipped TLCs implemented.

02.07.2019 : Rostoics 0.0.1-1 released (beta testers only)
             first release.

rsync backup from Ubuntu server to Synology NAS

This tutorial describes how to do scripted passwordless encrypted automatic rsync backups from an Ubuntu server to a Synology NAS. It is supposed to be a general guide, which can be used with other Linux variants as well. Only minor changes should be required.

I did this first of all in order to help other Synology NAS users perform efficient and secure backups to their NAS, but also to get get my scratch pad like personal installation notes in a more reasonable shape, so I can recall later on myself what I did, how, and why.


Synology NAS shell – Basics

synology_dsmThe following article describes some basics regarding first contact with Synology DSM shell.

I used DSM 6.1.3 out of the box, running in a Virtual machine (using Virtual Machine Manager) on DS1817+ hardware.


Null client Postfix setup


The following setup describes a postix setup to send e-mails using an existing SMTP server. It is not designed to receive e-mails. My provider is DreamHost, but setup should be very similar with other hosters. I used a VM with the Ubuntu Server 16.04.1 out of the box installtion (ubuntu-16.04.1-server-amd64). This VM has no real FQDN, hence an imaginary needs to be configured in order to make the SMPT server accept sent e-mails.


Video tutorials

Below you see a QAD (quick and dirty) screenshot video tuorial which shows how to convert a roster using the www method. Screenshots taken on iPhone 6S (iOS 11.2.6). rostics 1.0.18-PL2 was used.


DNS Stock update script

dnsstock_update_screenshotThis script updates the DNS records of DNS Stock.

It generates an URL http://dyndns.dns-stock.com/?hostname=<domain>&username=<username>&password=<pass>&myip=<ipaddr>, which is eventually passed to the DNS Stock server. The code is basically about parsing, validating, checking and formatting the returned WAN IP <ipaddr>. Two URLs are configured to check WAN IP. If the first one returns an error, the second one is queried. If that one fails as well, the script abandons. The logfile dnsstock_update.log reveals relevant details about what happened.

Configured passwords can either be plain text (depreciated) or MD5 crypted (preferred), as visible on DNS Stock site. The DNS Stock server accepts both formats.

Code and logfile entries should be self-explanatory.

Download: dnsstock_update.sh

Comments are desired.

Thanks,


.htaccess rewrite of directory to new domain

Online files stored on a web server have, most of the time, many references pointing to these files.

In my case, my web hoster decided that I had to take away files stored in a folder called downloads. However many links from my phpbb3 forum pointed to that directory. Needless to say, that this would require a lot of manual work adjust all these links.


Logitech Media Server for Squeezebox on Ubuntu Server 12.04.5

Logitech Media Server (formerly SlimServer, SqueezeCenter and Squeezebox Server) is a streaming audio server supported by Logitech (formerly Slim Devices), developed in particular to support their Squeezebox range of digital audio receivers. The following post describes how to install Logitech Media Server for Squeezebox on Ubuntu Server 12.04.5.