Categories
Uncategorized

Some books on the economy

Some books on the economy

After listening to another unconvincing and — more importantly — unscientific oversimplistic rant about a magical world without government, I decided to post a comment on Youtube! Actually a bunch of them. Maybe I should just write blog posts again

One of the folks I chatted with in the comments is Michael Tidwell from the Blocktime podcast. He said:

I’m doing some soul searching in my life… i don’t really know if I’m a libertarian or a liberal

I know the feeling. As much as I enjoy Peter Schiff’s podcast, as soon as he ventures away from monetary policy and the need for a balanced budget, his all-government-is-bad conviction often leads to some really clumbsy reasoning.

There’s almost a religious element to some peoples hate for government and blind faith in the mythical free market. Statements are based on dogma, not on actual facts or observation. There’s a lot of “you can’t understand, because the truth has not been revealed to you” retoric. And there is the usual gospel: how people always used hard money (not true), that government is always bad, etc.. The tone is invariably highly emotional, which is another sign of some sort of brain-washing.

Anyway, the real world is much more complicated. I responded with a list of books I read over the past decade. Let me share those here:

Anthropology / biology:

Friendly reminder that the economy consists of humans.

Biographies:

  • Volcker: The Triumph of Persistence — William L. Silber. My favorite part is where he needs to explain Nixon —with the attention span of a toddler— the whole gold standard issue in 1973. Quite a different setting than the conspiracy theorists like to imagine.
  • Per Slot van Rekening — Zijlstra (in Dutch, but a friend of mine translated some of it): Dutch Central Bank president from 1976 to 1982 and Minister of Finance before that.
  • Stress Test: Reflections on Financial Crises – Tim Geithner. He’s both humble and entertaining; he also shows how important it is to have competent people in government (and elsewhere) when a crisis hits; let’s hope Trump recruited wisely.

These are just people, usually quite competent. They have lots of meetings, make decisisons on limited information, experience frustration, etc. Reading their stories tends to cure the sense conspiracy.

Other

None of these will offer you a framework to understand everything, or offer a simple recipe to salvation for humankind, sorry.

P.S. don’t forget to buy some Shitcoin!

Categories
Uncategorized

Ford vs. modern day minimum wage and overwork

I finally got around to reading more about what Ford said back in the day. I think it’s an urban legend that doubling peoples pay leads to more consumption and that leads to increased prosperity. Ford seems to have believed this himself, but if you read the article he also points out two other things:

1 – he didn’t just double the salaries overnight. He only paid people a competitive salary, which happened to be 2x minimum wage. He found that cheaper people were not productive enough and fired those: “we are not inclined to keep a man who is not worth more than the minimum wage”.

A company that increases the productivity of their employees – rather than waste it – is able to produce more stuff more cheaply. Cheaper stuff means more people people – including but not limited to their own employees – can afford it. That’s all there’s too it. If there was larger supply of skilled workers, he would have paid them minimum wage and the company would have been even more profitable.

2 – much more interesting to me is that he encouraged his employees to get enough rest. He reduced the work week from 6 days to 5. He paid them to rest and to not work in those other days. Resting increased their productivity during work hours so much that it offset the lost time. 

He had to make sure people didn’t just take the extra money and then work two jobs – or drink, like the French (his words). This race to the bottom might be why he lobbied to make this the law. That and such a law would hurt his less efficient competitors.

From (1) follows a very important warning to well intentioned initiatives in places like New York and Los Angeles to increase minimum wage: if employees can’t achieve $15 of productivity per hour, they will become unemployed. Ford is careful not mention the fate (starvation?) of those men he was “not inclined to keep”.

From (2) follows a very important lesson for companies that work their employees to death: more hours *reduces* total productivity. This is still true.

Categories
Uncategorized

JSON API Authentication using Devise tokens

For an app that I’m working on I want users to be able to create an account and login. The app speaks JSON. I thought this would be trivial with Devise using something like TokenAuthenticatable, but unfortunately that got deprecated without too much information about alternatives. In typical open source euphemism:

we have decided to remove TokenAuthenticatable from Devise, allowing users to pick the best option

