Show more
Tim boosted

Sonos sucks so hard. We should be building software for hardware, not the other way around. Don't buy Sonos (it was overpriced and too much of a vendor lock-in anyway, but this makes it even worse).

twitter.com/seanbonner/status/

Tim boosted

Does anybody knows a good music player for iOS which can play music from the Files.app or Nextcloud?

🎼🎧🎤

Tim boosted

@Ertain Not really. It's up to Oracle to put ZFS either under GPLv2 or a compatible license IMHO if they want to see it supported on Linux. That won't happen AFAICS. Shrug.

Tim boosted
Tim boosted

RT @peterganten@twitter.com

BaWü schreibt ein Lernmanagementsystem aus und macht dabei Microsoft Azure AD zur Systemanforderung. Bedenklich, denn das zwingt Schulen, Daten für Anmeldung von SchülerInnen und LehrerInnen über unkontrollierte Cloud Infrastruktur zu verwalten.
osb-alliance.de/news/allgemein

🐦🔗: twitter.com/peterganten/status

Tim boosted

RT @netzpolitik@twitter.com

In meinen Vorträgen hab ich diese Probleme bisher immer theoretisch beschrieben. Der Lidl-Thermomixer bestätigt eindrucksvoll, dass wir zuwenig Verbraucherrechte im Smart Home verankert haben.

Es darf nicht sein, dass solche Massenprodukte so unsicher verkauft werden.

🐦🔗: twitter.com/netzpolitik/status

My next steps:

1. Move from iCloud to Nextcloud [1] (home-hosted; next weeks)
2. Move from macOS to Elementary OS [2] (hopefully this year)

[1]: nextcloud.com
[2]: elementary.io

"Wir wollen keine Hintertüren für verschlüsselte Daten."
"Wir wollen einen staatlichen Zugriff auf verschlüsselte Daten."

zeit.de/digital/datenschutz/20

Tim boosted

"Big-Tech"-Konzerne wie Google und Facebook sind das Ergebnis von hunderten Unternehmensfusionen. Von den meisten Unternehmenskäufen bekommt die Öffentlichkeit gar nichts mit. Aber das ändert sich gerade. Die New York Times haben einmal visuell aufbereitet, wie #Google und #Facebook so fett geworden sind.
nytimes.com/interactive/2019/0

Tim boosted

(Addendum to "spec first": Sometimes, even an "elevator pitch" -- up to two paragraphs that describe what the application does -- is enough.)

Tim boosted

19.2. Gherkin is your friend to understand expectations

Gherkin is a test description format which points "Given that <a system is in a certain state>, When <something happens>, then <this is expected>". Even if you don't use any testing tool that reads Gherkin, it will give you a good understanding of what it is expected from the app.

Tim boosted

19.1. Write steps as comments

If you have no idea how to start, describe the flow of the application in high level, pure English/your language first. Then fill the spaces between comments with the code.

Better yet: think of every comment as a function, then write the function that does exactly that.

Tim boosted

19. Spec first, then code

If you don't what you're trying to solve, you don't know what to code.

Write something specifying how the application works before writing any code.

"Without requirements or design, programming is the art of adding bugs to an empty text file." -- Louis Srygley

Tim boosted

18. Shortcuts are nice, but only in the short run

A lot of languages/libraries/frameworks add a way to make things shorter, reducing the number of things you need to type.

But, later, that will bite you and you'll have to remove the shortcut and do the long things.

So learn what the shortcut does before using it.

Tim boosted

(Addendums to "magical number":

1. Today, psychologists talk more about the magical number FOUR, not seven.

2. Think function composition, not function calling.)

Tim boosted

17 1/2. The Magical Number Seven, Plus or Minus Two

"The magical number" is a psychology article about the number of things one can keep in their mind at the same time.

If you have a function, that calls a function, that calls a function, that calls a function, that calls a function, that calls function, you may be sure it will be a hell to read later.

Think more about: I'll get the result of this function, then pass it to the second function, get its result, pass to the third an so on.

Tim boosted

17. Cognitive Dissonance is the readability killer

"Cognitive dissonance" is a fancy way of saying "I need to remember two (or more) different things at the same time to understand this."

For example, adding booleans to count the number of True values is a mild cognitive dissonance 'cause one can think "What do you mean True plus True equals 2?"

Show more
Ruhr.Social

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!