How to develop iOS 10.3.x apps in Xcode 8.2.x

Published 2017-07-10, 18:44

If you work on an older version of Mac OS, for example because Apple decided your Macbook is to old to upgrade to a recent version, you might be stuck with Xcode 8.2.x to develop and test your iOS apps. Unfortunately this can lead to this nice error message if you made the mistake to upgrade your iPhone to iOS 10.3:

Could not locate device support files
This iPhone 6s is running iOS 10.3.1 (14E304), which may not be supported by this version of Xcode.

This is because the old Xcode doesn’t get these „device support files“ via updates any more. Luckily the internet is here to rescue you.

  1. Download https://www.dropbox.com/s/i1f7q8w3vgr2ozl/10.3%20%2814E269%29.zip?dl=0 and extract it
  2. Click on „Finder“ in MAC OS
  3. Click on „Go to Folder“
  4. Paste this path:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
  5. Paste your extracted „10.3 (14E269)“ directory to that place.
  6. Quit Xcode and restart it (and maybe the whole Mac).
  7. You can now run your projects successfully on your real device again.

Adapted from source: https://gist.github.com/steipete/d9b44d8e9f341e81414e86d7ff8fb62d#gistcomment-2041802

Topic(s): Link, Notiz No comments - :(

Overview of the trakt.tv API Concepts and Endpoints

Published 2017-07-03, 17:24

trakt.tv offers a very comprehensive API with an amazing documentation. But thorough as it is – and the technical details like authentication, data formats, parameters etc. are really, really well covered – it can also feel a bit overwhelming when you jump in and want to get a first overview, or are only looking for some specific data or type of data.

As I just did exactly that, I went through the whole documentation and extracted the most relevant information. The order of this article, especially the API endpoints, follows the official API documentation. I only added some more headlines to group the endpoints in a better way:

Concepts

The API only defines some terms in „Terminology“, but there is a lot more to understand what there is and how it is all connected:

Use the checkboxes next to the terms to deactivate them in the list below. You can also set if they only should be deactivated or completely hidden.

Emojis Legend

These Emojis are used in the official documentation to indicate what functionality is offered by or needed for an endpoint.

Data Endpoints

These return the nitty-gritty of Trakt: Lots of data about shows and movies and all the things related to them:

User Endoints

If it matters which user is logged in via OAuth, these endpoints are collected here:

Master Data Endpoints

These endpoints offer mostly static data that should be retrieved once and then be cached for further use:

And that’s it! All essential API endpoints of the trakt.tv API, groupd by type and explained a bit more.

Topic(s): Kram, Link, Research No comments - :(

Google Spreadsheet: Output current date (statically)

Published 2017-06-30, 13:03

Imagine you have a Google Spreadsheet with a „last active“ column where you e.g. log the date when you last worked on the line item. You don’t want to have to type the date every time you change something as a) typing is cumbersome and b) you don’t even know the current date anyway.

Normally there is a default keyboard shortcut for that in Google Spreadsheets:

Insert time: Ctrl + Shift + ;

Unfortunately this doesn’t really work with a German keyboard (in Windows 10 with English OS language). In Chrome you can replace the Semicolon with Ü, but in Firefox this doesn’t work and I found no way to trigger this shortcut :(

Two solutions:

  1. Create a field with formula `=TODAY()`, maybe in the second row of the headline of the table. (Unfortunately this value will be recalculated on every change – so you can’t just use THAT everywhere to get the date – this value will change.) Now you can just Ctrl + C to copy that value and then Ctrl + Shift + V to output its value (and not copy the formula) to the target cell.
  2. Add a „Date“ validation to your column. Now you can double click the cell to get a nice calendar tooltip thingie where you can just click on the date you want.

To be honest 1) doesn’t really solve b), but you can leave the formula from 1) in the subheader for that anyway and just use 2) use this instead of the value pasting from 1).