When a user logs in on a website that uses Devise, the browser receives a cookie with session information. If you’re using database sessions, the cookie only contains a session id. The cookie is passed along with every request so that you don’t have to send the username and password every time.

If I understand correctly, you can’t or shouldn’t use cookies with JSON. Instead of using a cookie with the session id, the server gives you a token during login which you then add to the HTTP headers of each subsequent request. The simple_token_authentication does most of this magic for you. The only thing I changed is setting authentication_token to nil at logout so that if the token is compromised it can’t be used again.

Ingredients

I posted the code on Github.  

I needed to subclass the Devise registrations and sessions controller and set

 config.navigational_formats = ["/", :json]

in the initializer.

I disabled the default CSRF protection for JSON requests by placing this line in application.rb:

protect_from_forgery with: :null_session, :if => Proc.new { |c| c.request.format == 'application/json' }

To determe which user can see what, it uses CanCan for authorization, which requires a tweak in Rails 4.

Create account

I used Curl to test the API before building the app. First, let’s create a new user:

curl -H "Content-Type: application/json" -d '{"user":{"email":"sjors@purpledunes.com","password":"12345678"}}' -X POST http://localhost:3000/users.json

Login and logout

curl -H 'Content-Type: application/json'   -H 'Accept: application/json' -X POST http://localhost:3000/users/sign_in   -d '{"user": {"email": "sjors@purpledunes.com", "password": "12345678"}}'

If successful this returns:

{"user":{"id":1,"email":"sjors@purpledunes.com"},"status":"ok","authentication_token":"PLuoQWHf6z_qxzacXBGY"}

Keep this token around for later use:

export EMAIL=sjors@purpledunes.com
export TOKEN=PLuoQWHf6z_qxzacXBGY
export ROOT_URL=http://localhost:3000

Later you can logout so that this token can no longer be used:

curl -i -H "Accept: application/json" -H "Content-type: application/json" -H "X-User-Email: $EMAIL" -H "X-User-Token: $TOKEN" -X DELETE $ROOT_URL/users/sign_out

CRUD

The most important thing to do on the internet is maintaining a list of cats. Any time you want to create, update or delete a cat or see a list of your cats, you’ll need to add your email and authentication token to the request headers. So to add a cat:

curl -i -H "Accept: application/json" -H "Content-type: application/json" -H "X-User-Email: $EMAIL" -H "X-User-Token: $TOKEN"  -X POST -d '{"cat": {"name":"Felix Domestica Prima" } }' $ROOT_URL/cats.json

To list your cats:

curl -i -H "Accept: application/json" -H "Content-type: application/json"  -H "X-User-Email: $EMAIL" -H "X-User-Token: $TOKEN" -X GET $ROOT_URL/cats.json
{"cats":[{"id":1,"name":"Felix Domestica Prima"}]}

To change or delete a cat:


curl -i -H "Accept: application/json" -H "Content-type: application/json" -H "X-User-Email: $EMAIL" -H "X-User-Token: $TOKEN" -X PATCH -d '{"cat": {"name":"Unit"} }' $ROOT_URL/cats/1.json

curl -i -H "Accept: application/json" -H "Content-type: application/json" -H "X-User-Email: $EMAIL" -H "X-User-Token: $TOKEN" -X DELETE $ROOT_URL/cats/1.json

The Real World

Before you deploy this, you should at the very least force an HTTPS connection so that people monitoring the communication can not simply read the password or token. This is pretty simple on Heroku using force_ssl and you don’t need your own certificate.

Issues

  • Currently only one app can login at the same time for each user, because the token is replaced during login. One solution could be to modify  simple_token_authentication to store an array of tokens. See this issue.
  • If you try to access any of the JSON URLs when you’re not logged in, it redirects you to an HTML page.
Categories
Uncategorized

Lijfrente

Ik werd vorig jaar 32, dus als we het kabinet mogen geloven mag ik op m’n 72e met pensioen. De pensioenleeftijd wordt namelijk de komende jaren verhoogd naar 67 en stijgt daarna met de levensverwachting. De levensverwachting voor een man van 65 stijgt volgens het CBS de komende 40 jaar met 5 jaar.

