How I purchase e-books

An article, posted about one year ago filed in amazon, kobo, ebooks, epub, revenue & usability.

I have a Kindle e-reader myself, but don't like a single monopolist like Amazon to control the market. So I try, whenever possible, to skip their market place. And that is perfectly possible. But say goodbye to one-click shopping.

(same argument probably also applies to the Kobo store, another popular eReader-manufacturer, but perhaps less evil for not being Amazon and supporting 'local' shops, e.g. Bol.com in the Netherlands… which is basically the Amazon of the Netherlands, oh well…)

The alternative

Many books these days come without DRM(!) … they're still watermarked, but that doesn't stop you from converting books.

So, it takes some dedication but my approach is:

  1. To search for the book's publisher, check their website for a purchase link and purchase it there.
    • Or use libris (Dutch independent booksellers collaboration), which allows you to pick a local Libris connected bookshop, and purchase an e-book from them.
    • And…

Continue reading...

Tag descriptor

Analytics

An article, posted 4 months ago filed in analytics, privacy & gdpr.

How many people are visiting my site. What are the most popular pages? How did they reach me? How do they navigate my site. Data about this can help you make informed decisions on how to improve your site or app. Sadly this often comes at price: the privacy of your visitors. Alternatives exists for the major brands, and you can also collect some of the statistics yourself. Either using a self-hosted solution or just by analysing your log files. Yes, awstats still exists.

Continue reading...

Tag descriptor

pupprb

An article, posted 5 months ago filed in rubygems, ruby & gem.

pupprb is a simple wrapper around puppeteer, a tool maintained by Google Chrome engineers, which I primarily use to print PDFs. This gem simply wraps my default settings / approach in a relatively easy to reuse gem.

Source: @gitlab Rubygems: pupprb

Continue reading...

Dienstverlening

An article, posted 5 months ago filed in werk, murb & prijzen.

murb levert diverse diensten aan. Centraal voor binnen de dienstverlening zijn de principes van murb.

Maatwerk (web)applicatie ontwikkeling

Naast eigen diensten staat murb u graag bij om in een korte tijd nieuwe oplossingen te realiseren waarmee gewerkt kan worden. Waarna vervolgens doorgewerkt kan worden aan het verder verbeteren van die oplossing. Neem contact op voor de mogelijkheden.

TheStoryBehind.it

Met TheStoryBehind.it kunt u uw online kunstcollectie gemakkelijk ontsluiten voor de buitenwereld. Dit kan op basis van een eenvoudige excel file of middels een API-koppeling. Met CollectionManagement kan ook de collectie beheerd worden. TheStoryBehind.it is in te zetten vanaf €275 per jaar. Neem voor de mogelijkheden contact op.

HeerlijkZoeken

[HeerlijkZoeken.nl](https://heerlij…

Continue reading...

Triodos en de certificatenhandel

An article, posted 5 months ago filed in Triodos, certificaten, systeem, bank & geld.

De Triodos Bank staat vandaag voor de rechter in verband met diens problemen met de certificaten.

Die certificaten van Triodos zijn een soort van aandelen, maar niet helemaal. Ik heb er op papier zo'n best wat mee verloren. Ze maken echter deel uit van mijn pensioenpot (ben zelfstandige), die uiteindelijk, op de langere termijn dus, enigszins de inflatie bijhoudt. Maar de rechtszaak vind ik echt een vreemde.

De certificaten waren een balans tussen het bewaken van de missie, steun in kapitaal, en meedelen in het rendement, puur op basis van de ingeboekte resultaten, niet op basis van vraag en aanbod van iets een afgeleide.

Ik wil niet dat de bank verkocht wordt en een speelbal wordt van rauw kapitalistisch geweld op een beurs. Zeker niet omdat de handel in een afgeleid stuk papier dat los sta…

Continue reading...

On AI art

An article, posted 9 months ago filed in art, intelligence, ai & stable diffusion.

If you love art, don't bother reading any further. I'm stating the very obvious, but I felt I had to respond. It's NFT-style hype (in Dutch) all over again.

My Twitter timeline contains probably more than average amount of generated AI images, and it is labelled as AI “art”, generated by tools like DALL-E, stable diffusion, mid journey, tools that allow simple beings to create a Monet style picture of a 21 century scene, or complete the scenery of the milkmaid. And the way it is presented angers me.

While being quite impressive in terms of “how did the computer do this”, I hate to state the obvious, but: this is not art. In the end it is just more visual debris. You may put a frame around your Van Gogh 1000pc puzzle, it is not the creative work, even though you spend a day “creating” it. You’re also not an artist if you completed a 15 week course in landscape painting. Nor is probably your beautiful holiday picture, even thoug…

Continue reading...

Overwegingen warmtepomp in een VvE appartement

An article, posted about one year ago filed in duurzaam.

Ik woon nu twee jaar in een appartementencomplex. Gasloos gaan in een volledig eigen huis is complex, in een appartementencomplex met een VvE is misschien allemaal net weer wat complexer (al is het effect wel weer groter als eenmaal de kogel door de kerk is). Het complex voldoet aan energielabel A; het is een relatief nieuw complex uit ~2010. Momenteel zijn we nog zonnepaneelloos, maar daar wordt inmiddels aan gewerkt :) Deel twee is dat de appartementen gasloos kunnen worden (of in ieder geval duurzamer verwarmd kunnen worden). En dus kijken we naar warmte pompen. Hieronder wat ik daarover nu weet (dit is een iets aangepast bericht dat ik naar wat geïnteresseerde mede-bewoners had gestuurd):