Topic(s): Kram No comments - :(

(Visual) CMS for Jekyll

Published 2017-06-22, 12:20

Jekyll is „a blog-aware, static site generator in Ruby“. It also is used by Github Pages, which means you can host simple static sites, managed via Git, for free with it. That’s great.

Not that great (for me) is that you have to manage the content in the file system and manually handle Markdown files. That’s why there are multiple visual, hosted CMS for Jekyll.

I looked at some of them:

(A more complete list is at headlessCMS.org.)

So because of the shortcomings of Siteleaf (unusable because of messing with my data), Forestry (buggy editors) and Cloudcanon (doesn’t support advanced stuff) I am actually using Prose right now.

(Of course there also several options you can self host, but as that kind of defeats the purpose to go to a Github Pages hosted static site – now I have o host the CMS myself – I skipped those. Still, some links: MeetHyde, jekyll-admin)

Topic(s): Kram, Link No comments - :(

YouTube RSS Feeds

Published 2017-04-23, 22:47

Source: http://stackoverflow.com/a/31535120

Topic(s): Link No comments - :(

Mac OS X: Unabhängige Scroll-Richtung für Maus und Touchpad

Published 2017-04-04, 12:28

Natural Scrolling ist toll auf Mac OS X. Allerdings nur mit dem Touchpad, nicht mit der angeschlossenen USB-Maus. Dummerweise sind die „Scroll Direction“-Einstellungen von Maus und Touchpad aneinander gekoppelt, so dass wenn die eine (de)aktiviert wird, die andere dies auch tut.

Heute aber eine Lösung gefunden: https://pilotmoon.com/scrollreverser/
Installiert, konfiguriert, Problem behoben.

Topic(s): Link No comments - :(

Windows 10: WLAN/Netzwerk von „Öffentliches Netzwerk“ auf „Privates Netzwerk“ umstellen

Published 2017-03-30, 13:20

Mit Windows 10 hat sich (mal wieder) geändert, wie man sein WLAN/Netzwerk von „öffentlich“ auf „privat“ umstellen kann. Das ist relevant weil die Windows Firewall zwischen diesen beiden Klassen von Verbindungen unterscheidet und manche Verbindung aus Versehen falsch kategorisiert werden kann. Also muss man es ändern. Nur wo?

Die Einstellung findet sich nun in den „Einstellungen“ (bzw. „Eigenschaften“, je nach dem wo man es findet) des jeweiligen WLANs/Netzwerkes und wird dort als „Dieser PC soll gefunden werden“ bezeichnet. Ist dieser Schalter auf „Ein“, wird die Verbindung als „privat“ gehandhabt, bei „Aus“ eben als „öffentlich“.

Logisch, oder? *augenroll

Viele weitere Möglichkeiten finden sich hier: https://www.deskmodder.de/wiki/index.php?title=Netzwerk_%C3%B6ffentlich_privat_%C3%A4ndern_Windows_10

Topic(s): Notiz, Technik No comments - :(

Remove security from a secured PDF file

Published 2017-03-07, 21:41

One of my banks stopped offering downloadable CSV files of the statements af account. Bastards.

Luckily they still offer the monthly statement as a PDF. Parse that (parsing PDFs always is a pain, but possible), you have a CSV.

Unfortunately the PDFs offered for download are Secured PDF files. And most PDF parsing libraries can’t or don’t want to handle secured files.

„Well, bank statements are sensitive information!“ you might say. Yes they are. So I would understand if they used a security setting that requires a password to open a file. But they don’t do that. The file is just secured so… I don’t know exactly. I can do everything but open them by my trusted library.

I could just open all the files and then print them again as PDF to have an unsecured PDF file. But as I have lots of statements, this doesn’t sound too fun.

Of course there are also many paid softwares to remove PDF passwords and security features. Most cost once to register, some even monthly. Meh.

But if you spend some more time googling, there are also FREE tools:

Weeny’s tool is really nice and super usable. Happy ‚customer‘ here :)

Topic(s): Kram, Link No comments - :(

git: How to rewrite history on commits that you already pushed to the remote/origin

Published 2017-02-14, 18:42

(Written October 2013)

Let’s phrase this another way:
How to rewrite commits that are already on Github?
Ho to clean up commits that I already synced?
How to rewrite public history on git?

As you probably know git is much more flexible with branches, commits and all that stuff than other CVSs like SVN were. Commits are done locally and more like local snapshots that still can be changed, where commits in SVN are directly on the server/repository and can’t be changed. So there are lot’s of tutorials that explain how all this works:

But the one thing all these instructions don’t tell you, is what to do when you already synced (pushed) these commits to the remote origin. We only get quotes like these:

Once you have published/pushed your work to shared repositories, we very much recommend against going through post-production with it. That is known as rewriting public history and in general requires telling everyone of your failings as a developer so that they can do the necessary work to recover on their side.

A word of caution: Only do this on commits that haven’t been pushed an external repository. If others have based work off of the commits that you’re going to delete, plenty of conflicts can occur. Just don’t rewrite your history if it’s been shared with others.

Don’t include any commit you’ve already pushed to a central server — doing so will confuse other developers by providing an alternate version of the same change.

or my favorite one from the GitHub documentation:

Warning: It is considered bad practice to rebase commits which you have already pushed to a remote repository. Doing so may invoke the wrath of the git gods.

There are good reasons for this if you work with other people.

Obviously this doesn’t help, when you want to rewrite public history. There are lots of cases where you want to do that, especially if you are the only committer to a project and there is noone else to consider.

Before you start playing around with rebase, it’s probably a good idea to make a backup of your current state to a branch:
$ git branch backup-branch
Then if something goes horribly wrong with you workign copy you can just get the old state back:
$ git reset --hard backup-branch

Then you can continue doing the rebase like it is described in one of these tutorials:

And after all that, the magic thing to do is this:
git push --force origin master

By the way, the sources I finally found for this, after fighting for several days, were these:

Topic(s): Technik No comments - :(

Free MS Project Viewer

Published 2017-02-14, 18:39

(Finally posted this old draft)

Topic(s): Research No comments - :(

15 queries. 0,203 seconds.