In een eerdere post legde ik uit waarom ik streef naar een minimaal  aanvullend pensioen van 50% AOW, dus €500 bij het prijspijl van vandaag.  Mensen met een AOW zijn al aanzienlijk rijker dan mensen met een uitkering en als zelfs zij kunnen overleven, zit ik in ieder geval niet helemaal onderaan de pikorde (van een van de rijkste landen ter wereld). Het zou natuurlijk leuk zijn om als ondernemer bergen met geld binnen te slepen. Daarbij lachte mijn voormalige rij-instructeur me uit toen ik het woord pensioen noemde omdat ze er vanuit ging dat ik het type ben dat werkt tot hij doodvalt, maar je weet het nooit. 

Dat doel kan ik bereiken door ergens tussen 59e en 66e loonslaaf te worden en te profiteren van de subsidie van jongeren aan ouderen die ons stelsel met zich meebrengt. Maar er is een alternatief waar ik nu al mee kan beginnen. Tenzij ik iets niet goed begrepen heb: feedback welkom! (en ja, ik ga ook nog een adviseur raadplegen).

Als ZZP’er kan ik geen gebruik maken van de standaard pensioenfondsen, maar zoals het CPB laatst weer eens aangaf, is dat als jongere en als man (kortere levensverwachting) sowieso onverstandig. 

Gewoon sparen of beleggen in aandelen of vastgoed is een mogelijkheid, maar dan wordt je vermogen in de tussentijd continu aangevreten door de fiscus (Box 3, etc) en/of gemeente (OZB). Bovendien is het niet slim om je hele vermogen in één plek te bewaren, zeker niet in een speculatief item zoals je huis.

Omdat je op latere leeftijd waarschijnlijk minder inkomen (nodig) hebt dan tijdens je carriere, kan(!) het gunstig zijn om pas op latere leeftijd belasting te betalen. Bovendien kan je er de hoop op nahouden dat tegen die tijd de belastingen überhaupt lager zijn. Daar komt de lijfrenteaftrek van pas. Als je je jaarlijks geld op de juiste soort rekening zet, mag je dat aftrekken van je inkomstenbelasting in dit jaar en betaal je er pas belasting over tijdens je pensioen. Bovendien telt het niet mee voor je vermogen.

Maar hoeveel precies?

Stap 1: welk eindbedrag heb je nodig?

Allereerst doe ik nog een schepje bovenop m’n AOW leeftijd van 72. Je mag de lijfrente uitkering namelijk 5 jaar uitstellen. Full time werken tot m’n 79e is misschien niet ideaal, maar dat beetje part time werken wat nodig is om de AOW vijf jaar aan te vullen moet te doen zijn.

Stel dat ik nu AOW+5 zou zijn, hoeveel spaargeld moet ik dan inleggen om €500 per maand te krijgen? Laten we het de ING vragen:

image

€90.000 dus. Via een andere rekenhulp kwam ik op €80.000.

Stap 2: compenseer eindbedrag voor inflatie tijdens je pensioen

€500 per maand klinkt leuk, maar tijdens je pensioen gaat de inflatie vrolijk verder. Op de inflatie vóór je pensioen kom ik zo terug, maar als je pensioen 30 jaar duurt en de inflatie 2.5% bedraagt, heb je aan het einde nog maar de helft over. Als de AOW wel gecorrigeerd wordt, zak je dus in de loop der jaren van 150% AOW naar 125%. Wellicht dat er tegen die tijd fondsen zijn die daar rekening mee houden en je uitkering jaarlijks aanpassen aan de inflatie. Dat zal iets duurder zijn dan de huidige fondsen die voor zover ik kan overzien allemaal uitgaan van inflatie-naïeve klanten. Daarom tel ik 30% op bij het bedrag dat ik wil sparen: €104.000. Nogmaals, die 30% is puur vanwege de inflatie tijdens m’n pensioen, niet de inflatie in de aanloop daar naartoe.

En levensverwachting dan? Het fijne van een AOW leeftijd die met de levensverwachting mee gaat, is dat een pensioen daardoor altijd even lang duurt. Het maakt dus niet uit of een 70 jarige van nu voor de rest van zijn leven €500 per maand wil krijgen, of een 79 jarige anno 2049. Het bedrag wat je moet sparen is dus hetzelfde.

