blog

2016-07-03

Qsort

Would you believe after 25 years of C programming, I am now finally implementing (and so having to understand) qsort :-)

The Standard Llibrary has done well - although at the same time, where their implementation always has been available, I’ve never learned this algorithm.

OTOH, it was a choice. I could have chosen to learn it at any time; I simply never needed to.

(And where’s the first place I’ll NEVER go to find out about quick sort? the wikipedia page, of course! ALL of their algorithm pages are UTTERLY AWFUL OMG I DON’T EVEN. I have never seen such appalling failures - they aren’t even attempts to explain - all they are, are literal descriptions, in the most abstruse, alien and unfriendly possible ways, and so are useful and only useful to people who already know the algorithm, where those people have no need whatsoever to EVER visit the page. Cataclysmically catastrophic).

AirBnB search results seem borked

I’m searching on AirBnB for a place in Berlin.

Thing is this : yesterday, I found a place. Didn’t think that much of it, but there’s very little choice, so I bookedmarked it. I didn’t contact the owner.

Today when I search, it’s not there.

If I go to the bookmark, put my dates in, it’s there.

This is also true for another property I looked at and contacted yesterday.

In short : AirBnB search results, on the face of it, are at least partially fucked. They simply are not showing matching results.

In other news, AirBnB owner pricing, Jesus. People have no clue how to price their homes. I mean, I understand, how can they know, really, except maybe by looking at the non-AirBnB market, seeing normal prices, and then adding some extra to cover partial occupancy.

But I mean - seriously - people are not going ot pay 6000 euro a month FOR A ROOM. People are not going to pay 700 euro a month FOR ONE BED IN A SHARED ROOM WITH TWO OTHER PEOPLE. Come on, FFS. Get a clue. (Or fix your typing errors? should it have been 600 and 70, respectively?)

Berlin in fact a year ago introduced rent controls. People seem to be happy that rent prices have gone down. People are also fucking stupid. If you force down prices, you force down supply. Prices have indeed gone down - thus so has supply - which means the amount of unmet demand HAS RISEN. More and more people CANNOT GET A PLACE AT ALL. The number of people turning up to view every place which is available gets higher and higher.

I’m finding in AirBnB prices are much higher - about 2x - that of the local market. This reflects the real price, rather than the price the State forces owners to offer unless they want to go to jail. In fact, the political parties are forcing owners to make involuntary contributions to their electoral success.

Another aspect of this is that salaries are priced to rent controlled rents, which makes taking an AirBnB prohibitively expensive. Additionally, the city has passed a law which states that people can only offer, without obtaining a permit, rooms on AirBnB if it is 50% of less of their own property. Anything more, or rooms not in your own property, or a property of your own which you wish to let in full - you need to apply for and be granted a permit; and I have no idea what that involves, how sane it is, how much it costs, if there’s a limit on how many are granted, etc. (I think I read something like the city intends to refuse almost all of them).

As an aside, there’s another peculiar things going on with AirBnB. Firstly, AirBnB appear superficially to have lots of properties - try searching without dates, you’ll see so much stuff.

However, if you actually look at any of them, almost all of them are completely unavailable. Their calendars are fully booked forever. Perhaps they’re on AirBnB, but the owners only rent them out once in a long while. However, when you search, AirBnB always says something like “only 1% of all listings are available! BOOK NOW!!!!” I think that 1% (or whatever number it comes ot be) is including all these properties which are not and would never be available to you, i.e. completely and utterly fake and there simply to deceive you into renting.

I’ve also run into a proper with Iceweasel, the Firefox rebrand for Debian. Apart from the usual appalling performance problems Firefox runs into when it’s been running for more than ten minutes with Google Maps and AirBnB (I’m not even kidding), what I’ve found is that after a little while, I cannot correctly type in text areas any more. Typing producing sometimes the letter I’ve pressed, sometimes a semi-random letter, usually a “h” or an “r”. Seriously. Backspace produces an “r”.

I have to compose anything I wish to type in a text editor, and then, with some care, ctrl-a and delete (doesn’t always work; sometimes produces a “h”) anything I’ve typed so far and replace it with my message.