De bodem in? Of uit de lucht?

Een warmtepomp kun je doen ter ondersteuning van een CV installatie, of om volledig elektrisch te gaan, iets waar ik erg in geïnteresseerd ben: Om niet langer fossiele brandstoffen te verstoken en de gasaansluiting niet meer te hoeven hebben. Sinds kort …

Continue reading...

Over NFTs

An article, posted about one year ago filed in crypto, NFT, web3, decentral, altcoins, bitcoin, tokens & copyright.

Non-Fungible Tokens, ofwel NFTs, zijn in de tech-wereld alweer over de hype heen, maar in de mainstream media worden ze nog gepusht. De druppel voor mij om dit stukje te schrijven was een column van Ernst-Jan Pfauth in de NRC.

Vaak worden NFTs ontvangen als de nieuwe manier om elektronische kunst te verkopen. Veelal wordt er gewezen op de enorme opbrengsten. Maar de opbrengsten komen vooral voort uit een luchtbel die momenteel bestaat in de crypto-munten zoals bitcoin en Ethereum. Early adaptors zijn op papier stinkend rijk geworden omdat de koers van hun crypto-munten gigantisch zijn gestegen, doordat ze door de hype steeds weer nieuwe kopers van cryptomunten hebben weten te vinden. En wat doe je dan met dat crypto-geld?

De numerieke waarde van kunst voorzien van NFTs is onderhevig aan hyperinflatie doordat eigenaren van cryptocurrencies niet meer weten wat ze met hun pyramidespeelt…

Continue reading...

Bierviltje: Verlaging btw op energie?

An article, posted about one year ago filed in energie, ukraine & Gas.

Uitgangskosten

Van PureEnergie, kon ik nog wat historische kosten van terugvinden omdat dat mijn leverancier is:

Type € Per Energiebelasting 0,42176 m3 Opslag DEK 0,10297 m3 Vaste leveringskosten 0,19890 dag Net beheer 0,56084 dag m3 prijs 2021 0,26509 m3 m3 prijs 2021 Nov 1,19 m3 m3 prijs 2022 Maart 2,51 m3 m3 prijs 2022 verlaagd btw 2,26107438016529 m3

Gasverbruik volgens energievergelijker.nl:

  • Slecht geïsoleerd flatje 50-100m2: 776m3
  • Redelijk geïsoleerde 2-1 kap, 100-150m2: 1647m3
  • Redelijk geïsoleerde 200-250m2+ villa: 1647m3

Vergelijkin…

Continue reading...

Block troublemakers using fail2ban

An article, posted more than one year ago filed in how i do it, debian, unix, configuration, server & devops.

I don't mind running my own virtual servers. Fail2ban is a tool I've had running on my servers for years. It helps fencing of requests from ip-addresses that repeatedly misbehave when connecting to SSH and postfix. I never got to creating my own rules. I thought I had to write it in some arcane scripting language, but recently I learned it is pretty easy.

In this case I wanted to block 500 (internal server error) and 422 (Unprocessable Entity) errors. A server error once in a while is expected, but repeated server errors are suspicious. Common source of these errors are scripts that scan for things like SQL injections.