Het zou natuurlijk kunnen dat de levensverwachting harder stijgt dan het CPB verwacht. In dat geval heb ik meer tijd om dat bedrag te sparen. En wat als Aubrey the Grey z’n zin krijgt? Dan vervalt de AOW waarschijnlijk, maar kan ik alsnog wel een paar jaar met sabbatical.

Stap 3: hoeveel moet je sparen?

Zoals ik al aangaf bemoeilijkt inflatie deze berekening. Het makkelijkst is om in eerste instantie de inflatie te negeren in de berekening van het maandbedrag. Je moet dan twee dingen doen: hanteer een lager rentepercentage in je favoriete rente-op-rente rekenhulp en verhoog elk jaar het bedrag dat je inlegt met inflatie.

De rente waarmee je moet rekenen is de reële rente: de rente die je ontvangt minus inflatie. Ik ben uitgegaan van 1.5%. Door te proberen kom ik dan op een maandelijkse inleg van €140 om in 2049 uit te komen op de €104.000 die ik eerder berekend heb (prijspijl 2014). Bij 2.5% inflatie leg ik dus in het laatste jaar 140 * 1,025^45 = €425 per maand in en staat er ruim 3 ton op de rekening. Maar dat geld is tegen die tijd dus 3x minder waard.

Overigens is de reële rente op dit moment nul of negatief: 2.1% niet-vaste rente bij Reaal minus 2.1% officiële inflatie (de staat heeft er belang bij de inflatie zo laag mogelijk voor te spiegelen). Je kan meer krijgen door de rente langer vast te zetten, maar dan wordt je pensioen gewist als de inflatie een paar jaar achter elkaar richting de 20% gaat. Ook kan je een beleggingsrekening nemen, maar ook dan loop je risico op een crash.  Risico’s neem ik als ondernemer al genoeg. Aan de andere kant, puur in euros sparen is ook bepaald niet verstandig. 

Stap 4: hoeveel mag je sparen?

Nu je weet hoeveel je wil sparen, kan je op de site van de Belastingdienst uitrekenen of dat mag. Voor 2014 moet je vooralsnog handmatig de vergelijking 12 * maandbedrag = 0,155 * (winst – 11.892) oplossen. In mijn geval is er niks aan de hand zolang mijn winst boven de €23.000 blijft, gemiddeld over meerdere jaren. Om de pakweg 5 jaar kan ik vervolgens ook nog extra sparen, waardoor ik versneld mijn pensioendoel haal.

De zelfstandigenaftrek en MKB winstvrijstelling hoef je voor de berekening van de vrije ruimte niet niet van je winst af te trekken.

Maar reken jezelf niet dubbel “arm”, want voor zover ik weet  heeft het inleggen van lijfrente premie geen effect op die toeslagen; je verzamelinkomen wordt er niet lager door. Als ik het goed begrepen heb, wordt de inleg van lijfrentepremie afgetrokken van je heffingsloon en vormt dat heffingsloon je toetsingsinkomen. Je kan dus eventueel (meer) huursubsidie krijgen, maar dan moet je wel op tijd zijn met inleggen, want dat kan niet (meer) met terugwerkende kracht.

By the way:

Als ZZP’er hangt er trouwens wel een zwaard van damocles boven je hoofd: mocht je ergens in de komende 40 jaar ooit even een uitkering nodig hebben, dan moet je eerst interen op je lijfrente. Dan ben je dus je pensioen kwijt én je moet een enorm bedrag aan belasting betalen. Dat komt  bovenop het risico dat je verzekeraar failliet gaat of je bank failliet gaat (reken niet op het deposito garantiestelsel als je bij een grote bank zit).

Is er niet gewoon een eerlijk en robuust pensioenfonds dat hier namens mij over nadenkt?

Categories
Uncategorized

Stel je bent een startende ZZP’er en je woont zelfstandig in een sociale huurwoning. Je overweegt om een kleine klus van €1.000 aan te nemen. Is het de moeite waard?