THis of course is an ongoing theme in my life : software simply doesn’t work. Even the most basic, fundamental, jesus-christ-SURELY-you-cannot-get-THIS-wrong functionality is broken.

Turning back to how Berlin is fucking up its rental market (and so, indirectly, its labour market) we see in addition that tenants have massive protection under law. The result of this is that landlords - naturally enough - are absolutely paranoid about who they let to. Three months deposit is the norm, tons of documentation, proof of income, good character, you name it.

The result is that if you’re an outsider, you cannot rent from an owner. It is impossible for you to meet the criteria. Also, even if you’re an insider, God help you if you’re less than perfect…

To protect you as a tenant, we had to make so it so you could not be a tenant.

As an outsider, you must sub-let. Problem with this is there’s so much unmet demand (see rent controls) that every letting has tons of people wanting it - so the subletter wants to meet them all, see who he likes, perhaps who is offering the best extras on the side (“that huge box of chocolate with 500 euros in is for me? how kind!”), and then pick.

If you’re an outsider, outside of the city, can’t turn up? forget it. It is actually impossible for you to sub-let.

This leaves, finally, renting a room, and even this faces the same - albeit less intense - problem of taking a place cold.

Great, huh? Berlin. AirBnB has been fucked, you can’t rent a place directly, sub-letting is problematic and renting a room very difficult. The labour market is of course strangled; people can’t get in.

This is however pretty much normal for most European cities.

2016-07-06

Word of warning re AirBnB exchange rates

AirBnB are doing the Ryanair trick - silently ripping people off on exchange rates.

On 1154 euro, my bank charges about 10 USD to convert to USD.

AirBnB are charging about 50 USD.

AFAICT it’s not optional (it is on Ryanair, so AirBnB are actually worse).

2016-07-07

Germans seem to have trouble with negotiation

So, I’ve been using AirBnB (spit, etc) to try to find a place in Berlin. It’s unlikely to work, city rent controls and direct anti-AirBnB legislation, but if it could, it’d be super useful.

So I’ve been trying.

What I’m finding is this : Germans (German culture, that is) seems to be totally unable to handle negotiation. If you attempt to negotiation, i.e. say anything which argues for a change in the deal, there is no response and the other party leaves.

They don’t talk, don’t say no, it’s just - you tried to negotiate, so the deal is off. They instantly stop responding and close down any open booking.

This is wholly and utterly different to every other country - and that’s a few now - where I’ve AirBnBed.

2016-07-12

AirBnB

AirBnB in Berlin is a catastrophe. It’s completely impossible.

I have never had so many declines, and they all happen without any message. You select dates, ask if available, and get declined. No explanations.

I just tried to book a room - just now. I had a decline within a MINUTE. No explanation. I tried booking another place last night. Also declined, no explanation.

So, I have 14 our of 14 positive recommendations on my profile. I’m pretty sure I don’t smell. What gives? I have no idea - but I can see that AirBnB isn’t functioning.

Washing Machines

Srsly.

I have for many years now found washing machines problematic. This is a partial list of problems…

  1. washing machine floods the kitchen sink, and so the kitchen
  2. washing machine blocks, and so after filling, never drains (my dressing gown and towel were locked in there for a week)
  3. washing machine has no “start” button, so you put stuff in, select the programme and temperature… …and nothing happens, so you take your stuff out (eventually - when the damn thing decides after some random but always long interval that you can now unlock the door, even though there is no water in there and never was any water in there)
  4. washing machine runs, but does not use water

All I want in a washing machine is that it starts, uses water, and drains.

IS IT SO DIFFICULT?!?!?!?!?!?!

2016-07-14

Amazon rule because everyone else sucks at order forms

I hate, I mean I REALLY hate, ordering on-line.

