{"tag":"privacy","articles":{"blog\/technology\/privacy-friendly-location-field":{"key":"blog\/technology\/privacy-friendly-location-field","type":"article","published":true,"meta":{"createdAt":"2022-12-17T11:53:21+01:00","publishedAt":"2022-12-17T11:53:21+01:00","group":null,"category":"blog","subcategory":"technology","slug":"privacy-friendly-location-field"},"content":{"en":{"slug":"privacy-friendly-location-field","title":"Privacy-friendly location field?","intro":"\u003Cfigure\u003E\n                \u003Cnoscript\u003E\n                    \u003Cimg src=\u0022https:\/\/avris.it\/image\/zaimki-timezone-editor_small.png\u0022 alt=\u0022Screenshot of the profile editor on pronouns.page, the timezone section. Header: \u0022Timezone\u0022. Description: \u0022If you fill out this field, your card will tell people what time it is where you live. Optionally, you can also chose to publish your approximate location.\u0022. Then a select box with list of timezones along with a button \u0022Detect\u0022. Then two switches: \u0022Publish the continent in your card: Europe\u0022 and \u0022Publish the area in your card: Amsterdam\u0022\u0022 class=\u0022border-bottom\u0022 width=\u0022480\u0022 height=\u0022147.25099601594\u0022\u003E                \n                \u003C\/noscript\u003E\n                \u003Cspan class=\u0022hide-noscript\u0022\u003E\u003Cimg src=\u0022data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAALCAYAAAAX+i97AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABq0lEQVQ4ja2UwXLTUAxFjyTbExvKhmEKKR\/A\/\/8Dn8GmTNmUKQw0xLEtiYX7TNJMp5NQrWy9J+m+qyuJuycnmLsf+UQEETklzWIRQUQs\/1X5uL7+Ste1bDZ\/5qIifLxa0zTNQfBL2+OHSGHo7sdPzAwzY5qmGW1lkOARZCZkkiS73UBVGSJCRKKq830z3B0RoW5qMpOIQEWJCESEyZ26rshIIpPMpF2tMNNDhlQVVeX1q25BmwnlAfvUvrk4bk9pW2buAT28V84y84Add\/\/nKwxNmx1iOgcA0hj76SKT51Ryjo6i78lMsq6BPYamX\/1M4zDRvLvg9u6W8EBVSRJBWK8\/nFzwWUC7YW7FA6CFoe+fv9B8ekvvI2pKU9fshgFVnZkRYRxHBHAPPJz3l5cHrPzPtJW2LQz5dsAqwwjMFBGlXa0W3UzuyEPTVIXI48JFI+dY0Vb12AGJmeE+4R6LMIV56vq+J5O5jWcWfwoQ7GkoI\/HR6Yee3\/f3dG1LZNJvt7RdxzROqCmq82hXZtzcfAOBq\/V6SXwuSyVGntrUGUHkSUt8sbKXTrWI4C+Jjve8K9+BKQAAAABJRU5ErkJggg==\u0022 data-src=\u0022https:\/\/avris.it\/image\/zaimki-timezone-editor_small.png\u0022 alt=\u0022Screenshot of the profile editor on pronouns.page, the timezone section. Header: \u0022Timezone\u0022. Description: \u0022If you fill out this field, your card will tell people what time it is where you live. Optionally, you can also chose to publish your approximate location.\u0022. Then a select box with list of timezones along with a button \u0022Detect\u0022. Then two switches: \u0022Publish the continent in your card: Europe\u0022 and \u0022Publish the area in your card: Amsterdam\u0022\u0022 class=\u0022border-bottom\u0022 width=\u0022480\u0022 height=\u0022147.25099601594\u0022\u003E\u003C\/span\u003E\n                \n            \u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003EA user suggested adding a timezone field to \u003Ca href=\u0022https:\/\/pronouns.page\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Pronouns.page\u003C\/a\u003E.\nThis website lets people, among other things, create a card with info about how they want to be referred \u2013\ntheir pronouns, names, etc. But it also has some generic fields, like age or links,\nso the team was onboard with the idea of adding some more basic info: not just timezone,\nbut while we\u0027re at it, why not also a location?\u003C\/p\u003E\n\u003Cp\u003EWell, adding a location is not as easy as it seems\u2026\u003C\/p\u003E\u003Csvg xmlns=\u0022http:\/\/www.w3.org\/2000\/svg\u0022 style=\u0022display: none;\u0022\u003E\u003C\/svg\u003E","content":"\u003Cfigure\u003E\n                \u003Cnoscript\u003E\n                    \u003Cimg src=\u0022https:\/\/avris.it\/image\/zaimki-timezone-editor_big.png\u0022 alt=\u0022Screenshot of the profile editor on pronouns.page, the timezone section. Header: \u0022Timezone\u0022. Description: \u0022If you fill out this field, your card will tell people what time it is where you live. Optionally, you can also chose to publish your approximate location.\u0022. Then a select box with list of timezones along with a button \u0022Detect\u0022. Then two switches: \u0022Publish the continent in your card: Europe\u0022 and \u0022Publish the area in your card: Amsterdam\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u0022294.50199203187\u0022\u003E                \n                \u003C\/noscript\u003E\n                \u003Cspan class=\u0022hide-noscript\u0022\u003E\u003Cimg src=\u0022data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAALCAYAAAAX+i97AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABq0lEQVQ4ja2UwXLTUAxFjyTbExvKhmEKKR\/A\/\/8Dn8GmTNmUKQw0xLEtiYX7TNJMp5NQrWy9J+m+qyuJuycnmLsf+UQEETklzWIRQUQs\/1X5uL7+Ste1bDZ\/5qIifLxa0zTNQfBL2+OHSGHo7sdPzAwzY5qmGW1lkOARZCZkkiS73UBVGSJCRKKq830z3B0RoW5qMpOIQEWJCESEyZ26rshIIpPMpF2tMNNDhlQVVeX1q25BmwnlAfvUvrk4bk9pW2buAT28V84y84Add\/\/nKwxNmx1iOgcA0hj76SKT51Ryjo6i78lMsq6BPYamX\/1M4zDRvLvg9u6W8EBVSRJBWK8\/nFzwWUC7YW7FA6CFoe+fv9B8ekvvI2pKU9fshgFVnZkRYRxHBHAPPJz3l5cHrPzPtJW2LQz5dsAqwwjMFBGlXa0W3UzuyEPTVIXI48JFI+dY0Vb12AGJmeE+4R6LMIV56vq+J5O5jWcWfwoQ7GkoI\/HR6Yee3\/f3dG1LZNJvt7RdxzROqCmq82hXZtzcfAOBq\/V6SXwuSyVGntrUGUHkSUt8sbKXTrWI4C+Jjve8K9+BKQAAAABJRU5ErkJggg==\u0022 data-src=\u0022https:\/\/avris.it\/image\/zaimki-timezone-editor_big.png\u0022 alt=\u0022Screenshot of the profile editor on pronouns.page, the timezone section. Header: \u0022Timezone\u0022. Description: \u0022If you fill out this field, your card will tell people what time it is where you live. Optionally, you can also chose to publish your approximate location.\u0022. Then a select box with list of timezones along with a button \u0022Detect\u0022. Then two switches: \u0022Publish the continent in your card: Europe\u0022 and \u0022Publish the area in your card: Amsterdam\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u0022294.50199203187\u0022\u003E\u003C\/span\u003E\n                \n            \u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003EA user suggested adding a timezone field to \u003Ca href=\u0022https:\/\/pronouns.page\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Pronouns.page\u003C\/a\u003E.\nThis website lets people, among other things, create a card with info about how they want to be referred \u2013\ntheir pronouns, names, etc. But it also has some generic fields, like age or links,\nso the team was onboard with the idea of adding some more basic info: not just timezone,\nbut while we\u0027re at it, why not also a location?\u003C\/p\u003E\n\u003Cp\u003EWell, adding a location is not as easy as it seems\u2026\u003C\/p\u003E\n\u003Ch3\u003EPrevious experiences\u003C\/h3\u003E\n\u003Cp\u003EFirst thing that comes to mind when I think of adding a location field in a profile\nis my experience running \u003Ca href=\u0022https:\/\/teamlocked.men\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E #TeamLocked\u003C\/a\u003E (NSFW).\nI thought I implemented it in a pretty neat way \u2013 but turns out I still couldn\u0027t avoid issues.\u003C\/p\u003E\n\u003Cp\u003EI wanted the data to be structured, not just a free text field \u2013\nthat way I could add some smaller or bigger features around it:\nfrom displaying a little emoji flag next to a country name,\nto allowing people to search users by country and province.\u003C\/p\u003E\n\u003Cp\u003ESo I split it into three levels: \u003Ccode\u003Ecountry\u003C\/code\u003E, \u003Ccode\u003Eprovince\u003C\/code\u003E (which depending on context can mean a state, a province, a wojew\u00f3dztwo, etc.) and \u003Ccode\u003Ecity\u003C\/code\u003E.\nFirst two being a selection from predefined lists, while the last one a free text input \u2013\ncause I\u0027m not going to manage a database of all cities, municipalities and villages in the world \ud83d\ude05\nBut even for countries and provinces, I didn\u0027t want to manually manage that list either \u2013\nthose things change constantly, and I\u0027d rather focus on actually running the page.\nSo I delegated the issue to the United Nations. I wrote a script that fetches the list of countries from\n\u003Ca href=\u0022https:\/\/unece.org\/trade\/cefact\/unlocode-code-list-country-and-territory\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E here\u003C\/a\u003E\nand the list of provinces from \u003Ca href=\u0022https:\/\/unece.org\/trade\/cefact\/UNLOCODE-Download\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E here\u003C\/a\u003E,\nputs it into a neat JSON file, and then gets used to generate the select fields.\u003C\/p\u003E\n\u003Cp\u003EI thought that would be simple and unproblematic\u2026 until someone messaged me,\nangry that my website calls his country \u201cTaiwan, Province of China\u201d.\nWhich is not something I stand for, but I checked and indeed that\u0027s how UNECE describes the country code \u201cTW\u201d.\nIt\u0027s some kind of a weird compromise between recognising Taiwan\u0027s independence and pleasing China.\nLet\u0027s give it a separate country code while still calling it a part of another country\u2026 Ugh\u2026\u003C\/p\u003E\n\u003Cp\u003EI changed my script to rename that item on the fly, but then more of similar issues kept coming.\nI checked if Kosovo is on a list \u2013 nope, despite having an ISO country code (XK) and an emoji flag (\ud83c\uddfd\ud83c\uddf0),\nit isn\u0027t included on UNECE\u0027s list. So I added it. The list of British provinces didn\u0027t include London for some reason.\nNorth Macedonia\u0027s name didn\u0027t get updated for a while, and Czechia\u0027s still isn\u0027t.\nEven though I had an automated script and was delegating responsibility to an international authority \u2013\nI still ended up needing to put in manual effort into it.\u003C\/p\u003E\n\u003Ch3\u003EOn Pronouns.page it gets even more complicated\u003C\/h3\u003E\n\u003Cp\u003EDespite unexpected issues, it ended up working really well in the end.\nBut simply applying a similar approach (well, probably just reusing the very same script)\nwouldn\u0027t really fit Pronouns.page well.\u003C\/p\u003E\n\u003Cp\u003EFirst of all, unlike #TeamLocked, an adult dating website, Pronouns.page is family friendly,\nand a lot of its users are minors. I want to make sure that I don\u0027t create a feature\nthat could inadvertedly cause harm. What if a 13-year-old queer kid sees a free text input field\ncalled \u201clocation\u201d and without thinking much just puts in their full home address?\u003C\/p\u003E\n\u003Cp\u003EWe\u0027d also like to avoid unnecessary political conflicts. Don\u0027t get me wrong, we\u0027re quite a political team,\nbut our mission is to tell enbies (and queers in general) that they\u0027re amazing, that they deserve respect\nand recognition of their identity, and that they have a right to shape their language to meet their needs;\nnot to get tangled in endless discussions over which government has jurisdiction over which piece of land.\nActually, many of us are anarchists, so we\u0027d rather see those governments fall than start showing their\nflags as a location indicator and validating the notion that artificial political borders are the best way\nto describe where you are \ud83d\ude05\u003C\/p\u003E\n\u003Cp\u003EThen there\u0027s a question of localisation. In the database we\u0027d of course save the country info\nas a simple country code, but when displaying it \u2013 on a page so heavily focused on language and localisation \u2013\nwe\u0027d have to take into account wheter \u201cDE\u201d should get shown as \u201cGermany\u201d, \u201cDeutschland\u201d, \u201cDuitsland\u201d, \u201cNiemcy\u201d, \u2026\nThere\u0027s databases online that we could use for that, but it\u0027s adding another layer of complexity\u2026\u003C\/p\u003E\n\u003Ch3\u003ELatitude, longitude?\u003C\/h3\u003E\n\u003Cp\u003EThere is a way to describe one\u0027s location that\u0027s super simple and (mainly) independent from politics\n\u2013 just use latitude and longitude, right? Other than the prime meridian being an arbitrary choice,\nit literally just describes one\u0027s location on a globe using simple geometry.\u003C\/p\u003E\n\u003Cp\u003EThere is one problem though, at least for our use case: it\u0027s way too accurate.\nWe want to allow users to share some \u003Cem\u003Every basic\u003C\/em\u003E info about themselves,\nto let others know whether they live nearby or across an ocean \u2013 and not to be their GPS \ud83d\ude05\u003C\/p\u003E\n\u003Cp\u003EWhat if we rounded it to the nearest degree, though? Or 5 degrees?\nThat way we\u0027d only know that someone lives within a rectangle of few hundred kilometers by few hundred kilometers,\ngiving us a healthy dose of inaccuracy and therefore privacy.\u003C\/p\u003E\n\u003Cp\u003EWell, I made a little proof of concept of how selecting one\u0027s location would look like,\nand TBH it\u0027s not too nice or intuitive. It\u0027s just a map with some arbitrary rectangle following your mouse,\nit looks confusing when you live near an edge of such a rectangle,\nit would require some fancier projection than Mercator, it wouldn\u0027t be too easy to use on mobile, etc. etc.\u003C\/p\u003E\n\u003Cp\u003EAll of those potential issues can be overcome, of course, but I\u0027d rather settle for something easier,\nif possible.\u003C\/p\u003E\n\u003Ch3\u003ETimezones to the rescue!\u003C\/h3\u003E\n\u003Cp\u003EWell, the answer has been there all along! We were going to implement timezones anyway, right?\nWe can use that for location information. After all, time and space are very closely related!\u003C\/p\u003E\n\u003Cp\u003EThe simplest way to approach storing one\u0027s timezone would be to save the offset, like \u003Ccode\u003EUTC-5\u003C\/code\u003E.\nBut offset \u2260 timezone! My timezone is UTC+1 now, but in March it will switch\nto UTC+2 even if I don\u0027t move anywhere \u2013 thanks DST \ud83d\ude44\nIt\u0027s more accurate to use \u003Ca href=\u0022https:\/\/www.iana.org\/time-zones\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E IANA\u0027s timezones\u003C\/a\u003E,\nin my case \u003Ccode\u003EEurope\/Amsterdam\u003C\/code\u003E \u2013 that way a library can just calculate the proper offset itself.\u003C\/p\u003E\n\u003Cp\u003EBut as you can see, that format already includes some location information!\nWhy don\u0027t we just use it? Here\u0027s how those timezones look on a map:\u003C\/p\u003E\n\u003Cfigure\u003E\n                \u003Cnoscript\u003E\n                    \u003Cimg src=\u0022https:\/\/avris.it\/image\/tz-database-map_big.png\u0022 alt=\u0022A map of IANA timezones\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u0022414.375\u0022\u003E                \n                \u003C\/noscript\u003E\n                \u003Cspan class=\u0022hide-noscript\u0022\u003E\u003Cimg src=\u0022data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAPCAYAAACMa21tAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFS0lEQVRIiY2TXWyT1xnHf+c97\/v6K3b8Ecc2cUKKFxzyMQIV0FKgzdSWcjHEtKjahoQ6bZPQtptJu5l2k6na7b6ktbsp2lWp+qnSlDRdN9iglPKRilWsgTRNwMHJcOLYJHZi+33fswsDUUrV5Xd1dM7\/HP2f5\/wfoZRSrAcFiLtLpXAsB6EJNKmt6\/p60b9qs2LlyS6+i3c4wKu3Uviyi+wJS8b8OvGCwC5YYIOjFK0HW2h7qgUEFHOjOEonEO5E1WqUxq8g\/GFkPE65MEMuex5fQxNGcA\/+Bj8VUcOybSIeD4Yu64YuLt4hem2OP8kMmtfke0MXWT54GqYs4p\/20JatkKMJlbPoPOom5Ovi82OTBLYEMJMeQpvDKOWgKhXyr9ykMPU5ye0jyIYAy9kvuLy3xvj8dXqn2ghVvHz0nyR\/PdsB4jY7D13kuTMnuNYX4Ur793HaO5AvPP\/8IKUVZg2b\/mgrqiA5\/lo351o3E9j+T\/7y1hE2BG02dl1gUpaIbNvGxh1Rkk9uIJJuxGw0eP3sFI25US58kaM8KwgXL5HPLjCyq8i0AZWCjyqz1FZSvCj2oVsS\/Y5FpKtE94H9hCdm2HNH8nBnF7qNTTjdwlFa6v\/13TiLXXmOf3yeVGYO0VUCPcOYJ040dIer1lUOtO26\/71CgK9tml8WX6I\/2kWmtZdA+TnM6X\/h+TRIprSV5FSU4u4RfKe9dNsBZKrIlt2jBJofJqQ5bDz4C4xAI5Zjobuk64EM7ejwc8IpYL1Xxdng4pJM0709RP9jLWhaPdkKqFo2piZwF8f5TaIFW6a4UV1iZG4TkVgjO1eynE+Os+l8J\/OhRUoD1zj6\/if8YcdP6A70EI9P0N48gK7VPeiajq6UAgXKstHMesaDusGv2w5wPJ7iUIOfvT0C3\/UJEAmgHj4BuHTJ23+fobr8Een4B\/zj9zMU0rNkYv0MnXia3r5T\/DxkUkqP41tJMCO3Me+ZIKZJvrE5TWvT3rulrSLujb1Ts9EMef9AAfPlGiOTC2wtXMaX6mYuZ9O3JYmhGwCUShbDFz9Azw4z1NTG8IVH+dV4ln0dNzmX1tjfsY+H+rYzNvoSydTTvLtcJTP6MT\/Yt58pVWK3vw2raqObEqtSRXeZyMHBwcF7YRBCrDoFvIakN+qloTnGOxOnOfXmMuVinkQsgcejYZoaicZWfAtuvN0JfJcX6DMvcfObOiu9Gt\/qPoQmBMKM4nc3U7azBDUPYxmBmV8hGQmAFDg1G6dmgabQlFLYtnO\/cY5tr22hENwow1tnkxysvEfx1A1+d\/gMN05eByAUcrF5\/5MMtPTT6WnFY3xGeNHFD5M\/o2bV6prgBqTHxdZwmtnYLNWxJRpPFJl750PGfvQsY1cmwHTh2KDPV+YIyiBoktv\/LdPQYOD1yTWmusIBNu2MMaTG2fU3H7d2Pku5J7FGI4VGoxnhZPTHeGJJZiovc8R1GBRosv6eW7g50jyAfXiRz66+zDF3nkNPfZuU0c5CNoc7aaKHzDBSkyilaIp6Uc5qyJSqjzXAH3e1M\/TT3Sw0d3LkkRY6W\/0PTGdvMoh7WJB64iHcfh3TMNcK7r61+O9juG5N0rO0jdPh14i4HyeSbMeQGqh1UspMqj9\/51V1+8zwmn3HcZRSjlJKqWrZUblr1Qfu1jWrVIvTqro0r5auFtVvR95QNaemHOWosflPlHBsSwlNPlDtl5k+dQ6RmSc28Ay61\/ha7b3OKuWgHAtNM1Zb\/SXKTg2vZnBraZImT2J17P8f1bJNPr9CPOkDoOZYKEdh6l9vbj04SqHdNfw\/\/2J3PxbskhoAAAAASUVORK5CYII=\u0022 data-src=\u0022https:\/\/avris.it\/image\/tz-database-map_big.png\u0022 alt=\u0022A map of IANA timezones\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u0022414.375\u0022\u003E\u003C\/span\u003E\n                \u003Cfigcaption\u003E\n                    \u003Ca href=\u0022https:\/\/commons.wikimedia.org\/wiki\/File:2017a.png\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\n                        \u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E\n                        commons.wikimedia.org\/wiki\/File:2017a.png\n                    \u003C\/a\u003E\n                \u003C\/figcaption\u003E\n            \u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003EIt looks exactly like what we need! It splits the Earth into chunks that look less arbitrary and clunky\nthan some purely geometric lat\/long rectangles. Chunks that are big enough not to give away too much of someone\u0027s location,\nbut small enough to give a pretty good understanding of how far away from you someone is.\nSure, in many cases those splits follow country borders, but at least the assocciated labels focus mostly\non cities and geographical names rather than political ones.\u003C\/p\u003E\n\u003Ch2\u003EImplementing the feature\u003C\/h2\u003E\n\u003Cp\u003ESo, let\u0027s get to actually implementing the timezone field! It ended up being way simpler than I imagined.\nHere\u0027s how the form looks:\u003C\/p\u003E\n\u003Cfigure\u003E\n                \u003Cnoscript\u003E\n                    \u003Cimg src=\u0022https:\/\/avris.it\/image\/zaimki-timezone-editor_big.png\u0022 alt=\u0022Screenshot of the profile editor on pronouns.page, the timezone section. Header: \u0022Timezone\u0022. Description: \u0022If you fill out this field, your card will tell people what time it is where you live. Optionally, you can also chose to publish your approximate location.\u0022. Then a select box with list of timezones along with a button \u0022Detect\u0022. Then two switches: \u0022Publish the continent in your card: Europe\u0022 and \u0022Publish the area in your card: Amsterdam\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u0022294.50199203187\u0022\u003E                \n                \u003C\/noscript\u003E\n                \u003Cspan class=\u0022hide-noscript\u0022\u003E\u003Cimg src=\u0022data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAALCAYAAAAX+i97AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABq0lEQVQ4ja2UwXLTUAxFjyTbExvKhmEKKR\/A\/\/8Dn8GmTNmUKQw0xLEtiYX7TNJMp5NQrWy9J+m+qyuJuycnmLsf+UQEETklzWIRQUQs\/1X5uL7+Ste1bDZ\/5qIifLxa0zTNQfBL2+OHSGHo7sdPzAwzY5qmGW1lkOARZCZkkiS73UBVGSJCRKKq830z3B0RoW5qMpOIQEWJCESEyZ26rshIIpPMpF2tMNNDhlQVVeX1q25BmwnlAfvUvrk4bk9pW2buAT28V84y84Add\/\/nKwxNmx1iOgcA0hj76SKT51Ryjo6i78lMsq6BPYamX\/1M4zDRvLvg9u6W8EBVSRJBWK8\/nFzwWUC7YW7FA6CFoe+fv9B8ekvvI2pKU9fshgFVnZkRYRxHBHAPPJz3l5cHrPzPtJW2LQz5dsAqwwjMFBGlXa0W3UzuyEPTVIXI48JFI+dY0Vb12AGJmeE+4R6LMIV56vq+J5O5jWcWfwoQ7GkoI\/HR6Yee3\/f3dG1LZNJvt7RdxzROqCmq82hXZtzcfAOBq\/V6SXwuSyVGntrUGUHkSUt8sbKXTrWI4C+Jjve8K9+BKQAAAABJRU5ErkJggg==\u0022 data-src=\u0022https:\/\/avris.it\/image\/zaimki-timezone-editor_big.png\u0022 alt=\u0022Screenshot of the profile editor on pronouns.page, the timezone section. Header: \u0022Timezone\u0022. Description: \u0022If you fill out this field, your card will tell people what time it is where you live. Optionally, you can also chose to publish your approximate location.\u0022. Then a select box with list of timezones along with a button \u0022Detect\u0022. Then two switches: \u0022Publish the continent in your card: Europe\u0022 and \u0022Publish the area in your card: Amsterdam\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u0022294.50199203187\u0022\u003E\u003C\/span\u003E\n                \n            \u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003ETurns out we can just use a built-in JavaScript feature to list all the IANA timezone codes:\u003C\/p\u003E\n\u003Cpre\u003E\u003Ccode class=\u0022hljs javascript border\u0022\u003E\u003Cspan class=\u0022hljs-keyword\u0022\u003Ethis\u003C\/span\u003E.timezones = \u003Cspan class=\u0022hljs-built_in\u0022\u003EIntl\u003C\/span\u003E.supportedValuesOf(\u003Cspan class=\u0022hljs-string\u0022\u003E\u0027timeZone\u0027\u003C\/span\u003E);\n\u003C\/code\u003E\u003C\/pre\u003E\n\u003Cp\u003EI\u0027m already using \u003Ca href=\u0022https:\/\/moment.github.io\/luxon\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Luxon\u003C\/a\u003E in the project,\nso let\u0027s leverage its timezone features to add the \u201cDetect automatically\u201d button:\u003C\/p\u003E\n\u003Cpre\u003E\u003Ccode class=\u0022hljs javascript border\u0022\u003E\u003Cspan class=\u0022hljs-keyword\u0022\u003Ethis\u003C\/span\u003E.timezone = DateTime.local().zone.name;\n\u003C\/code\u003E\u003C\/pre\u003E\n\u003Cp\u003EYup, that\u0027s it. Well, setting aside all the boring stuff,\nlike migrations, server-side handling, autocomplete component, etc. \u2013\nbut the timezone part itself was incredibly easy!\u003C\/p\u003E\n\u003Cp\u003EI also added switches to let users choose whether their continent\/ocean and location field should be explicitly displayed on their card\n(the full timezone code needs to be published by the API anyway, in order to correctly calculate the offset,\nbut we can decide whether to show it in an easily accessible way).\u003C\/p\u003E\n\u003Cp\u003EAnd here\u0027s how it shows up in the profile:\u003C\/p\u003E\n\u003Cfigure\u003E\n                \u003Cnoscript\u003E\n                    \u003Cimg src=\u0022https:\/\/avris.it\/image\/zaimki-timezone-card_big.png\u0022 alt=\u0022Screenshot of @andrea card on pronouns.page. The timezone section says: \u0022It\u0027s 1:36 PM on a Saturday in my timezone (UTC+01:00)\u0022, next line: \u0022Europe \/ Amsterdam\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u0022562.82958199357\u0022\u003E                \n                \u003C\/noscript\u003E\n                \u003Cspan class=\u0022hide-noscript\u0022\u003E\u003Cimg src=\u0022data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAVCAYAAAAuJkyQAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEC0lEQVRIiZ2WS29bVRDHf+d1H\/b1tZM4TUp4SJRuEF2wAKniG7DjS\/E9kGCNhBBrVrACNoCE1KYJUVtqkrRNm\/s8DxbObW3HdlJmeXVm5j+\/MzPnirZtA4C1Lc550jTl\/5i1FiEEQoi570IIlFJX+ocQcM6hAY4O7\/PTt1\/zfg82737O3u07nJyckqYpzjmUkpgoYpjnKwNKKVcmCiFcErpo3vtpHICHR\/uYsiSXge+++YqiKGnaBuccVVXx8vycoijWBlxHIYSw1rcTDUwJPTj8m8ODfcZ6h5O6wf76hBc\/\/M55pHBli1ASYRT\/1C13vvwCncWXgq4jcJWgjg6AaNs2VGXJHz\/\/yNu5Yvuju6g0vxLxrHXX5ZxbmVxrvVKsc25e0GQyoShL4ijGGE0I0ybX2tA0DUorCDP3LCXOOXq9lPF4\/Er8n799z3u7nxGcR2iFbxwqh5OjX9ja+hTdi6ibBlqPURqkwGz15orQAAGITEQInqqqSHs99nb2rkVnlmSSvovOEoJ1yEhT24ZnZyU2\/gSdxYjEMHlyzM5GjhkkeB8IzoN8HUN3FVssSRxzXhS0Tcvx8TF1XSOlJATo9VJevHhJmiY0TYuUgvF4TBRFF+zh7HnMW9sO11pcbSETqMixjccWNSYxjHfHRB6aZyVBBHSeICM9L2g0HF4kDoxGozkC3fT4EBgMBh0XICz0RSBtnuCrG9OpcZ6X1XMmBwfc+uBj7KMjqr9Kklu3cULgCZhROidGCDHtodPTp7S2RStFWVYEAkmSYFtLCB4hJNpovPcEH\/DekQ0GKKVxzpHEMb1eurRJZ01K+apw7\/2lARBCTAk554iMuaCQ0baWQCCKIozRl6h1wZfZdcZ\/du8s+mmAPB\/gL1RrpUiSCydAL1l4V60EIcTS8e+EzO6dS77dW7Yu+KKAVXRmE6+6tmViZ+NrgEePH5MPBpyePkUbDSGQD4dk\/f6ld8g5x71798myjBCmjW2MpqprtjY3ieP40vn9\/Qfs7e0x+XdCv9dne3u8shgNsDkcESUx1rppMAFqBQVjDKPhkOFoiHMOax1t25D1+0ynb56EtZad3R0CYenjvEhfAzQHzwh5gq4tyW6O7s+\/VR2lzlk+LKieOoSU6DQif2draaLuaorTM0ZxhjqriW8M5s4sJZR\/eHMpjVWCyhuaIliMNty8ubHUpztbFAVFUZLrHvFFsd55cAGpJd46pFYIJV8Luo7NViOFpKgK5Jpp684HIPiALVvseU2bGKRWSARCS4L1ROMM9SaCFtEOBhlxHJFl2Vo\/KSWyaYi8RyUaYRRCCqKNHtqYpT7XFjQ7bfmaP8dFP50kpBs50ThDmtc7bdVf5BvtoWU76Sqr63rp9+4ZWbT\/AHQe\/FJjtHuyAAAAAElFTkSuQmCC\u0022 data-src=\u0022https:\/\/avris.it\/image\/zaimki-timezone-card_big.png\u0022 alt=\u0022Screenshot of @andrea card on pronouns.page. The timezone section says: \u0022It\u0027s 1:36 PM on a Saturday in my timezone (UTC+01:00)\u0022, next line: \u0022Europe \/ Amsterdam\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u0022562.82958199357\u0022\u003E\u003C\/span\u003E\n                \n            \u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003EThe clock is of course dynamic. I used Luxon\u0027s built-in localisation to be able to show for example\n\u201c1:35 PM\u201d on the English version while Polish says \u201c13:35\u201d. I also had to remember to include weekday,\nso that it\u0027s clearer if someone is a day ahead or behind you. One nice extra touch is that since\n\u003Ca href=\u0022https:\/\/fontawesome.com\/v5\/search?q=globe\u0026o=r\u0026s=light\u0026f=classic\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E FontAwesome has multiple \u201cglobe\u201d icons\u003C\/a\u003E,\neach focusing on a different continent, I could even make the icon dynamic \ud83d\ude09\u003C\/p\u003E\n\u003Ch3\u003ESummary\u003C\/h3\u003E\n\u003Cp\u003EDifferent use cases might require different solutions, but if yours is similar to ours\n\u2013 relatively low accuracy by design, hard to abuse, easy to localise, etc. \u2013\nkeep in mind that timezones could be super helpful.\u003C\/p\u003E\n\u003Cp\u003EIANA timezone encodes so much information: if you know it,\nyou know both approximately \u003Cstrong\u003Ewhere someone is\u003C\/strong\u003E and also \u003Cstrong\u003Ewhat time\u003C\/strong\u003E is it there.\nPretty cool, huh?\u003C\/p\u003E\n\u003Ch3\u003EUpdate\u003C\/h3\u003E\n\u003Cp\u003ETurns out there are still problems with the IANA timezones database.\nKind of expectedly, huh? I knew life can\u0027t be too easy,\nthere\u0027s definitely gonna be controversies around city names,\nI\u0027m just excpecting that there would be \u003Cem\u003Efewer\u003C\/em\u003E than with countries.\u003C\/p\u003E\n\u003Cp\u003ESo the first one we found is this:\nfor the capital of Ukraine IANA uses\u2026 the Russian spelling \ud83e\udd26 (\u003Cdel\u003EKiev\u003C\/del\u003E).\nWe\u0027ve replaced it with the more appropriate one: Kyiv.\u003C\/p\u003E\u003Csvg xmlns=\u0022http:\/\/www.w3.org\/2000\/svg\u0022 style=\u0022display: none;\u0022\u003E\u003C\/svg\u003E","tags":["timezone","location","privacy","card","profile","luxon"],"hasMore":true,"image":"https:\/\/avris.it\/image\/zaimki-timezone-editor_small.png","introLite":"\u003Cfigure\u003E\u003Ca href=\u0022https:\/\/avris.it\/image\/zaimki-timezone-editor_big.png\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Cimg src=\u0022https:\/\/avris.it\/image\/zaimki-timezone-editor_mini.png\u0022 alt=\u0022Screenshot of the profile editor on pronouns.page, the timezone section. Header: \u0022Timezone\u0022. Description: \u0022If you fill out this field, your card will tell people what time it is where you live. Optionally, you can also chose to publish your approximate location.\u0022. Then a select box with list of timezones along with a button \u0022Detect\u0022. Then two switches: \u0022Publish the continent in your card: Europe\u0022 and \u0022Publish the area in your card: Amsterdam\u0022\u0022 width=\u0022240\u0022 height=\u002273.625498007968\u0022 loading=\u0022lazy\u0022\u003E\u003C\/a\u003E\u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003EA user suggested adding a timezone field to \u003Ca href=\u0022https:\/\/pronouns.page\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Pronouns.page\u003C\/a\u003E.\nThis website lets people, among other things, create a card with info about how they want to be referred \u2013\ntheir pronouns, names, etc. But it also has some generic fields, like age or links,\nso the team was onboard with the idea of adding some more basic info: not just timezone,\nbut while we\u0027re at it, why not also a location?\u003C\/p\u003E\n\u003Cp\u003EWell, adding a location is not as easy as it seems\u2026\u003C\/p\u003E","contentLite":"\u003Cfigure\u003E\u003Ca href=\u0022https:\/\/avris.it\/image\/zaimki-timezone-editor_big.png\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Cimg src=\u0022https:\/\/avris.it\/image\/zaimki-timezone-editor_mini.png\u0022 alt=\u0022Screenshot of the profile editor on pronouns.page, the timezone section. Header: \u0022Timezone\u0022. Description: \u0022If you fill out this field, your card will tell people what time it is where you live. Optionally, you can also chose to publish your approximate location.\u0022. Then a select box with list of timezones along with a button \u0022Detect\u0022. Then two switches: \u0022Publish the continent in your card: Europe\u0022 and \u0022Publish the area in your card: Amsterdam\u0022\u0022 width=\u0022240\u0022 height=\u002273.625498007968\u0022 loading=\u0022lazy\u0022\u003E\u003C\/a\u003E\u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003EA user suggested adding a timezone field to \u003Ca href=\u0022https:\/\/pronouns.page\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Pronouns.page\u003C\/a\u003E.\nThis website lets people, among other things, create a card with info about how they want to be referred \u2013\ntheir pronouns, names, etc. But it also has some generic fields, like age or links,\nso the team was onboard with the idea of adding some more basic info: not just timezone,\nbut while we\u0027re at it, why not also a location?\u003C\/p\u003E\n\u003Cp\u003EWell, adding a location is not as easy as it seems\u2026\u003C\/p\u003E\n\u003Ch3\u003EPrevious experiences\u003C\/h3\u003E\n\u003Cp\u003EFirst thing that comes to mind when I think of adding a location field in a profile\nis my experience running \u003Ca href=\u0022https:\/\/teamlocked.men\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E #TeamLocked\u003C\/a\u003E (NSFW).\nI thought I implemented it in a pretty neat way \u2013 but turns out I still couldn\u0027t avoid issues.\u003C\/p\u003E\n\u003Cp\u003EI wanted the data to be structured, not just a free text field \u2013\nthat way I could add some smaller or bigger features around it:\nfrom displaying a little emoji flag next to a country name,\nto allowing people to search users by country and province.\u003C\/p\u003E\n\u003Cp\u003ESo I split it into three levels: \u003Ccode\u003Ecountry\u003C\/code\u003E, \u003Ccode\u003Eprovince\u003C\/code\u003E (which depending on context can mean a state, a province, a wojew\u00f3dztwo, etc.) and \u003Ccode\u003Ecity\u003C\/code\u003E.\nFirst two being a selection from predefined lists, while the last one a free text input \u2013\ncause I\u0027m not going to manage a database of all cities, municipalities and villages in the world \ud83d\ude05\nBut even for countries and provinces, I didn\u0027t want to manually manage that list either \u2013\nthose things change constantly, and I\u0027d rather focus on actually running the page.\nSo I delegated the issue to the United Nations. I wrote a script that fetches the list of countries from\n\u003Ca href=\u0022https:\/\/unece.org\/trade\/cefact\/unlocode-code-list-country-and-territory\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E here\u003C\/a\u003E\nand the list of provinces from \u003Ca href=\u0022https:\/\/unece.org\/trade\/cefact\/UNLOCODE-Download\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E here\u003C\/a\u003E,\nputs it into a neat JSON file, and then gets used to generate the select fields.\u003C\/p\u003E\n\u003Cp\u003EI thought that would be simple and unproblematic\u2026 until someone messaged me,\nangry that my website calls his country \u201cTaiwan, Province of China\u201d.\nWhich is not something I stand for, but I checked and indeed that\u0027s how UNECE describes the country code \u201cTW\u201d.\nIt\u0027s some kind of a weird compromise between recognising Taiwan\u0027s independence and pleasing China.\nLet\u0027s give it a separate country code while still calling it a part of another country\u2026 Ugh\u2026\u003C\/p\u003E\n\u003Cp\u003EI changed my script to rename that item on the fly, but then more of similar issues kept coming.\nI checked if Kosovo is on a list \u2013 nope, despite having an ISO country code (XK) and an emoji flag (\ud83c\uddfd\ud83c\uddf0),\nit isn\u0027t included on UNECE\u0027s list. So I added it. The list of British provinces didn\u0027t include London for some reason.\nNorth Macedonia\u0027s name didn\u0027t get updated for a while, and Czechia\u0027s still isn\u0027t.\nEven though I had an automated script and was delegating responsibility to an international authority \u2013\nI still ended up needing to put in manual effort into it.\u003C\/p\u003E\n\u003Ch3\u003EOn Pronouns.page it gets even more complicated\u003C\/h3\u003E\n\u003Cp\u003EDespite unexpected issues, it ended up working really well in the end.\nBut simply applying a similar approach (well, probably just reusing the very same script)\nwouldn\u0027t really fit Pronouns.page well.\u003C\/p\u003E\n\u003Cp\u003EFirst of all, unlike #TeamLocked, an adult dating website, Pronouns.page is family friendly,\nand a lot of its users are minors. I want to make sure that I don\u0027t create a feature\nthat could inadvertedly cause harm. What if a 13-year-old queer kid sees a free text input field\ncalled \u201clocation\u201d and without thinking much just puts in their full home address?\u003C\/p\u003E\n\u003Cp\u003EWe\u0027d also like to avoid unnecessary political conflicts. Don\u0027t get me wrong, we\u0027re quite a political team,\nbut our mission is to tell enbies (and queers in general) that they\u0027re amazing, that they deserve respect\nand recognition of their identity, and that they have a right to shape their language to meet their needs;\nnot to get tangled in endless discussions over which government has jurisdiction over which piece of land.\nActually, many of us are anarchists, so we\u0027d rather see those governments fall than start showing their\nflags as a location indicator and validating the notion that artificial political borders are the best way\nto describe where you are \ud83d\ude05\u003C\/p\u003E\n\u003Cp\u003EThen there\u0027s a question of localisation. In the database we\u0027d of course save the country info\nas a simple country code, but when displaying it \u2013 on a page so heavily focused on language and localisation \u2013\nwe\u0027d have to take into account wheter \u201cDE\u201d should get shown as \u201cGermany\u201d, \u201cDeutschland\u201d, \u201cDuitsland\u201d, \u201cNiemcy\u201d, \u2026\nThere\u0027s databases online that we could use for that, but it\u0027s adding another layer of complexity\u2026\u003C\/p\u003E\n\u003Ch3\u003ELatitude, longitude?\u003C\/h3\u003E\n\u003Cp\u003EThere is a way to describe one\u0027s location that\u0027s super simple and (mainly) independent from politics\n\u2013 just use latitude and longitude, right? Other than the prime meridian being an arbitrary choice,\nit literally just describes one\u0027s location on a globe using simple geometry.\u003C\/p\u003E\n\u003Cp\u003EThere is one problem though, at least for our use case: it\u0027s way too accurate.\nWe want to allow users to share some \u003Cem\u003Every basic\u003C\/em\u003E info about themselves,\nto let others know whether they live nearby or across an ocean \u2013 and not to be their GPS \ud83d\ude05\u003C\/p\u003E\n\u003Cp\u003EWhat if we rounded it to the nearest degree, though? Or 5 degrees?\nThat way we\u0027d only know that someone lives within a rectangle of few hundred kilometers by few hundred kilometers,\ngiving us a healthy dose of inaccuracy and therefore privacy.\u003C\/p\u003E\n\u003Cp\u003EWell, I made a little proof of concept of how selecting one\u0027s location would look like,\nand TBH it\u0027s not too nice or intuitive. It\u0027s just a map with some arbitrary rectangle following your mouse,\nit looks confusing when you live near an edge of such a rectangle,\nit would require some fancier projection than Mercator, it wouldn\u0027t be too easy to use on mobile, etc. etc.\u003C\/p\u003E\n\u003Cp\u003EAll of those potential issues can be overcome, of course, but I\u0027d rather settle for something easier,\nif possible.\u003C\/p\u003E\n\u003Ch3\u003ETimezones to the rescue!\u003C\/h3\u003E\n\u003Cp\u003EWell, the answer has been there all along! We were going to implement timezones anyway, right?\nWe can use that for location information. After all, time and space are very closely related!\u003C\/p\u003E\n\u003Cp\u003EThe simplest way to approach storing one\u0027s timezone would be to save the offset, like \u003Ccode\u003EUTC-5\u003C\/code\u003E.\nBut offset \u2260 timezone! My timezone is UTC+1 now, but in March it will switch\nto UTC+2 even if I don\u0027t move anywhere \u2013 thanks DST \ud83d\ude44\nIt\u0027s more accurate to use \u003Ca href=\u0022https:\/\/www.iana.org\/time-zones\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E IANA\u0027s timezones\u003C\/a\u003E,\nin my case \u003Ccode\u003EEurope\/Amsterdam\u003C\/code\u003E \u2013 that way a library can just calculate the proper offset itself.\u003C\/p\u003E\n\u003Cp\u003EBut as you can see, that format already includes some location information!\nWhy don\u0027t we just use it? Here\u0027s how those timezones look on a map:\u003C\/p\u003E\n\u003Cfigure\u003E\u003Ca href=\u0022https:\/\/avris.it\/image\/tz-database-map_big.png\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Cimg src=\u0022https:\/\/avris.it\/image\/tz-database-map_mini.png\u0022 alt=\u0022A map of IANA timezones\u0022 width=\u0022240\u0022 height=\u0022103.59375\u0022 loading=\u0022lazy\u0022\u003E\u003C\/a\u003E\u003Cfigcaption\u003E\n                    \u003Ca href=\u0022https:\/\/commons.wikimedia.org\/wiki\/File:2017a.png\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csmall\u003Ecommons.wikimedia.org\/wiki\/File:2017a.png\u003C\/small\u003E\u003C\/a\u003E\n                \u003C\/figcaption\u003E\u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003EIt looks exactly like what we need! It splits the Earth into chunks that look less arbitrary and clunky\nthan some purely geometric lat\/long rectangles. Chunks that are big enough not to give away too much of someone\u0027s location,\nbut small enough to give a pretty good understanding of how far away from you someone is.\nSure, in many cases those splits follow country borders, but at least the assocciated labels focus mostly\non cities and geographical names rather than political ones.\u003C\/p\u003E\n\u003Ch2\u003EImplementing the feature\u003C\/h2\u003E\n\u003Cp\u003ESo, let\u0027s get to actually implementing the timezone field! It ended up being way simpler than I imagined.\nHere\u0027s how the form looks:\u003C\/p\u003E\n\u003Cfigure\u003E\u003Ca href=\u0022https:\/\/avris.it\/image\/zaimki-timezone-editor_big.png\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Cimg src=\u0022https:\/\/avris.it\/image\/zaimki-timezone-editor_mini.png\u0022 alt=\u0022Screenshot of the profile editor on pronouns.page, the timezone section. Header: \u0022Timezone\u0022. Description: \u0022If you fill out this field, your card will tell people what time it is where you live. Optionally, you can also chose to publish your approximate location.\u0022. Then a select box with list of timezones along with a button \u0022Detect\u0022. Then two switches: \u0022Publish the continent in your card: Europe\u0022 and \u0022Publish the area in your card: Amsterdam\u0022\u0022 width=\u0022240\u0022 height=\u002273.625498007968\u0022 loading=\u0022lazy\u0022\u003E\u003C\/a\u003E\u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003ETurns out we can just use a built-in JavaScript feature to list all the IANA timezone codes:\u003C\/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Ethis.timezones = Intl.supportedValuesOf(\u0027timeZone\u0027);\u003C\/code\u003E\u003C\/pre\u003E\n\u003Cp\u003EI\u0027m already using \u003Ca href=\u0022https:\/\/moment.github.io\/luxon\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Luxon\u003C\/a\u003E in the project,\nso let\u0027s leverage its timezone features to add the \u201cDetect automatically\u201d button:\u003C\/p\u003E\n\u003Cpre\u003E\u003Ccode\u003Ethis.timezone = DateTime.local().zone.name;\u003C\/code\u003E\u003C\/pre\u003E\n\u003Cp\u003EYup, that\u0027s it. Well, setting aside all the boring stuff,\nlike migrations, server-side handling, autocomplete component, etc. \u2013\nbut the timezone part itself was incredibly easy!\u003C\/p\u003E\n\u003Cp\u003EI also added switches to let users choose whether their continent\/ocean and location field should be explicitly displayed on their card\n(the full timezone code needs to be published by the API anyway, in order to correctly calculate the offset,\nbut we can decide whether to show it in an easily accessible way).\u003C\/p\u003E\n\u003Cp\u003EAnd here\u0027s how it shows up in the profile:\u003C\/p\u003E\n\u003Cfigure\u003E\u003Ca href=\u0022https:\/\/avris.it\/image\/zaimki-timezone-card_big.png\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Cimg src=\u0022https:\/\/avris.it\/image\/zaimki-timezone-card_mini.png\u0022 alt=\u0022Screenshot of @andrea card on pronouns.page. The timezone section says: \u0022It\u0027s 1:36 PM on a Saturday in my timezone (UTC+01:00)\u0022, next line: \u0022Europe \/ Amsterdam\u0022\u0022 width=\u0022240\u0022 height=\u0022140.70739549839\u0022 loading=\u0022lazy\u0022\u003E\u003C\/a\u003E\u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003EThe clock is of course dynamic. I used Luxon\u0027s built-in localisation to be able to show for example\n\u201c1:35 PM\u201d on the English version while Polish says \u201c13:35\u201d. I also had to remember to include weekday,\nso that it\u0027s clearer if someone is a day ahead or behind you. One nice extra touch is that since\n\u003Ca href=\u0022https:\/\/fontawesome.com\/v5\/search?q=globe\u0026o=r\u0026s=light\u0026f=classic\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E FontAwesome has multiple \u201cglobe\u201d icons\u003C\/a\u003E,\neach focusing on a different continent, I could even make the icon dynamic \ud83d\ude09\u003C\/p\u003E\n\u003Ch3\u003ESummary\u003C\/h3\u003E\n\u003Cp\u003EDifferent use cases might require different solutions, but if yours is similar to ours\n\u2013 relatively low accuracy by design, hard to abuse, easy to localise, etc. \u2013\nkeep in mind that timezones could be super helpful.\u003C\/p\u003E\n\u003Cp\u003EIANA timezone encodes so much information: if you know it,\nyou know both approximately \u003Cstrong\u003Ewhere someone is\u003C\/strong\u003E and also \u003Cstrong\u003Ewhat time\u003C\/strong\u003E is it there.\nPretty cool, huh?\u003C\/p\u003E\n\u003Ch3\u003EUpdate\u003C\/h3\u003E\n\u003Cp\u003ETurns out there are still problems with the IANA timezones database.\nKind of expectedly, huh? I knew life can\u0027t be too easy,\nthere\u0027s definitely gonna be controversies around city names,\nI\u0027m just excpecting that there would be \u003Cem\u003Efewer\u003C\/em\u003E than with countries.\u003C\/p\u003E\n\u003Cp\u003ESo the first one we found is this:\nfor the capital of Ukraine IANA uses\u2026 the Russian spelling \ud83e\udd26 (\u003Cdel\u003EKiev\u003C\/del\u003E).\nWe\u0027ve replaced it with the more appropriate one: Kyiv.\u003C\/p\u003E","words":1554,"readTime":7,"lang":"en"}}},"blog\/technology\/log-out-for-privacy":{"key":"blog\/technology\/log-out-for-privacy","type":"article","published":true,"meta":{"createdAt":"2019-07-29T11:58:57+02:00","publishedAt":"2019-07-29T11:57:00+02:00","group":"tech-breakups","category":"blog","subcategory":"technology","slug":"log-out-for-privacy"},"content":{"en":{"slug":"log-out-for-privacy","title":"Log out for privacy","intro":"\u003Cp\u003EAn image search brought be to Pinterest, which automatically\u2026 logged me in to an old account, I didn\u2019t even remember I had. I definitely never logged in on this browser.\u003C\/p\u003E\n\u003Cp\u003EThey just logged me in without asking. WTF?!\u003C\/p\u003E\u003Csvg xmlns=\u0022http:\/\/www.w3.org\/2000\/svg\u0022 style=\u0022display: none;\u0022\u003E\u003C\/svg\u003E","content":"\u003Cp\u003EAn image search brought be to Pinterest, which automatically\u2026 logged me in to an old account, I didn\u2019t even remember I had. I definitely never logged in on this browser.\u003C\/p\u003E\n\u003Cp\u003EThey just logged me in without asking. WTF?!\u003C\/p\u003E\n\u003Cp\u003ESeems like they use a \u201cLogin with Facebook\u201d button as a script that shares cookies with the facebook.com domain, basically giving them access to each other and letting a third-party website know my FB account before I use it to log in!\u003C\/p\u003E\n\u003Cp\u003EI\u2019ve \u003Ca href=\u0022fuck-you-facebook\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E stopped using FB\u003C\/a\u003E over two years ago, removed most of my personal data, and I only go there when I need to contact someone and have no other option.\u003C\/p\u003E\n\u003Cp\u003EI\u2019ve only now realised that\u2019s not nearly enough to protect my privacy. FB keeps lurking on you even on unrelated websites.\u003C\/p\u003E\n\u003Cp\u003ESo I\u2019ve \u003Cstrong\u003Elogged out\u003C\/strong\u003E of Facebook. And \u003Cstrong\u003Eremoved all their cookies\u003C\/strong\u003E. And removed the damn Pinterest account.\u003C\/p\u003E\n\u003Cp\u003EAnd after I move some stuff out of Google ecosystem, I\u2019m going to log out from it as well. They\u2019re even worse at respecting user\u2019s privacy \ud83e\udd2e\u003C\/p\u003E\n\u003Cp\u003EAll the giants thinking you have a right to track me wherever I go online: fuck you all \ud83d\udd95\ud83d\udd95\ud83d\udd95\ud83d\udd95\ud83d\udd95\u003C\/p\u003E\u003Csvg xmlns=\u0022http:\/\/www.w3.org\/2000\/svg\u0022 style=\u0022display: none;\u0022\u003E\u003C\/svg\u003E","tags":["ads","cookies","facebook","google","privacy","tracking"],"hasMore":true,"image":null,"introLite":"\u003Cp\u003EAn image search brought be to Pinterest, which automatically\u2026 logged me in to an old account, I didn\u2019t even remember I had. I definitely never logged in on this browser.\u003C\/p\u003E\n\u003Cp\u003EThey just logged me in without asking. WTF?!\u003C\/p\u003E","contentLite":"\u003Cp\u003EAn image search brought be to Pinterest, which automatically\u2026 logged me in to an old account, I didn\u2019t even remember I had. I definitely never logged in on this browser.\u003C\/p\u003E\n\u003Cp\u003EThey just logged me in without asking. WTF?!\u003C\/p\u003E\n\u003Cp\u003ESeems like they use a \u201cLogin with Facebook\u201d button as a script that shares cookies with the facebook.com domain, basically giving them access to each other and letting a third-party website know my FB account before I use it to log in!\u003C\/p\u003E\n\u003Cp\u003EI\u2019ve \u003Ca href=\u0022fuck-you-facebook\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E stopped using FB\u003C\/a\u003E over two years ago, removed most of my personal data, and I only go there when I need to contact someone and have no other option.\u003C\/p\u003E\n\u003Cp\u003EI\u2019ve only now realised that\u2019s not nearly enough to protect my privacy. FB keeps lurking on you even on unrelated websites.\u003C\/p\u003E\n\u003Cp\u003ESo I\u2019ve \u003Cstrong\u003Elogged out\u003C\/strong\u003E of Facebook. And \u003Cstrong\u003Eremoved all their cookies\u003C\/strong\u003E. And removed the damn Pinterest account.\u003C\/p\u003E\n\u003Cp\u003EAnd after I move some stuff out of Google ecosystem, I\u2019m going to log out from it as well. They\u2019re even worse at respecting user\u2019s privacy \ud83e\udd2e\u003C\/p\u003E\n\u003Cp\u003EAll the giants thinking you have a right to track me wherever I go online: fuck you all \ud83d\udd95\ud83d\udd95\ud83d\udd95\ud83d\udd95\ud83d\udd95\u003C\/p\u003E","words":201,"readTime":null,"lang":"en"}}},"blog\/technology\/ungoogling":{"key":"blog\/technology\/ungoogling","type":"article","published":true,"meta":{"createdAt":"2018-12-18T18:16:39+01:00","publishedAt":"2018-12-25T17:07:00+01:00","group":"tech-breakups","category":"blog","subcategory":"technology","slug":"ungoogling"},"content":{"en":{"slug":"ungoogling","title":"Ungoogling","intro":"\u003Cfigure\u003E\n                \u003Cnoscript\u003E\n                    \u003Cimg src=\u0022https:\/\/avris.it\/image\/ungoogled_small.png\u0022 alt=\u0022un-Google-d\u0022 class=\u0022border-bottom\u0022 width=\u0022480\u0022 height=\u0022322.56\u0022\u003E                \n                \u003C\/noscript\u003E\n                \u003Cspan class=\u0022hide-noscript\u0022\u003E\u003Cimg src=\u0022data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAYCAYAAACSuF9OAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACGElEQVRIie2WQWsTQRiGn5kmNlUjbi4iUeoxEomQQEvBgxbES7yJP8CLHrz6B\/Qf9KQnQfAoqKeCUitJ8BBjhGgUJEQ04mqgaeJumk13djxU7RpNUiUGhLyXWd7vZfl4hplvhNZaA3xbEEKgtUYIQT\/fX+\/N+L1+mUH\/kf7wuORvoldyWOBfaBCACSGYEBqukRH6ZGner6sdZR3P7VsbCaHbzzrcLTmsvNmkuuYNzV97ee8XL5vN0mw2BwIIwM+ETNMkEolQr9dptVrYtk0qleL1Z8XVM7u5U+rywnSZzT9EV6uI+XnMfSW0+4VdB89xsxCm2fFYMzzU6iq6\/Aq5uMjH8F4qlQqxWOzPCJmmSa1WI5\/Pk8lksG2ber2OqzQdFxZmA+Sqm3jlMlOXLrL+4D5hrQgfSvOksMrCkQBHDwToKo238ggMA6anyeVyGIZBL4DfNuQPxONxCoUClmWRTCZJJBIUi0Uun5hhKbPBracdLsyFkKkk6voNjLPnaQf2YH1Y5uTcafLvXB5Xuhzff5ipdBqaTbBtotEojUaDdrs9kJAY5SyzupqlzAYBKbhyagb5F7NM6C1tdziG4TooI7TWWik19ruonySA53k4joMQAinlj\/X7d6\/vr\/dm\/N5OM8\/f2kgpUUptNQQQDAbHRqH3lB0zuttbqrXWjuPguv1v1nFICEEoFBrtKZu8GEelyXtomP4rQl8B1NeDPuzoe2cAAAAASUVORK5CYII=\u0022 data-src=\u0022https:\/\/avris.it\/image\/ungoogled_small.png\u0022 alt=\u0022un-Google-d\u0022 class=\u0022border-bottom\u0022 width=\u0022480\u0022 height=\u0022322.56\u0022\u003E\u003C\/span\u003E\n                \n            \u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003EDepending on one company with all of your data is pretty risky. Even if we ignore the obvious privacy concerns of when some corporation knows \u003Cem\u003Eeverything\u003C\/em\u003E about you... Just imagine what would happen to you personally, if one day that corporation would just... disappear for whatever reason. Say, Google gets a huge fine from the European Commission for one of their monopolistic practices or shitting on their users\u2019 privacy, and turns out they don\u2019t recover from that. How screwed are you?\u003C\/p\u003E\n\u003Cp\u003EOne day you lose your emails, photos, passwords, documents, notes, calendar, what else?\u003C\/p\u003E\n\u003Cp\u003ESo, recently I decided to \u003Cem\u003Ediversify\u003C\/em\u003E my technical dependencies. Not to boycott Google completely, but to at least use it less.\u003C\/p\u003E\u003Csvg xmlns=\u0022http:\/\/www.w3.org\/2000\/svg\u0022 style=\u0022display: none;\u0022\u003E\u003C\/svg\u003E","content":"\u003Cfigure\u003E\n                \u003Cnoscript\u003E\n                    \u003Cimg src=\u0022https:\/\/avris.it\/image\/ungoogled_big.png\u0022 alt=\u0022un-Google-d\u0022 class=\u0022border\u0022 width=\u0022625\u0022 height=\u0022420\u0022\u003E                \n                \u003C\/noscript\u003E\n                \u003Cspan class=\u0022hide-noscript\u0022\u003E\u003Cimg src=\u0022data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAYCAYAAACSuF9OAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACGElEQVRIie2WQWsTQRiGn5kmNlUjbi4iUeoxEomQQEvBgxbES7yJP8CLHrz6B\/Qf9KQnQfAoqKeCUitJ8BBjhGgUJEQ04mqgaeJumk13djxU7RpNUiUGhLyXWd7vZfl4hplvhNZaA3xbEEKgtUYIQT\/fX+\/N+L1+mUH\/kf7wuORvoldyWOBfaBCACSGYEBqukRH6ZGner6sdZR3P7VsbCaHbzzrcLTmsvNmkuuYNzV97ee8XL5vN0mw2BwIIwM+ETNMkEolQr9dptVrYtk0qleL1Z8XVM7u5U+rywnSZzT9EV6uI+XnMfSW0+4VdB89xsxCm2fFYMzzU6iq6\/Aq5uMjH8F4qlQqxWOzPCJmmSa1WI5\/Pk8lksG2ber2OqzQdFxZmA+Sqm3jlMlOXLrL+4D5hrQgfSvOksMrCkQBHDwToKo238ggMA6anyeVyGIZBL4DfNuQPxONxCoUClmWRTCZJJBIUi0Uun5hhKbPBracdLsyFkKkk6voNjLPnaQf2YH1Y5uTcafLvXB5Xuhzff5ipdBqaTbBtotEojUaDdrs9kJAY5SyzupqlzAYBKbhyagb5F7NM6C1tdziG4TooI7TWWik19ruonySA53k4joMQAinlj\/X7d6\/vr\/dm\/N5OM8\/f2kgpUUptNQQQDAbHRqH3lB0zuttbqrXWjuPguv1v1nFICEEoFBrtKZu8GEelyXtomP4rQl8B1NeDPuzoe2cAAAAASUVORK5CYII=\u0022 data-src=\u0022https:\/\/avris.it\/image\/ungoogled_big.png\u0022 alt=\u0022un-Google-d\u0022 class=\u0022border\u0022 width=\u0022625\u0022 height=\u0022420\u0022\u003E\u003C\/span\u003E\n                \n            \u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003EDepending on one company with all of your data is pretty risky. Even if we ignore the obvious privacy concerns of when some corporation knows \u003Cem\u003Eeverything\u003C\/em\u003E about you... Just imagine what would happen to you personally, if one day that corporation would just... disappear for whatever reason. Say, Google gets a huge fine from the European Commission for one of their monopolistic practices or shitting on their users\u2019 privacy, and turns out they don\u2019t recover from that. How screwed are you?\u003C\/p\u003E\n\u003Cp\u003EOne day you lose your emails, photos, passwords, documents, notes, calendar, what else?\u003C\/p\u003E\n\u003Cp\u003ESo, recently I decided to \u003Cem\u003Ediversify\u003C\/em\u003E my technical dependencies. Not to boycott Google completely, but to at least use it less.\u003C\/p\u003E\n\u003Ch3\u003E\u2705 Google Search \u2192 DuckDuckGo\u003C\/h3\u003E\n\u003Cp\u003EIf you think about it, there\u2019s usually no need for the search engine to know who you are in order to serve you useful search results, right? Even for the purpose of making money on ads: if you\u2019re looking for \u201cbarbecue\u201d, they\u2019ll show you adverts of grills, because that\u2019s what you\u2019re looking for right now, and not adverts of Cloud Storage, because they know from somewhere else that you might need it... Yet, Google still collects plenty of data about you when you search...\u003C\/p\u003E\n\u003Cp\u003EThe switch to the privacy-oriented \u003Ca href=\u0022https:\/\/duckduckgo.com\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E DuckDuckGo\u003C\/a\u003E turned out to be surprisingly easy. I just changed the default search engine in Chrome and... and that\u2019s it! DuckDuckGo offers most of the features that I was used to in Google, has similar interface, and most importantly it serves the search results that are just as relevant as those of Google.\u003C\/p\u003E\n\u003Ch3\u003E\u2705 Images \u2192 DuckDuckGo\/Unsplash\u003C\/h3\u003E\n\u003Cp\u003ESame goes for the image search: DuckDuckGo handles it perfectly, and even has way less annoying user interface than Google.\u003C\/p\u003E\n\u003Cp\u003EAnd when I\u2019m looking for a nice photo to use in a project, I go to \u003Ca href=\u0022https:\/\/unsplash.com\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Unsplash\u003C\/a\u003E. Everything there is high quality and \u003Ca href=\u0022https:\/\/unsplash.com\/license\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E totally free\u003C\/a\u003E to use however you\u2019d like \ud83d\ude0d\u003C\/p\u003E\n\u003Ch3\u003E\u2705 Chrome \u2192 \u003Cdel\u003EOpera\u003C\/del\u003E \u2192 \u003Ca href=\u0022https:\/\/brave.com\/avr418\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Brave Browser\u003C\/a\u003E\u003C\/h3\u003E\n\u003Cp\u003ELet\u2019s not kid ourselves, all the modern browsers are basically the same. They might have this little feature less or this feature more, but I honestly can\u2019t think of any \u003Cem\u003Estrong\u003C\/em\u003E reasons to like one over another. Some even share the same engines, just with a different UI. Even Edge is a good browser already. It doesn\u2019t matter that much, which one you choose, and switching between them shouldn\u2019t be a big issue. They can import all your settings from your previous browser.\u003C\/p\u003E\n\u003Cp\u003EOr not. That\u2019s what I did: started with a clear browser, no history, no passwords, no saved forms. I wanted to do it anyway, so ungoogling my life was a good occasion to also restart my browser.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E I found out about \u003Ca href=\u0022https:\/\/brave.com\/avr418\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Brave Browser\u003C\/a\u003E\n\u2013 it focuses on privacy, has a built-in private window with TOR feature,\nand most importantly it blocks most ads and trackers while still staying fair towards the content creators\nby encouraging a new model of digital avertising based on \u003Ca href=\u0022https:\/\/basicattentiontoken.org\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E BAT\u003C\/a\u003E.\nCheck it out, it\u0027s awesome!\u003C\/p\u003E\n\u003Ch3\u003E\u2705 Passwords \u2192 KeePass\u003C\/h3\u003E\n\u003Cp\u003EI used to use the same password for everything. Then I got smarter and started using different versions of the same password. But it\u2019s obviously not how you should treat your passwords to stay safe.\u003C\/p\u003E\n\u003Cp\u003ESo now I\u2019m using a unique, random, strong password for each service. And I don\u2019t store it in Chrome (or any other browser) anymore. Instead, I put them in a password manager, \u003Ca href=\u0022https:\/\/keepass.info\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E KeePass\u003C\/a\u003E. Opening it, finding the right password and copy-pasting it to the browser might be a bit less convenient than having the browser just remember it for you, but this way the only party that ever has access to my unhashed \/unencrypted passwords is me.\u003C\/p\u003E\n\u003Cp\u003EI sync the KeePass file (encrypted) between devices via \u003Cdel\u003EGoogle Drive, so that\u2019s still in the queue to ungoogle.\u003C\/del\u003E \u2192 via Cubbit.\u003C\/p\u003E\n\u003Ch3\u003E\u2705 Analytics \u2192 \u003Cdel\u003EMatomo\u003C\/del\u003E \u2192 Plauisble\u003C\/h3\u003E\n\u003Cp\u003EGetting rid of Google Analytics required a bit more work, because I have 13 websites tracked that would all require new tracking codes, commits, deployments... But when my lovely husband finally published \u003Ca href=\u0022https:\/\/malenkowicz.net\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E his literary blog\u003C\/a\u003E, and I had to do all that anyway, we decided to give \u003Ca href=\u0022https:\/\/matomo.org\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Matomo\u003C\/a\u003E a go.\u003C\/p\u003E\n\u003Cp\u003EI just had to set it up on my server (it\u2019s totally free, if you self-host it). Aaand I loved it. It\u2019s hard for me to compare their features, since I only use the most basic stuff, but Matomo seems to have all I need (and more), with an interface that I like more than Google\u2019s.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E Matomo is very heavy, slow and offers way more features than I ever needed. I found this gem, though, and it\u0027s amazing: \u003Ca href=\u0022https:\/\/plausible.io\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Plausible\u003C\/a\u003E.\u003C\/p\u003E\n\u003Ch3\u003E\u2705 Inbox \u2192 \u003Cdel\u003EProtonmail\u003C\/del\u003E \u2192 Tutanota\u003C\/h3\u003E\n\u003Cp\u003EI really like Inbox\u2019s extra features, like grouping emails into trips, snoozing etc. I might have some doubts about leaving it, if it weren\u2019t for the fact that \u003Ca href=\u0022https:\/\/steemit.com\/news\/@spidernet\/google-inbox-will-close-down\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Google is killing the project\u003C\/a\u003E, so I won\u2019t use it one way or another. I\u2019m using an email in my own domain, while my @gmail.com address is mostly there collecting spam, so having to change my address won\u2019t be a problem either.\u003C\/p\u003E\n\u003Cp\u003EI don\u2019t want to set up my own IMAP\/SMTP server, because I just don\u2019t know enough about it to risk being classified as spam or not having 99.999% uptime.\u003C\/p\u003E\n\u003Cp\u003EWhat I do now is redirecting all the incoming emails to Gmail on the DNS level, and use Gmail as SMTP. I could do something similar with almost any other mailbox provider, right?\u003C\/p\u003E\n\u003Cp\u003EI guess I\u2019ll try \u003Ca href=\u0022https:\/\/protonmail.com\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E ProtonMail\u003C\/a\u003E because of their efforts for security and privacy. It\u2019s paid (if you need the features I need), but it seems to be worth it. If one day I finally have time and strength to finally start setting it all up, I\u2019ll let you know how it went.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E Turns out ProtonMail doesn\u2019t have an option to keep you logged in, it just cleans your session after you close the tab, even on a trusted device. Seriously. That\u2019s just laughable! Users \u003Ca href=\u0022https:\/\/protonmail.uservoice.com\/forums\/284483-feedback\/suggestions\/9594603\u2013keep-me-logged-in-option\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E keep requesting it\u003C\/a\u003E, and ProtonMail keeps ignoring them. Since I\u2019m using a password manager and two-factor authentication, that\u2019s a total deal breaker for me.\u003C\/p\u003E\n\u003Cp\u003EI\u2019ve switched to \u003Ca href=\u0022https:\/\/tutanota.com\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Tutanota\u003C\/a\u003E. So far it looks just as nice, and it\u2019s even 4x cheaper. The transition was smooth and way easier than I expected (setting up an MX and a TXT record on the DNS). So far, I\u2019m pretty happy with it.\u003C\/p\u003E\n\u003Ch3\u003E\u23f3 Keep \u2192  \u003Cdel\u003E\u0026lt;my own project\u003E\u003C\/del\u003E \u2192 \u2705 iCloud Notes\u003C\/h3\u003E\n\u003Cp\u003EI never had a notes app that I was fully happy with. Currently I\u2019m using Google Keep, but it fucks up the synchronization pretty often, leaving me with outdated or missing notes.\u003C\/p\u003E\n\u003Cp\u003EExcept... I was happy with one notes app, but this one I wrote myself. It was hiding right behind the left border of the screen and would slide out if your mouse went it that area, so it was always just a mouse move away. It was the times when I didn\u2019t have to sync it between devices though.\u003C\/p\u003E\n\u003Cp\u003EBut actually... Why not? Why not write my own thing?\u003C\/p\u003E\n\u003Cp\u003ESo... the migration is still in progress.\u003C\/p\u003E\n\u003Cfigure\u003E\n                \u003Cnoscript\u003E\n                    \u003Cimg src=\u0022https:\/\/avris.it\/image\/notes-app_big.png\u0022 alt=\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u0022467.89915966387\u0022\u003E                \n                \u003C\/noscript\u003E\n                \u003Cspan class=\u0022hide-noscript\u0022\u003E\u003Cimg src=\u0022data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAARCAYAAAC1tw6GAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFtklEQVRIiXWV229cVxXGf3uf28yZM2fuM7YTJ45p2iiiSh0QBlWVkJoWGoqQoECbSi0SlweEBG888BTxiqASfwB94ipQhdSHAI0CSBEXVUQlpbnLcW1PbI\/tuZ77OZuHscex4i7pSPvsy9prfd+39hLyx7cVu1bKSYJEESaTqUesnteYdTSSDJT66H0AG37Ghp9+5LoUAnv5HwxnFydzwvM8lWUZAEE\/JEsPv0RqIZtLN8lpJgVXJ8MkTmM0KZFGkdQ0SaIAhCBNM9IMEBIFuJUa\/cw81K8uoOno42CEQM\/n88A42\/76kOFgiKZp2HkbO29PDt69fZ2f\/+h7zFRcrJl5NNfFkClGsMGJ2cdpPHEaLehQLhV58KDD+naAn2oEqWTxuS8SFaYJfB9d16jWmwghAIjSGMuy0PVxUPrD0drFPFZuP5OEeH8soVgq8bEzixxbW+ZmaKLZEdcGR7HSAmp9k637\/+XU6XmGW9t4\/ZhRrDEIM9I4ol4qoNzdBFUEu0QIsoOIPfzzXt5jkEsOhbZsalTm5lhbuUPgWiQtjdlmg7Bg0e4J\/OEGw3aXRr3H6nqXTj+i72d0vYiF7T7XbrxLzXU5cbyB4+YZeTERkkwIjjcESqkxZXt0Afi+R3c4QEiJ7ToY1j5avZHH7XaHtbVNBpqDW\/JpaB8S9iSnPvk0Zr1KZxhx5d83WHrQpTcYMfRjolTxhdGQnKYj\/YRaYtIs2aiGS5CC50dkWYaUEqUU+sOVYt1pY3e7mKbF7KxJHA8RAsIwYmr+JF+58C3iMEQaNkbOJAlGaELSaLW4\/Jd36CQFlu\/dJwWSRCOTEiEVpBG3PriJY+TwVv5FdeUx4jDBDxOq1SbPfO7ZSQwiy7JJRBcvXmRm5ggvvHCeSqXMX69cplAoUKvXaNSbaLpOlqmxMKvViZMwDJEqhuxwutsPtvjhd79DMZ9Dl5AJQb8\/YBSkFJszvPnrX05ELdQuREoput0e\/X6PnGXilsoYhgGA542IwginWCRNx+\/KngOAKIoQQjAcjhirVTA11Zqsr292+M2fLqMME103kAKEkIgkwc5ZvHr+HFLKRwN642c\/ZXunSxgGNBrN8QYhWFtb5atff5k791dwbI183sYPIlSastodUilVOffpp+l5AYIUsoQ0TckyhYEkVBGf+PYPkJUqObfK9MxxNtfa6P1tZtwc\/3zzjUnyB0TdbE0hNY04jjFNC6UyhJBMT0+zMUj4xZ\/fxSlXMMouHS+moOsokePjMzErby3zq\/fbFMJ7dNsfkkYRHWcKFRzlJ6\/VqAV9tm+3ybkucuMe20uryCjAnR4nfqDK9uzlxxcQRwME+2W4Z39rNlh\/8ZuY1QLCFFQMSZSCJSVKS7j1vs92uUhhK0eW7uBHJoVQYdQiio1pvn\/hJRQCxEMXqoyy607oeqTKPFJG4QgpJBWniK5r+2f9PsaNa9zSdMplm2jYRyjIOQ5HigaloEHLW2JpsEXVcfBGI0TmEAb3Edki58+8TpalCCEwDAtjT4N6eqAnHkBInz1CsTmGMNr9Jmuddaor15mOAzb9AHpdDMch8kbEZxeIfAv1wXWy5esshxmxF1NqbRNnBbSoi11vEMYJmpToeoJp7KIiDzZffY8WpRSxUIyScYMsOUVse7+XTUd9LpyZ5zBrtVpgl3nqZBUVLRIpidBMNN1ECMWp+Rpa5z\/s7Oxw+snPsNZe4fdvvU2zXuHzn\/0UQpydyOMAQqadQ7eMfQqTcDLuDwZcvXp1Aq9hGBMnc3Nz9Icj\/vje\/3iyYnF3dZO7577G4NgJSklKLUg4ZliYrkVqWxTLeX576W2+8corrPoh9d2X+pHWcSl4h524CwKklGi7sAIs1Bf48pdeOhShSqXMlcuXaPo9Xnz2OdqPDbhbNWmdPMLZgsWcbTBYTSnNPoU\/HPD3P\/yO5qkzPPP880SGfcDX\/wH1KJOXQcntCQAAAABJRU5ErkJggg==\u0022 data-src=\u0022https:\/\/avris.it\/image\/notes-app_big.png\u0022 alt=\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u0022467.89915966387\u0022\u003E\u003C\/span\u003E\n                \n            \u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E Developing that project is taking me quite a while (mostly because I\u0027m focusing on other things\nand not doing this one at all), so I\u0027ve settled for a corporate solution.\nAnd it looks like Apple\u0027s Notes work very well and synchronise without problems.\u003C\/p\u003E\n\u003Ch3\u003E\u23f3 Drive \u2192 \u003Cdel\u003EAmazon S3 + \u0026lt;my own project\u003E\u003C\/del\u003E \u2192 \u2753 Cubbit?\u003C\/h3\u003E\n\u003Cp\u003EI\u2019m not using Google Drive that much, but still...\nI think that when I figure out the synchronisation for my notes app,\nI could just as well use it to sync files as well\n\u2013 most probably hosted on \u003Ca href=\u0022https:\/\/aws.amazon.com\/s3\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Amazon S3\u003C\/a\u003E.\nLet\u2019s see how that goes, keep fingers crossed! \ud83e\udd1e\ud83c\udffc\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E I\u0027ve supported \u003Ca href=\u0022https:\/\/www.cubbit.io\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Cubbit\u003C\/a\u003E on Kickstarter.\nIt looks really promissing \u0026amp; revolutionary! It\u0027s still at its early stages, though.\nTime will tell, if it was worth it.\u003C\/p\u003E\n\u003Ch3\u003E\u003Cdel\u003E\ud83d\udc4d Authenticator\u003C\/del\u003E \u2192 \u2705 Authy\u003C\/h3\u003E\n\u003Cp\u003EI\u2019m fine with keeping some Google tools. For instance Authenticator \u2013 it doesn\u2019t store any personal data, it just uses a standardised algorithm to generate time-dependent access codes. There\u2019s plenty of compatible apps that can replace it \u2013 but I\u2019d have to to go all the websites where I use 2FA and regenerate the tokens. Nah, too much work, not worth it.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E After switching from Android to iPhone I had to re-configure the MFA anyway, so I decided to find an alternative for Google Authenticator. And there it was \u2013 \u003Ca href=\u0022https:\/\/authy.com\/\u0022\u003EAuthy\u003C\/a\u003E. It has a way better UI \u2013 with icons and colors to more easily select which account you want to log in to \u2013 and it allows you to share your access tokens between multiple devices, making it way easier to migrate to a new device, to use your computer when your phone is not around, and to recover when you lose your device.\u003C\/p\u003E\n\u003Ch3\u003E\u003Cdel\u003E\ud83d\udc4d AdSense\u003C\/del\u003E \u2192 \ud83d\ude15 AdSense + \u2705 BAT \u2192 \u2705 \u003Ca href=\u0022https:\/\/arc.io\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E arc.io\u003C\/a\u003E\u003C\/h3\u003E\n\u003Cp\u003EThe ad revenue from my websites is laughable (it didn\u2019t even reach the minimum for payout, and I had to start over to switch currency and country), but I keep them just in case. One time a post of mine got so popular it almost broke my server, but I had no ads in place at the time... #tyleprzegra\u0107\u003C\/p\u003E\n\u003Cp\u003EStill, seems like AdSense is the simplest (auto ads \ud83d\ude0d), most advanced and most seamless ad platform I could find. And with my level of \u201crevenue\u201d it doesn\u2019t really matter, which one I use. So screw it for now.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E I\u0027ve decided to only keep AdSense on the three websites where they make some profit:\n\u003Ca href=\u0022https:\/\/oursong.eurovote.eu\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E oursong.eurovote.eu\u003C\/a\u003E, \u003Ca href=\u0022https:\/\/generator.avris.it\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E generator.avris.it\u003C\/a\u003E \u0026amp; \u003Ca href=\u0022https:\/\/naked-adventure.eu\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E naked-adventure.eu\u003C\/a\u003E.\nAnd instead I\u0027m trying out \u003Ca href=\u0022https:\/\/basicattentiontoken.org\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E BAT\u003C\/a\u003E-based advertisment\nin the \u003Ca href=\u0022https:\/\/brave.com\/avr418\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Brave Browser\u003C\/a\u003E \ud83d\ude0d\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E I found out about \u003Ca href=\u0022https:\/\/arc.io\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E arc.io\u003C\/a\u003E and it\u0027s looking great so far!\nInstead of showing ads, it asks your users to (seamlessly) be nodes in their CDN.\nThe revenue is really good \ud83d\ude0d\u003C\/p\u003E\n\u003Ch3\u003E\u003Cdel\u003E\ud83d\udc4d Youtube\u003C\/del\u003E (\u2192 Vimeo?) \u2192 \u2705 \u003Ca href=\u0022https:\/\/piped.kavin.rocks\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Piped\u003C\/a\u003E + \u003Ca href=\u0022https:\/\/nebula.app\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Nebula\u003C\/a\u003E\u003C\/h3\u003E\n\u003Cp\u003EPlenty of my favourite content is on Youtube and nowhere else, so there\u2019s no way for me to stop using it. But screw it.\u003C\/p\u003E\n\u003Cp\u003EAlthough, if I were uploading some videos myself (without needing a popular platform, just hosting), I\u2019d definitely go for some other platform, probably \u003Ca href=\u0022https:\/\/vimeo.com\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Vimeo\u003C\/a\u003E.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E It\u0027s still a fresh project, but looks really promissing!\nBasically, it\u0027s an independent, open-source YouTube client that only uses Google\u0027s servers for what\u0027s really necessary.\nNo need for a Google account to keep track of your subscriptions, no tracking, no ads.\nAnd it\u0027s written in VueJS, when I had a problem importing my YT subscriptions, I just fixed it myself and submitted a pull request \ud83d\ude09\u003C\/p\u003E\n\u003Cp\u003EI also got a subscription for \u003Ca href=\u0022https:\/\/nebula.app\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Nebula\u003C\/a\u003E.\nIt\u0027s really cheap and it lets me support a lot of my favourite youtubers directly, not via a huge corporate proxy,\nplus it\u0027s without any ads and with exclusive content too!\u003C\/p\u003E\n\u003Ch3\u003E\u2705 Maps \u2192 Apple Maps\u003C\/h3\u003E\n\u003Cp\u003EGoogle Maps are good. Apple Maps seem to be better already,\nbut they\u2019re not available in a browser or on Android,\nso absolutely not for me. Screw it.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E After migrating to iPhone I now use Apple Maps there.\nAlso, DuckDuckGo is now using Apple Maps for their search results.\nHopefully, a standalone web version of Apple Maps will also be available soon.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E After switching to MacBook Pro, I can now use Apple Maps on desktop as well \ud83c\udf89.\nAlso, I remembered that I have a project that uses Google Maps heavily, \u003Ca href=\u0022https:\/\/naked-adventure.eu\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Naked Adventure\u003C\/a\u003E.\nI took some time recently to \u003Ca href=\u0022\/blog\/redesigning-a-website-naked-adventure\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-computer-speaker\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E rewrite it from scratch\u003C\/a\u003E.\nThe new version switched completely to Apple Maps. And it looks gorgeous! \ud83e\udd70\u003C\/p\u003E\n\u003Ch3\u003E\u003Cdel\u003E\ud83d\udc4d Translate\u003C\/del\u003E \u2192 \u2705 \u003Ca href=\u0022https:\/\/www.deepl.com\/translator\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E DeepL\u003C\/a\u003E\u003C\/h3\u003E\n\u003Cp\u003ESame. Translate is good, I\u2019m keeping it.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E DeepL Translator seems to be doing just as good of a job as Google Translate, except without tracking you \ud83d\udc4d\nAlso, their MacOS app is just amazing! Just press \u003Ccode\u003ECtrl+C\u003C\/code\u003E twice to translate any text, and click one button to insert the translation back.\nSo comfortable! I used to use my own project for similarly easy access (\u003Ca href=\u0022\/projects\/vocabus-dictionary-at-your-fingertips\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-cogs\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Vocabus - Dictionary at your fingertips!\u003C\/a\u003E),\nbut it was just a dictionary, not a translator. Such an improvement!\u003C\/p\u003E\n\u003Ch3\u003E\u003Cdel\u003E\ud83d\udc4d Photos\u003C\/del\u003E \u2192 \u2705 Apple Photos\u003C\/h3\u003E\n\u003Cp\u003EThat\u2019s a tricky one. There\u2019s plenty that annoys me in Google Photos,\nand it\u2019s definitely risky to give them access to all your pictures, but on the other hand...\nthey offer unlimited space. Unlimited! Consider me bought, Google...\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EEdit:\u003C\/strong\u003E TBH, there was another reason I was reluctant to move my photos anywhere outside Google:\nbecause they are a complete mess, and migrating would force me to finally clean it up.\u003C\/p\u003E\n\u003Cp\u003EI was postponing that for a long while, but last weekend I finally swallowed that pill.\nI\u0027ve spent two evenings going through 30 GB of data, assigning each picture to an album,\nremoving trash, separating out all the nudes and porn\u2026 Finally, I\u0027m done!\u003C\/p\u003E\n\u003Cp\u003EApple Photos might cost me a bit (2.99\u20ac\/m),\nbut at least I don\u0027t store my most private data on the servers of a company notorious for crapping on privacy.\nPlus it has a slightly better interface and algorithms, that\u0027s nice.\u003C\/p\u003E\n\u003Ch3\u003E\u003Cdel\u003E\ud83d\udc4d Android\u003C\/del\u003E \u2192 \u2705 iPhone\u003C\/h3\u003E\n\u003Cp\u003ETricky as well. I\u2019ve used iPhones and MacBooks that my companies provided, and I was really satisfied with them. Just not enough to actually pay \u003Cem\u003Ethat much\u003C\/em\u003E to get one for myself. Though this year I might actually end up switching to an iPhone, who knows.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E Aaaand I did. I needed a new phone anyway, and since my husband had tested iPhone XS on himself and is totally in love with it, I decided to switch as well.\u003C\/p\u003E\n\u003Ch3\u003E\u2705 Calendar \u2192 iCloud Calendar\u003C\/h3\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E I honestly forgot to mention Calendar here before. I stayed with Google there, but after getting an iPhone I decided to switch their calendar app as well. I don\u2019t see any advantages or disadvantages of iCloud Calendar over Google Calendar yet, except maybe the Apple one being less messy in its settings. But well, at least it\u2019s yet another area where I got Google-free.\u003C\/p\u003E\n\u003Cp\u003EBtw, a tip: if you want to transfer the events from Google to Apple, export them to an \u003Ccode\u003E.ics\u003C\/code\u003E file, and then mail it to yourself. When you open the attachment on your iPhone, it will let you import all the events (just use the Mail app, for some reason this doesn\u2019t work on Tutanota).\u003C\/p\u003E\n\u003Ch3\u003E\u2705 Google Play Music \u2192 Spotify\u003C\/h3\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate\u003C\/strong\u003E: I forgot about this one as well, since that migration I performed a long time ago already. I don\u2019t know, if it\u2019s still relevant today, but if you\u2019re looking for a way to transfer your music from one to another, you might want to check out my old post: \u003Ca href=\u0022\/blog\/exporting-playlists-from-google-play-music-to-spotify\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-computer-speaker\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Exporting playlists from Google Play Music to Spotify\u003C\/a\u003E\u003C\/p\u003E\n\u003Ch3\u003EUpdate: \u2705 reCAPTCHA \u2192 hCaptcha\u003C\/h3\u003E\n\u003Cp\u003EBefore, I just briefly mentioned reCAPTCHA in the last part. But now that I\u0027ve found a perfect replacement for it,\nit deserves a separate caption.\u003C\/p\u003E\n\u003Cp\u003EGoogle offers reCAPTCHA for \u201cfree\u201d, but actually uses it to train machine learning models and to track you on non-google websites that use their tool.\u003C\/p\u003E\n\u003Cp\u003E\u003Ca href=\u0022https:\/\/www.hcaptcha.com\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E hCaptcha\u003C\/a\u003E, on the other hand, does not track you,\nand they even share their revenue from training ML with website owners that use their tool.\nhCaptcha is just as accurate and user-friendly as reCAPTCHA \u2013 can totally recommend!\u003C\/p\u003E\n\u003Ch3\u003EOther alternatives\u003C\/h3\u003E\n\u003Cp\u003EAnyways... You can check out \u003Ca href=\u0022https:\/\/nomoregoogle.com\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E nomoregoogle.com\u003C\/a\u003E, it collects alternatives to different Google products. Let\u2019s keep it diverse! \ud83d\ude09\u003C\/p\u003E\n\u003Ch3\u003EUpdate: logging out\u003C\/h3\u003E\n\u003Cp\u003ERecently, \u003Ca href=\u0022log-out-for-privacy\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E I\u2019ve realised\u003C\/a\u003E once again how omnipresent is Google.\nIt can track us even when we don\u2019t use Google.\nAny website that serves ads from Google, uses Google Analytics, reCAPTCHA, Google Maps, etc. etc.\n(so almost every website, \u003Cdel\u003Eincluding, regrettably, some of mine\u003C\/del\u003E \u2013 not anymore \ud83c\udf89)\nexecutes scripts from Google\u2019s domains,\nwhich gives Google access to your activity on that website, while they also have access to their own cookies.\nThey see almost your every move online!\u003C\/p\u003E\n\u003Cp\u003ESolution: log out from Google and remove all their cookies. Same for Facebook and other companies that make money off your privacy, that you\u2019ve stopped using, but still keep accounts open for whatever reason.\u003C\/p\u003E\n\u003Cp\u003EIt\u2019s hard. With Google it\u2019s all or nothing. Wanna see your Youtube recommendations? Too bad, we\u2019re also going to automatically log you in to Gmail, GA, Keep, Photos, and... \u003Ca href=\u0022https:\/\/spreadprivacy.com\/followed-by-ads\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E most of the websites on the internet...\u003C\/a\u003E\u003C\/p\u003E\n\u003Cp\u003EBut it\u2019s doable. I just did. I stayed logged in in a separate browser used as a sandbox if I ever need it.\u003C\/p\u003E\n\u003Cp\u003EOh, and I also disabled any tracking option I could in \u003Ca href=\u0022https:\/\/myaccount.google.com\/data-and-personalization\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E my Google account settings\u003C\/a\u003E, removed my \u003Ca href=\u0022https:\/\/myactivity.google.com\/myactivity\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E activity\u003C\/a\u003E and double-checked all of the OAuth apps that had access to my Google Account.\u003C\/p\u003E\n\u003Cp\u003EI\u2019m feeling so much less watched over already!\u003C\/p\u003E\n\u003Ch3\u003EUpdate: (almost) entirely Google-free! \ud83c\udf89\u003C\/h3\u003E\n\u003Cp\u003EI know I said it\u0027s not about boycotting Google entirely, just diversifying my tools, but daaaamn it\u0027s addictive.\nEvery piece of data taken away from Google feels like a victory \ud83d\ude05\u003C\/p\u003E\n\u003Cp\u003ESo\u2026 I just wanted to announce: as of today I\u0027m (almost) entirely Google-free.\nI will keep one piece of Google that I can\u0027t really get rid of: YouTube -\nbut via a sandboxed app on mobile and a sandbox browser on desktop.\nAll other that\u0027s left is a question of time: I\u0027m waiting for a new Apple TV release, to replace my Chromecast\n(one of the most annoying pieces of hardware I ever owned),\nand for the release of iOS 14 that will come with a translator (or maybe DeepL will create a mobile app till then?).\u003C\/p\u003E\n\u003Cp\u003ESo pretty much: mission accomplished \ud83e\udd42\ud83c\udf7e\u003C\/p\u003E\u003Csvg xmlns=\u0022http:\/\/www.w3.org\/2000\/svg\u0022 style=\u0022display: none;\u0022\u003E\u003C\/svg\u003E","tags":["chrome","customer service","email","google","hosting","big tech","monopoly","platform","search engine","ungoogling","privacy"],"hasMore":true,"image":"https:\/\/avris.it\/image\/ungoogled_small.png","introLite":"\u003Cfigure\u003E\u003Ca href=\u0022https:\/\/avris.it\/image\/ungoogled_big.png\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Cimg src=\u0022https:\/\/avris.it\/image\/ungoogled_mini.png\u0022 alt=\u0022un-Google-d\u0022 width=\u0022240\u0022 height=\u0022161.28\u0022 loading=\u0022lazy\u0022\u003E\u003C\/a\u003E\u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003EDepending on one company with all of your data is pretty risky. Even if we ignore the obvious privacy concerns of when some corporation knows \u003Cem\u003Eeverything\u003C\/em\u003E about you... Just imagine what would happen to you personally, if one day that corporation would just... disappear for whatever reason. Say, Google gets a huge fine from the European Commission for one of their monopolistic practices or shitting on their users\u2019 privacy, and turns out they don\u2019t recover from that. How screwed are you?\u003C\/p\u003E\n\u003Cp\u003EOne day you lose your emails, photos, passwords, documents, notes, calendar, what else?\u003C\/p\u003E\n\u003Cp\u003ESo, recently I decided to \u003Cem\u003Ediversify\u003C\/em\u003E my technical dependencies. Not to boycott Google completely, but to at least use it less.\u003C\/p\u003E","contentLite":"\u003Cfigure\u003E\u003Ca href=\u0022https:\/\/avris.it\/image\/ungoogled_big.png\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Cimg src=\u0022https:\/\/avris.it\/image\/ungoogled_mini.png\u0022 alt=\u0022un-Google-d\u0022 width=\u0022240\u0022 height=\u0022161.28\u0022 loading=\u0022lazy\u0022\u003E\u003C\/a\u003E\u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003EDepending on one company with all of your data is pretty risky. Even if we ignore the obvious privacy concerns of when some corporation knows \u003Cem\u003Eeverything\u003C\/em\u003E about you... Just imagine what would happen to you personally, if one day that corporation would just... disappear for whatever reason. Say, Google gets a huge fine from the European Commission for one of their monopolistic practices or shitting on their users\u2019 privacy, and turns out they don\u2019t recover from that. How screwed are you?\u003C\/p\u003E\n\u003Cp\u003EOne day you lose your emails, photos, passwords, documents, notes, calendar, what else?\u003C\/p\u003E\n\u003Cp\u003ESo, recently I decided to \u003Cem\u003Ediversify\u003C\/em\u003E my technical dependencies. Not to boycott Google completely, but to at least use it less.\u003C\/p\u003E\n\u003Ch3\u003E\u2705 Google Search \u2192 DuckDuckGo\u003C\/h3\u003E\n\u003Cp\u003EIf you think about it, there\u2019s usually no need for the search engine to know who you are in order to serve you useful search results, right? Even for the purpose of making money on ads: if you\u2019re looking for \u201cbarbecue\u201d, they\u2019ll show you adverts of grills, because that\u2019s what you\u2019re looking for right now, and not adverts of Cloud Storage, because they know from somewhere else that you might need it... Yet, Google still collects plenty of data about you when you search...\u003C\/p\u003E\n\u003Cp\u003EThe switch to the privacy-oriented \u003Ca href=\u0022https:\/\/duckduckgo.com\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E DuckDuckGo\u003C\/a\u003E turned out to be surprisingly easy. I just changed the default search engine in Chrome and... and that\u2019s it! DuckDuckGo offers most of the features that I was used to in Google, has similar interface, and most importantly it serves the search results that are just as relevant as those of Google.\u003C\/p\u003E\n\u003Ch3\u003E\u2705 Images \u2192 DuckDuckGo\/Unsplash\u003C\/h3\u003E\n\u003Cp\u003ESame goes for the image search: DuckDuckGo handles it perfectly, and even has way less annoying user interface than Google.\u003C\/p\u003E\n\u003Cp\u003EAnd when I\u2019m looking for a nice photo to use in a project, I go to \u003Ca href=\u0022https:\/\/unsplash.com\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Unsplash\u003C\/a\u003E. Everything there is high quality and \u003Ca href=\u0022https:\/\/unsplash.com\/license\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E totally free\u003C\/a\u003E to use however you\u2019d like \ud83d\ude0d\u003C\/p\u003E\n\u003Ch3\u003E\u2705 Chrome \u2192 \u003Cdel\u003EOpera\u003C\/del\u003E \u2192 \u003Ca href=\u0022https:\/\/brave.com\/avr418\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Brave Browser\u003C\/a\u003E\u003C\/h3\u003E\n\u003Cp\u003ELet\u2019s not kid ourselves, all the modern browsers are basically the same. They might have this little feature less or this feature more, but I honestly can\u2019t think of any \u003Cem\u003Estrong\u003C\/em\u003E reasons to like one over another. Some even share the same engines, just with a different UI. Even Edge is a good browser already. It doesn\u2019t matter that much, which one you choose, and switching between them shouldn\u2019t be a big issue. They can import all your settings from your previous browser.\u003C\/p\u003E\n\u003Cp\u003EOr not. That\u2019s what I did: started with a clear browser, no history, no passwords, no saved forms. I wanted to do it anyway, so ungoogling my life was a good occasion to also restart my browser.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E I found out about \u003Ca href=\u0022https:\/\/brave.com\/avr418\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Brave Browser\u003C\/a\u003E\n\u2013 it focuses on privacy, has a built-in private window with TOR feature,\nand most importantly it blocks most ads and trackers while still staying fair towards the content creators\nby encouraging a new model of digital avertising based on \u003Ca href=\u0022https:\/\/basicattentiontoken.org\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E BAT\u003C\/a\u003E.\nCheck it out, it\u0027s awesome!\u003C\/p\u003E\n\u003Ch3\u003E\u2705 Passwords \u2192 KeePass\u003C\/h3\u003E\n\u003Cp\u003EI used to use the same password for everything. Then I got smarter and started using different versions of the same password. But it\u2019s obviously not how you should treat your passwords to stay safe.\u003C\/p\u003E\n\u003Cp\u003ESo now I\u2019m using a unique, random, strong password for each service. And I don\u2019t store it in Chrome (or any other browser) anymore. Instead, I put them in a password manager, \u003Ca href=\u0022https:\/\/keepass.info\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E KeePass\u003C\/a\u003E. Opening it, finding the right password and copy-pasting it to the browser might be a bit less convenient than having the browser just remember it for you, but this way the only party that ever has access to my unhashed \/unencrypted passwords is me.\u003C\/p\u003E\n\u003Cp\u003EI sync the KeePass file (encrypted) between devices via \u003Cdel\u003EGoogle Drive, so that\u2019s still in the queue to ungoogle.\u003C\/del\u003E \u2192 via Cubbit.\u003C\/p\u003E\n\u003Ch3\u003E\u2705 Analytics \u2192 \u003Cdel\u003EMatomo\u003C\/del\u003E \u2192 Plauisble\u003C\/h3\u003E\n\u003Cp\u003EGetting rid of Google Analytics required a bit more work, because I have 13 websites tracked that would all require new tracking codes, commits, deployments... But when my lovely husband finally published \u003Ca href=\u0022https:\/\/malenkowicz.net\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E his literary blog\u003C\/a\u003E, and I had to do all that anyway, we decided to give \u003Ca href=\u0022https:\/\/matomo.org\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Matomo\u003C\/a\u003E a go.\u003C\/p\u003E\n\u003Cp\u003EI just had to set it up on my server (it\u2019s totally free, if you self-host it). Aaand I loved it. It\u2019s hard for me to compare their features, since I only use the most basic stuff, but Matomo seems to have all I need (and more), with an interface that I like more than Google\u2019s.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E Matomo is very heavy, slow and offers way more features than I ever needed. I found this gem, though, and it\u0027s amazing: \u003Ca href=\u0022https:\/\/plausible.io\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Plausible\u003C\/a\u003E.\u003C\/p\u003E\n\u003Ch3\u003E\u2705 Inbox \u2192 \u003Cdel\u003EProtonmail\u003C\/del\u003E \u2192 Tutanota\u003C\/h3\u003E\n\u003Cp\u003EI really like Inbox\u2019s extra features, like grouping emails into trips, snoozing etc. I might have some doubts about leaving it, if it weren\u2019t for the fact that \u003Ca href=\u0022https:\/\/steemit.com\/news\/@spidernet\/google-inbox-will-close-down\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Google is killing the project\u003C\/a\u003E, so I won\u2019t use it one way or another. I\u2019m using an email in my own domain, while my @gmail.com address is mostly there collecting spam, so having to change my address won\u2019t be a problem either.\u003C\/p\u003E\n\u003Cp\u003EI don\u2019t want to set up my own IMAP\/SMTP server, because I just don\u2019t know enough about it to risk being classified as spam or not having 99.999% uptime.\u003C\/p\u003E\n\u003Cp\u003EWhat I do now is redirecting all the incoming emails to Gmail on the DNS level, and use Gmail as SMTP. I could do something similar with almost any other mailbox provider, right?\u003C\/p\u003E\n\u003Cp\u003EI guess I\u2019ll try \u003Ca href=\u0022https:\/\/protonmail.com\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E ProtonMail\u003C\/a\u003E because of their efforts for security and privacy. It\u2019s paid (if you need the features I need), but it seems to be worth it. If one day I finally have time and strength to finally start setting it all up, I\u2019ll let you know how it went.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E Turns out ProtonMail doesn\u2019t have an option to keep you logged in, it just cleans your session after you close the tab, even on a trusted device. Seriously. That\u2019s just laughable! Users \u003Ca href=\u0022https:\/\/protonmail.uservoice.com\/forums\/284483-feedback\/suggestions\/9594603\u2013keep-me-logged-in-option\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E keep requesting it\u003C\/a\u003E, and ProtonMail keeps ignoring them. Since I\u2019m using a password manager and two-factor authentication, that\u2019s a total deal breaker for me.\u003C\/p\u003E\n\u003Cp\u003EI\u2019ve switched to \u003Ca href=\u0022https:\/\/tutanota.com\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Tutanota\u003C\/a\u003E. So far it looks just as nice, and it\u2019s even 4x cheaper. The transition was smooth and way easier than I expected (setting up an MX and a TXT record on the DNS). So far, I\u2019m pretty happy with it.\u003C\/p\u003E\n\u003Ch3\u003E\u23f3 Keep \u2192  \u003Cdel\u003E\u0026lt;my own project\u003E\u003C\/del\u003E \u2192 \u2705 iCloud Notes\u003C\/h3\u003E\n\u003Cp\u003EI never had a notes app that I was fully happy with. Currently I\u2019m using Google Keep, but it fucks up the synchronization pretty often, leaving me with outdated or missing notes.\u003C\/p\u003E\n\u003Cp\u003EExcept... I was happy with one notes app, but this one I wrote myself. It was hiding right behind the left border of the screen and would slide out if your mouse went it that area, so it was always just a mouse move away. It was the times when I didn\u2019t have to sync it between devices though.\u003C\/p\u003E\n\u003Cp\u003EBut actually... Why not? Why not write my own thing?\u003C\/p\u003E\n\u003Cp\u003ESo... the migration is still in progress.\u003C\/p\u003E\n\u003Cfigure\u003E\u003Ca href=\u0022https:\/\/avris.it\/image\/notes-app_big.png\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Cimg src=\u0022https:\/\/avris.it\/image\/notes-app_mini.png\u0022 alt=\u0022\u0022 width=\u0022240\u0022 height=\u0022116.97478991597\u0022 loading=\u0022lazy\u0022\u003E\u003C\/a\u003E\u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E Developing that project is taking me quite a while (mostly because I\u0027m focusing on other things\nand not doing this one at all), so I\u0027ve settled for a corporate solution.\nAnd it looks like Apple\u0027s Notes work very well and synchronise without problems.\u003C\/p\u003E\n\u003Ch3\u003E\u23f3 Drive \u2192 \u003Cdel\u003EAmazon S3 + \u0026lt;my own project\u003E\u003C\/del\u003E \u2192 \u2753 Cubbit?\u003C\/h3\u003E\n\u003Cp\u003EI\u2019m not using Google Drive that much, but still...\nI think that when I figure out the synchronisation for my notes app,\nI could just as well use it to sync files as well\n\u2013 most probably hosted on \u003Ca href=\u0022https:\/\/aws.amazon.com\/s3\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Amazon S3\u003C\/a\u003E.\nLet\u2019s see how that goes, keep fingers crossed! \ud83e\udd1e\ud83c\udffc\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E I\u0027ve supported \u003Ca href=\u0022https:\/\/www.cubbit.io\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Cubbit\u003C\/a\u003E on Kickstarter.\nIt looks really promissing \u0026amp; revolutionary! It\u0027s still at its early stages, though.\nTime will tell, if it was worth it.\u003C\/p\u003E\n\u003Ch3\u003E\u003Cdel\u003E\ud83d\udc4d Authenticator\u003C\/del\u003E \u2192 \u2705 Authy\u003C\/h3\u003E\n\u003Cp\u003EI\u2019m fine with keeping some Google tools. For instance Authenticator \u2013 it doesn\u2019t store any personal data, it just uses a standardised algorithm to generate time-dependent access codes. There\u2019s plenty of compatible apps that can replace it \u2013 but I\u2019d have to to go all the websites where I use 2FA and regenerate the tokens. Nah, too much work, not worth it.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E After switching from Android to iPhone I had to re-configure the MFA anyway, so I decided to find an alternative for Google Authenticator. And there it was \u2013 \u003Ca href=\u0022https:\/\/authy.com\/\u0022\u003EAuthy\u003C\/a\u003E. It has a way better UI \u2013 with icons and colors to more easily select which account you want to log in to \u2013 and it allows you to share your access tokens between multiple devices, making it way easier to migrate to a new device, to use your computer when your phone is not around, and to recover when you lose your device.\u003C\/p\u003E\n\u003Ch3\u003E\u003Cdel\u003E\ud83d\udc4d AdSense\u003C\/del\u003E \u2192 \ud83d\ude15 AdSense + \u2705 BAT \u2192 \u2705 \u003Ca href=\u0022https:\/\/arc.io\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E arc.io\u003C\/a\u003E\u003C\/h3\u003E\n\u003Cp\u003EThe ad revenue from my websites is laughable (it didn\u2019t even reach the minimum for payout, and I had to start over to switch currency and country), but I keep them just in case. One time a post of mine got so popular it almost broke my server, but I had no ads in place at the time... #tyleprzegra\u0107\u003C\/p\u003E\n\u003Cp\u003EStill, seems like AdSense is the simplest (auto ads \ud83d\ude0d), most advanced and most seamless ad platform I could find. And with my level of \u201crevenue\u201d it doesn\u2019t really matter, which one I use. So screw it for now.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E I\u0027ve decided to only keep AdSense on the three websites where they make some profit:\n\u003Ca href=\u0022https:\/\/oursong.eurovote.eu\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E oursong.eurovote.eu\u003C\/a\u003E, \u003Ca href=\u0022https:\/\/generator.avris.it\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E generator.avris.it\u003C\/a\u003E \u0026amp; \u003Ca href=\u0022https:\/\/naked-adventure.eu\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E naked-adventure.eu\u003C\/a\u003E.\nAnd instead I\u0027m trying out \u003Ca href=\u0022https:\/\/basicattentiontoken.org\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E BAT\u003C\/a\u003E-based advertisment\nin the \u003Ca href=\u0022https:\/\/brave.com\/avr418\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Brave Browser\u003C\/a\u003E \ud83d\ude0d\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E I found out about \u003Ca href=\u0022https:\/\/arc.io\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E arc.io\u003C\/a\u003E and it\u0027s looking great so far!\nInstead of showing ads, it asks your users to (seamlessly) be nodes in their CDN.\nThe revenue is really good \ud83d\ude0d\u003C\/p\u003E\n\u003Ch3\u003E\u003Cdel\u003E\ud83d\udc4d Youtube\u003C\/del\u003E (\u2192 Vimeo?) \u2192 \u2705 \u003Ca href=\u0022https:\/\/piped.kavin.rocks\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Piped\u003C\/a\u003E + \u003Ca href=\u0022https:\/\/nebula.app\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Nebula\u003C\/a\u003E\u003C\/h3\u003E\n\u003Cp\u003EPlenty of my favourite content is on Youtube and nowhere else, so there\u2019s no way for me to stop using it. But screw it.\u003C\/p\u003E\n\u003Cp\u003EAlthough, if I were uploading some videos myself (without needing a popular platform, just hosting), I\u2019d definitely go for some other platform, probably \u003Ca href=\u0022https:\/\/vimeo.com\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Vimeo\u003C\/a\u003E.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E It\u0027s still a fresh project, but looks really promissing!\nBasically, it\u0027s an independent, open-source YouTube client that only uses Google\u0027s servers for what\u0027s really necessary.\nNo need for a Google account to keep track of your subscriptions, no tracking, no ads.\nAnd it\u0027s written in VueJS, when I had a problem importing my YT subscriptions, I just fixed it myself and submitted a pull request \ud83d\ude09\u003C\/p\u003E\n\u003Cp\u003EI also got a subscription for \u003Ca href=\u0022https:\/\/nebula.app\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Nebula\u003C\/a\u003E.\nIt\u0027s really cheap and it lets me support a lot of my favourite youtubers directly, not via a huge corporate proxy,\nplus it\u0027s without any ads and with exclusive content too!\u003C\/p\u003E\n\u003Ch3\u003E\u2705 Maps \u2192 Apple Maps\u003C\/h3\u003E\n\u003Cp\u003EGoogle Maps are good. Apple Maps seem to be better already,\nbut they\u2019re not available in a browser or on Android,\nso absolutely not for me. Screw it.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E After migrating to iPhone I now use Apple Maps there.\nAlso, DuckDuckGo is now using Apple Maps for their search results.\nHopefully, a standalone web version of Apple Maps will also be available soon.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E After switching to MacBook Pro, I can now use Apple Maps on desktop as well \ud83c\udf89.\nAlso, I remembered that I have a project that uses Google Maps heavily, \u003Ca href=\u0022https:\/\/naked-adventure.eu\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Naked Adventure\u003C\/a\u003E.\nI took some time recently to \u003Ca href=\u0022\/blog\/redesigning-a-website-naked-adventure.lite\u0022\u003E rewrite it from scratch\u003C\/a\u003E.\nThe new version switched completely to Apple Maps. And it looks gorgeous! \ud83e\udd70\u003C\/p\u003E\n\u003Ch3\u003E\u003Cdel\u003E\ud83d\udc4d Translate\u003C\/del\u003E \u2192 \u2705 \u003Ca href=\u0022https:\/\/www.deepl.com\/translator\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E DeepL\u003C\/a\u003E\u003C\/h3\u003E\n\u003Cp\u003ESame. Translate is good, I\u2019m keeping it.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E DeepL Translator seems to be doing just as good of a job as Google Translate, except without tracking you \ud83d\udc4d\nAlso, their MacOS app is just amazing! Just press \u003Ccode\u003ECtrl+C\u003C\/code\u003E twice to translate any text, and click one button to insert the translation back.\nSo comfortable! I used to use my own project for similarly easy access (\u003Ca href=\u0022\/projects\/vocabus-dictionary-at-your-fingertips.lite\u0022\u003E Vocabus - Dictionary at your fingertips!\u003C\/a\u003E),\nbut it was just a dictionary, not a translator. Such an improvement!\u003C\/p\u003E\n\u003Ch3\u003E\u003Cdel\u003E\ud83d\udc4d Photos\u003C\/del\u003E \u2192 \u2705 Apple Photos\u003C\/h3\u003E\n\u003Cp\u003EThat\u2019s a tricky one. There\u2019s plenty that annoys me in Google Photos,\nand it\u2019s definitely risky to give them access to all your pictures, but on the other hand...\nthey offer unlimited space. Unlimited! Consider me bought, Google...\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EEdit:\u003C\/strong\u003E TBH, there was another reason I was reluctant to move my photos anywhere outside Google:\nbecause they are a complete mess, and migrating would force me to finally clean it up.\u003C\/p\u003E\n\u003Cp\u003EI was postponing that for a long while, but last weekend I finally swallowed that pill.\nI\u0027ve spent two evenings going through 30 GB of data, assigning each picture to an album,\nremoving trash, separating out all the nudes and porn\u2026 Finally, I\u0027m done!\u003C\/p\u003E\n\u003Cp\u003EApple Photos might cost me a bit (2.99\u20ac\/m),\nbut at least I don\u0027t store my most private data on the servers of a company notorious for crapping on privacy.\nPlus it has a slightly better interface and algorithms, that\u0027s nice.\u003C\/p\u003E\n\u003Ch3\u003E\u003Cdel\u003E\ud83d\udc4d Android\u003C\/del\u003E \u2192 \u2705 iPhone\u003C\/h3\u003E\n\u003Cp\u003ETricky as well. I\u2019ve used iPhones and MacBooks that my companies provided, and I was really satisfied with them. Just not enough to actually pay \u003Cem\u003Ethat much\u003C\/em\u003E to get one for myself. Though this year I might actually end up switching to an iPhone, who knows.\u003C\/p\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E Aaaand I did. I needed a new phone anyway, and since my husband had tested iPhone XS on himself and is totally in love with it, I decided to switch as well.\u003C\/p\u003E\n\u003Ch3\u003E\u2705 Calendar \u2192 iCloud Calendar\u003C\/h3\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E I honestly forgot to mention Calendar here before. I stayed with Google there, but after getting an iPhone I decided to switch their calendar app as well. I don\u2019t see any advantages or disadvantages of iCloud Calendar over Google Calendar yet, except maybe the Apple one being less messy in its settings. But well, at least it\u2019s yet another area where I got Google-free.\u003C\/p\u003E\n\u003Cp\u003EBtw, a tip: if you want to transfer the events from Google to Apple, export them to an \u003Ccode\u003E.ics\u003C\/code\u003E file, and then mail it to yourself. When you open the attachment on your iPhone, it will let you import all the events (just use the Mail app, for some reason this doesn\u2019t work on Tutanota).\u003C\/p\u003E\n\u003Ch3\u003E\u2705 Google Play Music \u2192 Spotify\u003C\/h3\u003E\n\u003Cp\u003E\u003Cstrong\u003EUpdate\u003C\/strong\u003E: I forgot about this one as well, since that migration I performed a long time ago already. I don\u2019t know, if it\u2019s still relevant today, but if you\u2019re looking for a way to transfer your music from one to another, you might want to check out my old post: \u003Ca href=\u0022\/blog\/exporting-playlists-from-google-play-music-to-spotify.lite\u0022\u003E Exporting playlists from Google Play Music to Spotify\u003C\/a\u003E\u003C\/p\u003E\n\u003Ch3\u003EUpdate: \u2705 reCAPTCHA \u2192 hCaptcha\u003C\/h3\u003E\n\u003Cp\u003EBefore, I just briefly mentioned reCAPTCHA in the last part. But now that I\u0027ve found a perfect replacement for it,\nit deserves a separate caption.\u003C\/p\u003E\n\u003Cp\u003EGoogle offers reCAPTCHA for \u201cfree\u201d, but actually uses it to train machine learning models and to track you on non-google websites that use their tool.\u003C\/p\u003E\n\u003Cp\u003E\u003Ca href=\u0022https:\/\/www.hcaptcha.com\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E hCaptcha\u003C\/a\u003E, on the other hand, does not track you,\nand they even share their revenue from training ML with website owners that use their tool.\nhCaptcha is just as accurate and user-friendly as reCAPTCHA \u2013 can totally recommend!\u003C\/p\u003E\n\u003Ch3\u003EOther alternatives\u003C\/h3\u003E\n\u003Cp\u003EAnyways... You can check out \u003Ca href=\u0022https:\/\/nomoregoogle.com\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E nomoregoogle.com\u003C\/a\u003E, it collects alternatives to different Google products. Let\u2019s keep it diverse! \ud83d\ude09\u003C\/p\u003E\n\u003Ch3\u003EUpdate: logging out\u003C\/h3\u003E\n\u003Cp\u003ERecently, \u003Ca href=\u0022log-out-for-privacy\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E I\u2019ve realised\u003C\/a\u003E once again how omnipresent is Google.\nIt can track us even when we don\u2019t use Google.\nAny website that serves ads from Google, uses Google Analytics, reCAPTCHA, Google Maps, etc. etc.\n(so almost every website, \u003Cdel\u003Eincluding, regrettably, some of mine\u003C\/del\u003E \u2013 not anymore \ud83c\udf89)\nexecutes scripts from Google\u2019s domains,\nwhich gives Google access to your activity on that website, while they also have access to their own cookies.\nThey see almost your every move online!\u003C\/p\u003E\n\u003Cp\u003ESolution: log out from Google and remove all their cookies. Same for Facebook and other companies that make money off your privacy, that you\u2019ve stopped using, but still keep accounts open for whatever reason.\u003C\/p\u003E\n\u003Cp\u003EIt\u2019s hard. With Google it\u2019s all or nothing. Wanna see your Youtube recommendations? Too bad, we\u2019re also going to automatically log you in to Gmail, GA, Keep, Photos, and... \u003Ca href=\u0022https:\/\/spreadprivacy.com\/followed-by-ads\/\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E most of the websites on the internet...\u003C\/a\u003E\u003C\/p\u003E\n\u003Cp\u003EBut it\u2019s doable. I just did. I stayed logged in in a separate browser used as a sandbox if I ever need it.\u003C\/p\u003E\n\u003Cp\u003EOh, and I also disabled any tracking option I could in \u003Ca href=\u0022https:\/\/myaccount.google.com\/data-and-personalization\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E my Google account settings\u003C\/a\u003E, removed my \u003Ca href=\u0022https:\/\/myactivity.google.com\/myactivity\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E activity\u003C\/a\u003E and double-checked all of the OAuth apps that had access to my Google Account.\u003C\/p\u003E\n\u003Cp\u003EI\u2019m feeling so much less watched over already!\u003C\/p\u003E\n\u003Ch3\u003EUpdate: (almost) entirely Google-free! \ud83c\udf89\u003C\/h3\u003E\n\u003Cp\u003EI know I said it\u0027s not about boycotting Google entirely, just diversifying my tools, but daaaamn it\u0027s addictive.\nEvery piece of data taken away from Google feels like a victory \ud83d\ude05\u003C\/p\u003E\n\u003Cp\u003ESo\u2026 I just wanted to announce: as of today I\u0027m (almost) entirely Google-free.\nI will keep one piece of Google that I can\u0027t really get rid of: YouTube -\nbut via a sandboxed app on mobile and a sandbox browser on desktop.\nAll other that\u0027s left is a question of time: I\u0027m waiting for a new Apple TV release, to replace my Chromecast\n(one of the most annoying pieces of hardware I ever owned),\nand for the release of iOS 14 that will come with a translator (or maybe DeepL will create a mobile app till then?).\u003C\/p\u003E\n\u003Cp\u003ESo pretty much: mission accomplished \ud83e\udd42\ud83c\udf7e\u003C\/p\u003E","words":2922,"readTime":12,"lang":"en"}}}}}