In de bovenste grafiek zie je hoeveel belasting je betaalt over de inkomsten van die klus. Stel dat je tot nog toe €8.000 verdiend had (bijstandsniveau), dan betaal je over deze extra inkomsten €0 belasting en hou je recht op maximale zorg- en huurtoeslag. Over de volgende klus betaal je 5,75% en dat blijft een tijdje zo.

Bij €21.000 – er vanuit gaande dat je geen kosten gemaakt hebt – is het feestje afgelopen, maar met een bescheiden 10% is nog prima te behappen. Daarna wordt het 38% en tussen de €27.000 en €33.000 betaal je voor iedere €1.000 die je verdient €530 tot €840. Dit komt omdat je huurtoeslag snel afneemt en je welkom geheten wordt in de 2e schijf van Box 1.

Als de teller op €33.000 staat en een klant belt je, kan je beter niet opnemen. Over die klus ga je namelijk 146% belasting* betalen. Na zelfstandigenaftrek, startersaftrek en MKB winstvrijstelling ga je dan namelijk over de magische grens van €21.025, waarop je in één klap zo’n €800 huursubsidie moet terugbetalen. 

Als je in die situatie zit, doe je er verstandig aan eens te kijken naar de willekeurige afschrijving voor starters: oftewel shoppen voor 1 januari! Het is een flinke hobbel en als je niet verwacht daar ruim overheen te komen, ben je feitelijk voor niks aan het werken. Dan kan je misschien beter op een tropisch strand gaan zitten of, als je die mogelijkheid hebt, zoveel mogelijk investeren.

Mocht je je afvragen of je bijdraagt aan de schatkist, bekijk dan de onderste: vanaf €29.000 stop je meer in de staatsruif dan je eruit haalt. Overigens kijk ik hier alleen naar inkomstenbelasting en subsidies en niet naar bijvoorbeeld BTW.

Een vergelijkbare situatie bestaat voor loonslaven, maar dan bij lagere bruto inkomens. Dit wordt echter voor hen verborgen gehouden, omdat ze vanaf het begin van het jaar hun inkomen al weten. Terwijl een (met een goede spreadsheet uitgeruste) ZZP’er gedurende het jaar zijn recht op huursubsidie ziet verdampen en het percentage belasting met elke klus ziet stijgen, wordt bij werknemers de huursubsidie vooraf vastgesteld en de belasting maandelijks ingehouden op basis van het te verwachten jaarloon. Ignorance is bliss!

P.S.  Pin me niet vast op de exacte getallen en raadpleeg een boekhouder of waarzegger voor je iets doms doet. 

* = Het percentage waar je op uitkomt hangt af van de grootte van de stappen inkomen waarmee je rekent.

Categories
Uncategorized

Cars and taxes – Dutch style

I’m writing this in English because the absurd complexity of Dutch tax law is probably more entertaining for foreigners than for locals who are used to it. There’s a chance that I’m going to work at a client’s office in the middle of nowhere for one month. I don’t have a car and public transport would take 3.5 hours per day, so I looked into renting a car. Here’s what I discovered so far; don’t try this at home without talking to your accountant.

The Car & Gasoline

There’s a car rental company a stone’s throw away from my home. I like small efficient cars and so they offered me a Kia Picanto or Fiat Panda for about €480 per month (including VAT) with 3,000 km allowance. For some reason Dutch people love manual transmission, so those are the cheapest. I need to drive about 2,400 km for work that month and I also want to do a few trips for personal reasons.

Categories
Uncategorized

What I’ll be packing for my next long trip


I haven’t decided when or where to go yet, but every once in a while I like to experiment with packing. When I pack last minute, I have a tendency to carry more than I need, which I usually regret when I’m on the road.

Today I bought a smaller suitcase: 45 cm tall, down from 55 which is the maximum for hand luggage. I was able to reduce the weight from 15 kg on my last trip to 7.9 kg. This is mainly because I’m not bringing my Digital SLR camera and guidebooks and because I’m carrying fewer clothes. These two things combined mean I’m crossing a psychological threshold where I don’t consider my luggage a burden. I can comfortably keep this on my lap while sitting in a crowded bus, carry it up a high staircase or down a muddy path.