I have just spent 15 very tedious minutes filling in form after form, looking up address after address, card details, fake phone number (mandatory field for something I don’t have, remember to remove all spaces because half the time forms object to spaces - which you only find out when you submit), replace the “ß” in the street name with “ss” because no clue if they support unicode, checking data entered, guessing I should use my USD card because it isn’t clear yet what Paypal will actually bill me in - I need to enter all the addresses to find this out, and if I’m wrong, go back to square one - etc, etc, etc - only to be taken to Paypal, where I had to enter the card address again, AND THEN FOUND THE SHIPPING ADDRESS WAS BROKEN BECAUSE IT NOW OMITTED THE COMPANY NAME. My name and my workplace address are not enough, because there are a ton of companies in the building. Paypal has no option to edit the shipping address.

So I had to abort, which brings me back to the very start - with all forms cleared.

This time, repeating the lot, I need to ensure I have the company name in the address field, in addition to the deadly misleading extra “company name” field.

This I have to say is par for the course. The main reason I order from Amazon whenever I can is to avoid this problem. Sadly, the product I want to order from Amazon is not shipped to Germany - so I have to order direct from the supplier.

2016-07-16

Using glassdoor.com to select manufacturers when buying a product

I’ve just ordered a little switch, to go with the wireless router.

What I came to pick a switch, I was as is usual overwhelmed - there are so many products, so many manufacturers, how do you choose?

Normally I google for reviews, read a bunch, and that way come to make a choice - although often I find the product I want is very hard to find. Just seems to work out that way.

However, this time, I hit upon a new method; I started using glassdoor.com to look up the employee review scores for the given company. I figure in general the happier employees are, the better run the company, and the better the product.

Turns out a LOT of the ethernet switch manufacturers have really bad scores - glassdoor rates out of 5.0, and most were 2.x - which is really not good. Cisco were the best, at 3.8 out of 5.0. So I looked into their product range, and found a very suitable product - very small, physically, lightweight, five ports, dead cheap - like 25 euro. Absolutely perfect.

2016-07-21

Always provide an email address with your contact form

Advice to web-site developers.

If you are going to provide a form for people to contact you, always also provide an email address, because - believe it or not - YOU MAY IN FACT HAVE FUCKED UP THE FORM. In fact, most of you have. I speak from experience.

I have this site -> https://www.high5.com/kontakt/ -> currently in mind.

I’ve spent the last fucking twenty minutes filling in that fucking form again and again. It works about 50% of the time. I’m actually trying to pay, and I can’t, because their site thinks my Dutch and Italian IBANs are invalid. So I used the form - hit submit - it clears. No message on screen, no email, nothing.

So I send them a message to suggest they do provide some feedback on successful submission, because most on-line forms are broken, so I more or less have to assume their form is broken too, and my question was not sent.

This time - lo and behold - there’s a send confirmation.

Fucks sake. I need to pay now, so I can get to the gym. I do not need a couple of fucking days delay while I eventually figure out their fucking form is broken.

Then I discover there’s a silent character limit on the question text. You find out because you can’t type any more. Fucking idiots, time two. First for the limit, second for letting people waste their fucking time typing a meaningful message to discover it. ANYONE who does this need a fucking brain surgeon - to repair the lobotomy they clearly already had.

2016-07-26

SMR is back

SMR has had final debugging performed and the tests pass.

2016-07-30

Update

Currently adding back in the SMR versions of freelist, queue (unbounded, many, many) and stack.

An observation by a colleague regarding IA64 made me realised that the IA64 instruction which compares one word but swaps two is enough for the data structures which require contious double-word compare-and-swap. You simply compare the counter. I’ll be making the necessary changes to support this. It is unfortunate this comes after IA64 has basically died!

2016-07-31

SMR Update

The SMR versions of the freelist, queue (unbounded many many) and stack now compile.

I have to make tests for them now, from the non-SMR test code - that’s quite a lot of work.

I’m going to make a benchmark for the freelist first, I really want to see how much impact SMR has.

The way I’ve implemented SMR involved one CAS per operation, which is a lot of work. The freelist however now only needs CAS, not DWCAS, so that gives a 50% or so performance improvement. So we’re now two CAS rather than one DWCAS - but we also have the overhead of the SMR clean/release work.

I also need to fix the freelist - which is to say, make the elimination layer perform as I think it should, rather than how it is!



Home Blog Forum Mailing Lists Documentation GitHub Contact

admin at liblfds dot org