Examples given are for Debian.

/etc/fail2ban/filter.d/nginx-errors.conf

[Definition]

failregex = ^ -.*"(GET|POST|HEAD).*HTTP.*" (500|422)
port = http,https
ignoreregex =
backend = auto
logpath = /var/log/nginx/access.log
bantime = 600
maxretry = 10

And appending to /etc/fail2ban/jail.local

Continue reading...

Headings in sections

An article, posted more than one year ago filed in html, semantics, semantic, aria, accessibility, basics & xhtml.

Some observations on headings in sections elements in HTML.

Below demonstrates that the h1-element adjusts it's appearance level based on the section element. This is conform the standard. It is behaving like the h-element as I remember it being proposed with XHTML2. When inspecting the attributes in Firefox's accessibility inspector, however, the level attribute is still equal to the element's number. Also, this increase in appeared header-level doesn't change for h2-elements and up.

Example

h1 in div-element h2 in div-element h3 in div-element

h1 in section-element Not all h1 are equal h2 in section-element Notice how the h2 is like the h1 within the section h3 in section-element

Code pen of this example

So what?

  • Why isn't the level as reported in the accessibility increased to match the appearance?
  • Why aren't the other heading elements affected?
  • Why did HTML5 not defin…

Continue reading...

QR-codes zijn niet schadelijk

An article, posted more than one year ago filed in qr-code, qr, scan, coronacheck & app.

QR codes zijn niet schadelijk. Een QR code is net zoals een barcode die op alle producten zitten gewoon een manier om informatie over te brengen.

Er kunnen URLs in zitten, contactgegevens, of een code die bijna alleen voor je bank- of coronacheck-app begrijpbaar is.

Mocht je je druk maken over QR-codes, maak je liever druk over:

  • het klimaat;
  • teloorgang van de biodiversiteit;
  • groeiende ongelijkheid;
  • gebrekkige staat van het onderwijs.

Dank.

Continue reading...

Omniauth::Strategies::CentralLogin

An article, posted more than one year ago filed in devise, gem, authentication, openid, oauth, CentralLogin & login.

I just pushed omniauth-central_login to rubygems.org, to make it easy to integrate CentralLogin with other ruby apps. It is a companion gem to CentralLogin, a batteries included open source OAuth2 Provider based on Rails, Doorkeeper & Devise, with simple user managment tools.

Installation

Add this line to your application's Gemfile:

ruby gem 'omniauth-central_login'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install omniauth-central_login

Usage

Configuring Omniauth:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :central_login, ENV['CENTRAL_LOGIN_CLIENT_ID'], ENV['CENTRAL_LOGIN_CLIENT_SECRET'], {
    scope: "openid email profile",
    client_options: {
      site: ENV['CENTRAL_LOGIN_URL']
    }
  }
end

Configuration for Devise (using omniauthable):

co...

Continue reading...

Tag descriptor

CentralLogin

An article, posted more than one year ago filed in ruby, CentralLogin, gem, rubygem, murb, authorization, authentication, roles, groups, resources, open source, mit, openid & oauth.

A simple OAuth provider. See below for more information, or check out the source of CentralLogin on GitLab. To integrate it with your ruby-apps, use the omniauth-central_login gem.

Continue reading...

Introducing CentralLogin, an OpenID Connect Provider

An article, posted more than one year ago filed in ruby, CentralLogin, gem, rubygem, murb, authorization, authentication, roles, groups, resources, open source, mit & oauth.

This app builds on the foundations of the Doorkeeper, Doorkeeper::OpenidConnect and Devise to provide a central login system.

While Doorkeeper supports other OAuth flows, CentralLogin focusses on OpenID Connect as it is a more complete, and hence useful standard, for most use cases where you want to support authentication & authorization.

This project builds on years of juggling with different authentication providers and implementations. It may cut corners to be a pragmatic and less flexible solution which you can host on your own. You don't have to tie your users to a closed authentication system such as Auth0, Azure Directory, Cognito (the horror, really, stay away from it) or something else. In the past I've been a happy user of Keycloak, which is definitely way more advanced than this project, but it in the end it is a Java application and hence harder for me to maintain and not focussed on what I think are the core requirements :)

So, are you in the market for:

  • a…

Continue reading...

murb blog