I’ll feel more comfortable at airports, because the staff is much less likely to make me go through the annoying process of measuring and weighing my bag. Most airlines allow at least 10 kg which means I don’t have to optimize for weight. I normally do that by wearing a sweater and jacket, keeping my Kindle, water bottle and other small but heavy stuff in my jacket and making sure that I’m wearing the heaviest pants. That’s not very comfortable on a hot airport, but that is how I can reach that 7.9 kg figure, half of that being the suitcase itself and my laptop.

Categories
Uncategorized

Rente en AOW leeftijd

Wilders heeft naar eigen zeggen het Catshuisoverleg opgeblazen om AOWers een plezier te doen. Nou gun ik iedereen die dat wil een zo vroeg mogelijk pensioen, maar wat als de financiële markten daar anders over denken? Nou zou je een grafiekje met de Nederlandse rente op staatsleningen kunnen hangen boven de Tweede Kamer om ze scherp te houden, maar percentages zijn zo abstract. Om in het thema van AOW te blijven: hoeveel jaar moet de AOW leeftijd omhoog als de rente 1% stijgt*?

De eerste vraag is hoeveel een verhoging van de AOW leeftijd oplevert. Dit artikel pleit dat een verhoging met één jaar, jaarlijks 2 miljard oplevert**. Interessante kanttekening daarbij is dat de AOW al decenia lang minder snel groeit dan de economie, dus dat de relatieve welvaart van AOWers al jaren krimpt en dat ons allen al tientallen miljarden bespaard heeft.

De tweede vraag is hoeveel een renteverhoging van 1% op staatsleningen ons kost. Hoe reken je dat het beste uit? De staatsschuld bedraagt momenteel 405 miljard euro. Als we in één keer over dat hele bedrag 1% extra rente moeten betalen, is dat dus 4 miljard per jaar. Maar omdat we leningen afsluiten met looptijden van bijvoorbeeld 10 jaar, duurt het langer voor we het effect voelen***.

Categories
Uncategorized

Website Weekend at Setup Utrecht

It’s been a while since I experienced the true Jelly co-working feeling, but today at Setup Utrecht was pretty good. Everyone was invited to finish whatever website they were (not really) working on at the moment. It was a great opportunity to work on the landing page for my iPhone travel guide app.


 

 

Before:

Categories
Uncategorized

Woningnet versus zelfstandig ondernemers

Tips zijn, vooral deze week, welkom. Daarna kan ik hier hopelijk iemand anders nog een hoop gedoe mee besparen of aanknopingspunten bieden om de strijd tegen ambtelijke arrogantie voort te zetten.

Omdat mijn vorige woning wordt platgegooid, moet ik op zoek naar een andere woning. De gemeente heeft mij daarvoor een Stadsvernieuwingsurgentie (SV-urgentie) gegeven. Na een tijdje zoeken vond ik naar mijn inschatting het beste wat ik kon krijgen en heb ik de woning geaccepteerd.

Vervolgens moest ik langs Bo-Ex om daar wat papierwerk langs te brengen die zij dan weer naar Woningnet doorsturen, die daar dan weer wat stempels op zetten en een woonvergunning afgeven. Daar begon de ellende.

Om te voorkomen dat ik voor niks naar Kananeleiland op neer zou moeten fietsen, had ik me goed voorbereid. Ik heb namelijk van tevoren met Bo-Ex gemaild en gemeld, uitgelegd wat mijn situatie was en afgesproken wat ik mee moest nemen. Ik heb daarbij ook duidelijk aangegeven dat ik zelfstandig ondernemer ben, geen boekhouder of accountant heb en zelf mijn administratie bijhoud.

Naar aanleiding van dat gesprek heb ik het volgende meegebracht:

  • de definitieve belastingaanslag 2010; dit papiertje was in oktober nog genoeg om bij Mitros een huisvestingsvergunning te krijgen, maar die woning heb ik door omstandigheden alsnog moeten weigeren.
  • door mijzelf opgemaakte winst- en verliesrekening over 2011
  • door mijzelf opgemaakte schatting winst- en verliesrekening over 2012, met toelichting

Helaas, de balie-medewerker of de mensen namens wie zij sprak, dachten daar anders over. Wat wil het geval?