Tag: BitCoin

  • Electric Boat experience

    Last week I read an article about hesitation with electric boats.
    https://www.linkedin.com/pulse/phase-most-electric-boat-companies-arent-prepared-andrew-sell-bl1te/
    This triggered me to write about my experience after owning an electric boat for almost a year now. But lets start from the beginning. Boating was not really on my radar for a long time. I am a flying guy. When I was a kid, I wanted to become a helicopter pilot. Paragliding has been my favorite hobby since I started in 2002.

    How it started
    A couple of years ago, my wive approached me with an idea. She said paragliding was my egoist hobby. Even if I flew tandem sometimes with our older son, it was time mostly away from the family. She proposed sailing as a new family hobby. I told her that I would probably like sailing, as I had a little experience with wind surfing, but I would never stop flying. So we went on a couple of short sailboat trips. As expected, I quite liked it. I was already familiar with wind and weather, it is in the nature, fairly technical, and can be demanding or even competitive. But my wive didn’t like it too much, as the boat was always inclined and one has to do something most of the time. She was looking more for a chill experience. She wouldn’t admit, but that’s how I interpreted her dislike. So I made the motorboat license. My condition was that, since it is a family hobby, she and later the kids would make the license as well. But I soon realized that I was the only one learning.
    Already during the education I realized that I didn’t like going to the clean lake with a combustion engine, after driving electric on the road for so many years.

    Rent or maybe buying
    With renting boats it was the same, there weren’t any electric boats for rent. For sail boats there are sharing organizations and it seemed to be easy to hire a boat. But I soon found out that if I wanted to rent a motor boat on a nice sunny day, they were all occupied already.
    So I was reminded of an article I read some time ago on electrek.co about electric boats that used hydrofoils to enhance range. As a flying guy and a techie, of course I liked the idea of flying over the water. Pushing a boat hull through the water needs lots more energy than pushing a car over a road. You can easily see the wasted energy by the wake and waves that are created. The more obvious energy saving comes from the electric motor as compared to a traditional combustion engine. Some people claim that such an electric hydrofoil boat uses only 10 to 20 percent of the energy of a traditional boat. But buying a boat was never the plan.
    Towards the end of the Corona pandemic Candela introduced a second version whith an enclosed space for sleeping. Wow was that cool. We had a small camper for many years, and I always enjoyed the adventures. How cool must the adventures be with a camper boat?
    For a while we tried to rent a boat when the weather was good, but often none were available, and when they were, we didn’t like to pollute the environment with the combustion engine. Still no electric boats for rent.

    Stockholm
    Out of the blue I received an invitation to the 10 year anniversary of Candela in Stockholm. That’s the company who builds those cool boats. At first I dismissed it. They are super cool, but I still preferred if somebody else bought an electric boat, and I could rent it. The thought stuck in the back of my head that if nobody else did it, I could be that person. I talked to friends who have experience with boats, and they all told me that it would not be profitable renting out such a boat, as it cost much more than a traditional boat, and you couldn’t charge that much more, and that there weren’t that many days where you would rent it out and not that many people looking for this electric experience. But the thought didn’t leave my mind. If not profitable, renting it out could at least help covering the running costs. So I signed up to go to Stockholm for the party and the factory tour.
    The factory tour was super interesting. So was the test ride. And the party was a blast. But I still needed one more month to decide and to convince my wive.

    Bitcoin
    The real challenge was yet to come. As with all things that are not everyday expenses, I want to pay with Bitcoin. I contacted many shipyards before we finally found a solution. Most said no straight away, or didn’t even answer. One closest to my home, wanted to try, but his bank representative told him some bullshit. Also most BTC payment providers were set up only for smaller amounts, and not for the additional KYC/AML in this price range. In the end all the effort payed out, and I could pay my boat with Bitcoin.

    Road tripping
    The experience with an electric boat is different han with an electric car. They both have a similar battery, and similar charging capabilities. On the road, there was a sufficient network of fast chargers already ten years ago. But on the water, these are still a novelty. I am still hoping for some to arrive at lake Lucerne. But we also use the boat differently than the car. Road trips were possible and even great already when we bought our first electric car in early 2017. If you charge the car while eating, coffe or ice cream stops and when somebody needs to go to the toilet, there is barely any waiting involved. I am currently planning our first road trip with the boat this summer on the Rhine river. All I found so far are blue camping plugs with 3.6 kW. My experience tells me that at the boat ramps the voltage is lower than usual, so the charging power is even less. That means we will drive one time the range of the battery each day, and the rest of the day the boat needs to recharge. The boat would be ready for faster road tripping, but the infrastructure is not there yet. But that is not a problem. We will select harbors close to interesting areas and we will use the time to explore those areas. I read that between Genua and the Cote Azure there is a long stretch with fast chargers. I am curious how road tripping along that route would work out. But all my questions regarding this remain unanswered.

    Regular use on the lake
    Some statistics say that the avearage pleasure boat day trip is about 20 km. I wold say on average that is pretty accurate. Like with cars, you don’t buy the vehicle for the average trips, but for the longest one you want to be able to perform without too much trouble. The 100 km range of my boat mean, I can go to any point on the lake and back without recharging. That’s great. The low energy cost means that we use the boat more, as we don’t have to worry how much each trip costs. I knew before ordering that this boat is not built for wakeboarding, but we still use it for tow surfing and wakeboarding. This summer we want to also explore water skiing and tow foiling.
    Of course I also wanted to use the boat for water camping. I knew that sleeping the whole family in the cuddy cabin would be too crowded. So I ordered the custom harbor cover with a zipper in the middle. When the aft foil is retracted, the strut acts like a pole to a tent. This way, two of us can sleep on the enclosed sun lounge in the back, and so we all have enough space. Sleeping in another harbor was a cool new experience. The showers and toilets are cleaner than on a regular camp site, and we met interesting people. For example an 83 year old woman who goes sailing on her own, and spends a couple of weeks in different harbors each year. Sleeping on anchor was also a fun experience.
    So far I know two places on the lake where I could charge with 11kW, but even though it can be nice at times, the 3.6kW at the regular berths are really enough almost all the time. As far as you don’t use your boat for wakeboarding all day long, there is not much reason to just drive around without end. Either we go some place for dinner, a lakefront concert, a walk, a hike, a barbecue, we anchor to swim, sunbathe or just chill.
    What I like most about it, is that going to Lucerne takes about the same amount of time as with the car and uses a comparable amount of electricity. That’s because the water route is more direct, has no traffic jams and the search for a parking place is much easier.

    The experience
    No pollution was the reason for buying an electric boat. But the benefits go beyond that. The low operating costs are nice, even if they will probably not compensate the higher upfront price at my level of usage. Near silent operation without vibration is really nice. But flying above the waves makes the experience really enjoyable.

  • Lightning wallet for ubports

    Bitcoin is about being in control of your money. For this to be really true, all the components have to be trustable. It is worth nothing if the application is fully open source, when it is run on a compromised platform. On the desktop this is easy. Linux distributions have been well supported, and more user friendly than its closed source counterparts for a long time.

    On the mobile side, the situation is not as nice. You can choose between two platforms that both include a rootkit, that gives the respective company full control over your device. Open source phones have always been available, but they remained a small niche. Besides having an ungoogled Android device for a while, I had devices running OpenMoko, Mobian, Ubuntu Touch and PureOS. But my favorite so far is ubports. It was born as Ubuntu Touch, was renamed when Canonical stopped development, and the community took over. In contrast to the operating systems that expand from desktop to phone (e.g. Mobian or PureOS), with ubports you feel that it is home on the phone. Only two things were annoying for a long time. One was that bluetooth handsfree didn’t work in the car for quite some time. That hasn’t been a problem for a while. The other thing that always bothered me was that there was no native Bitcoin wallet.

    So I used web wallets in the browser. It worked, but I never liked that workaround. I thought about implementing a simple wallet for a long time, but was always lacking the time. Last year I finally decided to give it a go. Since the Bitcoin part is essentially covered by BDK, I was mainly concerned with the QML and clickable stuff. I had a first look at the SDK when it was still developed by Canonical. Back then it looked really nice to develop for the platform, but somehow it never quite worked. All the more pleasantly surprised I was to find out that these days it is much easier and light weight. And it is even possible to develop apps with Rust. I used to develop Desktop apps with Qt in the past, and I loved it. QML is somewhat similar to Qt, but there are big differences. The basics are great, but there is still a lot about the details I have to learn. A first MVP was quickly done and published to the OpenStore. Of course it was the plan from the beginning to support Lightning at some point. But LDK looked much more complicated than BDK. First I wanted to build on top of the Lipa Lightning Library. But I soon found out that it includes also some stuff that I don’t need, and that there were incompatibilities with the ubports SDK. Soon thereafter I found ldk-node. That was just what I needed. It is a really easy to use LDK based lightning node in library form. That makes LDK as easy to use as BDK, or even easier. It is quite possible that at some point I need something else. But even in that case, ldk-node is a great starting point and learning ground.
    All this is to say that I have now a simple Lightning wallet on my ubports phone. So far reading QR codes is not integrated in the app, and I have to use a separate app to copy the addresses or invoices through the clipboard. That’s an inconvenience, and I want to improve it in the future. Also in general, it is still minimal and rough, but it works!!!

    Get utlnwallet from the OpenStore

  • Lightning operated chocolate arcade

    After the Covid lockdowns are only a faint memory, conferences are back again. Last October I was at the Lugano PlanB Forum with lots of familiar speakers. The talks were good, but not as technical as I would prefer. And last month I was at the Swiss Bitcoin Conference in Kreuzlingen. The talks there were even less technical, but the conference was all in German. That was new for me. I only recently discovered how big the German speaking Bitcoin community grew. So far the Bitcoin community that I was involved was more English speaking. A good percentage was also Swiss people, but since there are also a many expats, the main language has always been English. But that’s not what I want to write about here.
    The conference was a FIAT free zone. Drinks and food was all paid with Bitcoin Lightning thanks to the payment terminals from Lipa.
    At the conference there were some industry booths. These are always interesting to explore. One that was particularly interesting was Bischof vending machines. They presented an industry grade vending machine with a Lightning upgrade (prototype), that they actually plan to bring to production. They also sold toy LN Candy Arcades with a Bitcoin Switch kit. I had to get one of these!
    Back home I flashed the micro controller and configured it. And I modified the candy arcade to operate by the relais from the BitcoinSwitch instead of the coins. It is fairly easy to do, but it is at such a high level that it’s more difficult to diagnose if things don’t work, than working at the lower level that I usually prefer. But since everything was already so well prepared, I did the whole thing without diving into the code. The machine is now in the office at SEBA. So far only few colleagues installed a lightning wallet and grabbed some chocolate. It works most of the time, but I found out that the LNBits demo instance is not always so reliable. And I also found out that it is the most difficult to grab some Lindor, when the ground is fully covered with one layer.

  • Creating proof of reserves for an Electrum wallet

    In my last post I promised to write about how you can produce a “proof of reserves” for your own wallet including hardware wallets. So, here we go. First you need an electrum multisig wallet that involves at least one hardware wallet. I won’t go into the details of how to construct this. Recently I created just such a wallet for testing purposes. You can download it and get a descriptor for it with the following steps:

    git clone https://github.com/RCasatta/electrum2descriptors.git
    cd electrum2descriptors
    cargo run -- tests/wallets/multisig_hw_segwit

    That will output two descriptors, one for receiving- and one for change addresses:

    ["wsh(sortedmulti(2,tpubDEcw4ooTbmw62zBKdkYepoP3z4WWugdeRzPHHAbk8XVsPfBE9AAZMNghiqwtdFgtabaeppBTPmezUkRkQZidLcSJp3XTASbMakHcYauWehZ/0/*,tpubDEbkvhmJoZMq3SUNqEf3aEsubvqsCUPc7rroHkGERgS7qA1gQVMxUPrgzth6x43odirLohwf4aMHpvcnWi3jCB2xkizv8T4B2KqLRZVLC6K/0/*))",
    "wsh(sortedmulti(2,tpubDEcw4ooTbmw62zBKdkYepoP3z4WWugdeRzPHHAbk8XVsPfBE9AAZMNghiqwtdFgtabaeppBTPmezUkRkQZidLcSJp3XTASbMakHcYauWehZ/1/*,tpubDEbkvhmJoZMq3SUNqEf3aEsubvqsCUPc7rroHkGERgS7qA1gQVMxUPrgzth6x43odirLohwf4aMHpvcnWi3jCB2xkizv8T4B2KqLRZVLC6K/1/*))"]

    With this and the following commands, you can generate a bdk wallet, and a proof transaction:

    cargo install --git https://github.com/bitcoindevkit/bdk-cli --features=reserves,electrum
    DESC_EXT="wsh(sortedmulti(2,tpubDEcw4ooTbmw62zBKdkYepoP3z4WWugdeRzPHHAbk8XVsPfBE9AAZMNghiqwtdFgtabaeppBTPmezUkRkQZidLcSJp3XTASbMakHcYauWehZ/0/*,tpubDEbkvhmJoZMq3SUNqEf3aEsubvqsCUPc7rroHkGERgS7qA1gQVMxUPrgzth6x43odirLohwf4aMHpvcnWi3jCB2xkizv8T4B2KqLRZVLC6K/0/*))"
    DESC_CHG="wsh(sortedmulti(2,tpubDEcw4ooTbmw62zBKdkYepoP3z4WWugdeRzPHHAbk8XVsPfBE9AAZMNghiqwtdFgtabaeppBTPmezUkRkQZidLcSJp3XTASbMakHcYauWehZ/1/*,tpubDEbkvhmJoZMq3SUNqEf3aEsubvqsCUPc7rroHkGERgS7qA1gQVMxUPrgzth6x43odirLohwf4aMHpvcnWi3jCB2xkizv8T4B2KqLRZVLC6K/1/*))"
    bdk-cli -n testnet wallet -w proofdemo1 --descriptor $DESC_EXT --change_descriptor $DESC_CHG --server ssl://electrum.blockstream.info:60002 sync
    bdk-cli -n testnet wallet -w proofdemo1 --descriptor $DESC_EXT --change_descriptor $DESC_CHG --server ssl://electrum.blockstream.info:60002 produce_proof --message "Testnet coins are worthless"
    

    That will produce a partially signed bitcoin transaction, which can look something like this:

    cHNidP8BANABAAAABMErBiXTxwDcvvvq771RVgP1SYJh3scx0WBImDi7rvmsAAAAAAD/////R2T53Je0wwuCC4sB4y303f5x1sXi67Sbt5GHyNJYSL8BAAAAAP////+hyKIxvTPJ++2fJ9IP+0veP366E6M3+d5ndrRywC+CdQAAAAAA/////85xD7HXF5RHqDqqrmbkuSHlVkWpGr8AQkxbX0GeWMLMAQAAAAD/////ARY4AwAAAAAAGXapFJ9/0JbTftLA4/fwz8kkvu9P/OtoiKwAAAAAAAEBCgAAAAAAAAAAAVEBBwAAAQEroIYBAAAAAAAiACA/WR3mqmBSknWlsU4tF2FirFI49AnBJ/RF3Y8MOVvj6QEFR1IhAjzWg4H+LS0DMvvpzPOBG82hnO3F2EH1ij0DfnUjXwzeIQK4J7EzNMFN5ZpMS9nZLqkSInlZWY+fv9RtNaePd/ZN7FKuIgYCPNaDgf4tLQMy++nM84EbzaGc7cXYQfWKPQN+dSNfDN4Mw7inHwAAAAADAAAAIgYCuCexMzTBTeWaTEvZ2S6pEiJ5WVmPn7/UbTWnj3f2TewMRyCUewAAAAADAAAAAAEBK2aKAQAAAAAAIgAgyuBYb4qmZ5NOo9az+sc19GSGVUza3boreImwW0wqdvMBBUdSIQIj9OEMidD0v63giswaS/zatG5LqLt/jqwauILs+Ne57CECvQAhlTCAChOhr3dosTr3S3sVmD/ogjLDtuXgi4VihPFSriIGAiP04QyJ0PS/reCKzBpL/Nq0bkuou3+OrBq4guz417nsDMO4px8AAAAAAgAAACIGAr0AIZUwgAoToa93aLE690t7FZg/6IIyw7bl4IuFYoTxDEcglHsAAAAAAgAAAAABASsQJwAAAAAAACIAIPrEeWr/BapLkLBg2LsEzljOP3I90GNzv8xyvl5bM7xEAQVHUiECSDumk7HdO7lTOGMBO/B5bxsj8qp/L2f3QJzzNL+WtsMhA++dVhrt7uwufhjJcNk1+Nh1w4ipjbjCnWzfcHwJSkSCUq4iBgJIO6aTsd07uVM4YwE78HlvGyPyqn8vZ/dAnPM0v5a2wwxHIJR7AAAAAAEAAAAiBgPvnVYa7e7sLn4YyXDZNfjYdcOIqY24wp1s33B8CUpEggzDuKcfAAAAAAEAAAAAAA==

    Now load this transaction in your electrum wallet.
    Here comes the interesting part: try to sign it.
    Unfortunately I got the following error:

    A wallet owned pubkey was not found in the transaction input to be signed.

    This is an exception coming from the BitBox2 plugin.
    So, lets take a step back and just use an electrum soft wallet with local key storage. We start again with the command to extract a descriptor. In the electrum2descriptors directory, execute:

    cargo run -- tests/wallets/multisig_segwit

    That again will output two descriptors, one for receiving- and one for change addresses:

    ["wsh(sortedmulti(2,tprv8dNybiDsdyms39SAWTxyiNHABTTgiqmJpScmxGrdKEuZ7TwXcaYXT4f4ddVjWiiQs9zowHqyDmvaebN6fU2Lu6iAYnYuepiLkvzGdcZZi8D/0/*,tpubD9cniQzQ8XnuagyP9Xwg3sWCX77wQPWoLPW7jqzcPn37r8hq2X86uztCEyFbMY16amzwdJ1CcNRXhF3vykn1wuDv2ULzryRtaCcN5Cr8F9y/0/*))",
    "wsh(sortedmulti(2,tprv8dNybiDsdyms39SAWTxyiNHABTTgiqmJpScmxGrdKEuZ7TwXcaYXT4f4ddVjWiiQs9zowHqyDmvaebN6fU2Lu6iAYnYuepiLkvzGdcZZi8D/1/*,tpubD9cniQzQ8XnuagyP9Xwg3sWCX77wQPWoLPW7jqzcPn37r8hq2X86uztCEyFbMY16amzwdJ1CcNRXhF3vykn1wuDv2ULzryRtaCcN5Cr8F9y/1/*))"]
    

    With this and the following commands, you can generate a bdk wallet, and a proof transaction:

    DESC_EXT="wsh(sortedmulti(2,tprv8dNybiDsdyms39SAWTxyiNHABTTgiqmJpScmxGrdKEuZ7TwXcaYXT4f4ddVjWiiQs9zowHqyDmvaebN6fU2Lu6iAYnYuepiLkvzGdcZZi8D/0/*,tpubD9cniQzQ8XnuagyP9Xwg3sWCX77wQPWoLPW7jqzcPn37r8hq2X86uztCEyFbMY16amzwdJ1CcNRXhF3vykn1wuDv2ULzryRtaCcN5Cr8F9y/0/*))"
    DESC_CHG="wsh(sortedmulti(2,tprv8dNybiDsdyms39SAWTxyiNHABTTgiqmJpScmxGrdKEuZ7TwXcaYXT4f4ddVjWiiQs9zowHqyDmvaebN6fU2Lu6iAYnYuepiLkvzGdcZZi8D/1/*,tpubD9cniQzQ8XnuagyP9Xwg3sWCX77wQPWoLPW7jqzcPn37r8hq2X86uztCEyFbMY16amzwdJ1CcNRXhF3vykn1wuDv2ULzryRtaCcN5Cr8F9y/1/*))"
    bdk-cli -n testnet wallet -w proofdemo2 --descriptor $DESC_EXT --change_descriptor $DESC_CHG --server ssl://electrum.blockstream.info:60002 sync
    bdk-cli -n testnet wallet -w proofdemo2 --descriptor $DESC_EXT --change_descriptor $DESC_CHG --server ssl://electrum.blockstream.info:60002 produce_proof --message "Testnet coins are worthless"
    

    That will produce a partially signed bitcoin transaction, which can look something like this:

    cHNidP8BANABAAAABMErBiXTxwDcvvvq771RVgP1SYJh3scx0WBImDi7rvmsAAAAAAD/////fpjOaPHeO8iuqOAAXNYTHduKraGwzE2T6uyQKv/xMiUAAAAAAP////+PIkY8icgEgelHPdjKJ5IhDDRuUpEz0MPJDo3DQjfXhwEAAAAA//////7fKpENlBvDb0Sk/pIj4asvxgJZeAl+c7QitalQiCs8AAAAAAD/////AYk6AwAAAAAAGXapFJ9/0JbTftLA4/fwz8kkvu9P/OtoiKwAAAAAAAEBCgAAAAAAAAAAAVEBBwAAAQEr2YwBAAAAAAAiACA0+1ZWhppfL2hexzK/hNEDRcsqMYpj2eygJvctc04rRiICA85usXGOxyWoB2tjhap+sMe5WMQylChyoIyPQw7YwOWYSDBFAiEAhX/LdNf2yZEB0PNIGJVIJLGp2XYnc8iZHS+0Fb8plLwCIDXlhRegpeS6T5Pvs1zBcmOAh7bpnV2UePcs3Njn+FW+AQEFR1IhA85usXGOxyWoB2tjhap+sMe5WMQylChyoIyPQw7YwOWYIQP91mGneajoVZMtGRkFWvx2ZGUYvEEA6X8IfZK8g8r8slKuIgYDzm6xcY7HJagHa2OFqn6wx7lYxDKUKHKgjI9DDtjA5ZgMXJ6u1wAAAAABAAAAIgYD/dZhp3mo6FWTLRkZBVr8dmRlGLxBAOl/CH2SvIPK/LIM9/UCiwAAAAABAAAAAAEBKxAnAAAAAAAAIgAg0akE2gMCFP1o4HslEN0ysMFhG0q2Y74tPzXhjtUSxU4iAgL6ZTC3eAZapDHPGJ2NyXB4eo7srM6X2c3zbj09qV98AUcwRAIgFHZJzHZrXUeXxxRQtiPrM0Ays6fq1Z+rIHHsQSIjOiICID5SN2tjMSlmiO7nNz3LMKRtHoLwJcv6mGU+/LhJGBTXAQEFR1IhAugJEDOoQ6+rqj7YlxPlMPumDknI/5BHw6QEDGtBVWZoIQL6ZTC3eAZapDHPGJ2NyXB4eo7srM6X2c3zbj09qV98AVKuIgYC6AkQM6hDr6uqPtiXE+Uw+6YOScj/kEfDpAQMa0FVZmgM9/UCiwAAAAAAAAAAIgYC+mUwt3gGWqQxzxidjclweHqO7KzOl9nN8249PalffAEMXJ6u1wAAAAAAAAAAAAEBK6CGAQAAAAAAIgAg++9Wlf87jJ5jDHvPj8fVofJ+/SOcaGpEaLAEJD068pIiAgK9OsDWjXhF2nZ0y1pgMJhdcAlmSzG3Bd1U40ONUA+/7EcwRAIgQGAgXVcwm2X9H5s0q9W9WUNhfwIilld+ldETrlYFx/sCIEhvT+/pE4cM0xGKJk4G7d2E/Zn5YfTtD3Ojf50qbONPAQEFR1IhAr06wNaNeEXadnTLWmAwmF1wCWZLMbcF3VTjQ41QD7/sIQNzF2pZRGQFPkASin8Ll0vqni2CK5T56jLut+XRIeq0dVKuIgYCvTrA1o14Rdp2dMtaYDCYXXAJZksxtwXdVONDjVAPv+wMXJ6u1wAAAAACAAAAIgYDcxdqWURkBT5AEop/C5dL6p4tgiuU+eoy7rfl0SHqtHUM9/UCiwAAAAACAAAAAAA=
    

    Now load this transaction in your electrum wallet.
    Unfortunately, the “Sign” button is deactivated.
    So, apparently, there is nothing we can do at the moment. I will opened an issue with Electrum, and I am curious about what they think about adding support for signing proof PSBTs.

    Of course we could sign the PSBT with bdk-cli, since we already transformed the Electrum wallet to descriptor format with electrum2descriptors, but that would only work with the soft wallet, while I am more interested in the use case with hardware wallets. There is at some point support for hardware wallets coming to BDK, but I don’t know when that will be.

  • No internet at the Dolder Grand

    Today was our wedding anniversary. We usually celebrate this with a meal in a nice restaurant. Last year we went to the Swiss Chalet in Merlischachen. It was very nice and delicious. The reason we went there was that they accept payments in Bitcoin. So I decided to make this a tradition. Thing is, The Swiss Chalet was already so nice, it would be hard to top. I know most restaurants in our vincinity that accept BTC. But only last week, I was reminded that this is the case for the Dolder in Zürich. It is one of the fanciest places in Switzerland, and I was a bit worried that it would be super expensive. But if I can pay with BTC, I’m usually willing to spend a bit more. Their booking website had temporary technical difficulties, but we went anyway.
    The place really looks super nice. The meal was delicious and the service was very good, even the prices were reasonable. On top of that, I could also charge the car. When I told the waiter that I’d like to pay with bitcoin, he had to get the device from another of the restaurants. In the meantime, I tried to get Internet on my notebook. Since there is still no usable Bitcoin wallet for Mobian nor for UBPorts, I mostly use my mobile computer for paying. The waiter advised me to use the open WiFi, and opt for “Tagesgast” (visitor) in the captive portal. Unfortunately, this portal had a bad day. I was unable to create an account. Neither with eMail nor with OAuth. All I got were error messages like “Beim Erstellen des Gastbenutzerkontos ist ein Problem aufgetreten. Wenden Sie sich an Ihren Netzwerkadministrator (Database query error (1b77a6f1))“. The waiter tried to help, and even wanted to use his account. But all he could tell was, that usually it would work. And no I couldn’t create a hotspot on my phone, as I have no mobile data plan. Well, I’m not your average consumer 😉
    It happened to me before, that I went to a restaurant, because they advertised to accept BTC, and it didn’t work. Usually, the software was not properly set up. But that I was not even able to get internet was the first time. And this time was especially disappointing, because of the bigger than usuall bill, and the longer trip to get there.

  • a decade of accepting Bitcoin for paragliding

    Today marks the 10th anniversary of an important blog post. It was the announcement that I started accepting Bitcoin for paragliding tandem flights. I had interest in the nascent internet currency for a couple of months prior to that. And I felt that what was missing were places where people could spend their coins.

    Only very few people came to me and wanted to pay a flight with BTC. But since I went full in on BTC for my paragliding hobby, I convinced a couple of customers to send me BTC instead of a bank transfer. For some of them it was the first time. It’s cool in this regard, that you can buy BTC on every train ticket machine. Unfortunately nobody paid with Lightning so far, despite announcing a special in 2019.

    Many things have happened in the last decade. In the meantime lots of people call it digital gold, and being mainly for investing. While for me it is still primarily the best, most reliable, censorship resistant, easy to use form of money. I never really liked credit cards, but seeing how much more secure and reliable BTC is for payments, I cancelled my last credit card seven years ago, and I never looked back.

    Through Bitcoin I learned so much about the nature of money, and the shortcomings of our current financial system. And a year ago I started as Blockchain Engineer at SEBA Bank, turning my longtime hobby into my job.

    Every time I buy something, I check out where I can pay with Bitcoin. While still not as abundant as I would like, the number of places that accept BTC have grown tremendously over the years. Some of these purchases, I would not have been able to afford, without the value of BTC raising in an unprecedented manner. But I still value the freedom and self-determination that BTC gives more than the wealth.

    • Gold is the money of kings
    • Silver is the money of gentlemen
    • Barter is the money of peasants
    • Dept is the money of slaves
    • Bitcoin is the money of sovereign people
  • Bitcoin Advanced Course by 21lectures

    Last week I attended a Bitcoin Advanced Course that was hosted by 21lectures. Lucas who is also the president of the Bitcoin Association Switzerland initially wanted Jimmy Song to teach his Bitcoin courses also in Switzerland. But when that didn’t work out, he decided to build the classes himself, with the help of great quality teachers and developers from the local community.
    To guarantee fruitful interaction, the groups are kept small. But when I arrived, the group was even smaller than I expected. What surprised me even more, was that a good portion of the students came to Zurich from other countries especially for this course.
    The biggest part of the course was taught by James Chiang. He is preparing a bigger course that he will host online. It consisted of theory and practical exercises.
    Setting up the environment for the exercises proved to be almost as challenging as the hardcore crypto theory.
    For me, the most interesting part was the last day, which was about the Lightning Network. As it is still new technology that is in heavy development, there is not a lot of learning material around. All the more valuable was the first hand information we received from Christian Decker.
    An important part of the whole experience were the lunches. Most of the times, the teachers joined, so that we could ask additional questions and have interesting discussions.
    If you are interested in Bitcoin and programming, I can definitely recommend this course.

    A somewhat interesting aspect was also how to get to Zurich. Downtown parking during office hours is really expensive, and there can be traffic jams. The venue was very close to the main train station. So it would appear to be reasonable to get there by train. But a return ticket for one day costs CHF 56. Lots of Swiss people have a half price card for public transport. They changed their terms a couple of years ago. I made the mistake of reading the new terms and discovered that they are really not acceptable. So I drove there by car, which cost CHF 4.15 for the electricity and CHF 36 for the parking. Still a lot, but also a lot cheaper then by train.

  • Run and fly with the XXLite2

    Before I participated in the rollibock trophy in Fiesch last October, I thought my paraglider equipment was fairly lightweight. The glider is a regular Mac Para Marvel, but the Advance Lightness 2 harness is optimized for weight as the name implies, as well as the accompanying backpack. With helmet, gloves, sun glasses, flight computer and clothes, the equipment is slightly less than 14.5kg. When I started paragliding in 2002, a normal equipment was about 20kg. For reference, My tandem equipment is around 30kg, and my competition equipment also was in that ballpark.
    When I looked around the participants at the rollibock, I was astonished by the small and light backpacks they had. They were literally running up the mountain. When single skin gliders were first released, it didn’t spark my interest. They were a strange appearance, and the flight characteristics looked slightly frightening to me. But a lot has improved since then. Some models have tubes along the leading edge, others from front to back. They have a lot better characteristics and performance than the first models. I started my research in the internet. Some models weight only 1kg.
    Best of all, I started thinking how cool it would be to combine hill running with paragliding. I try to run once a week from Brunnen to Morschach and back. Depending on my daily condition, I make it up to the cable car, or I turn around shortly before I reach Morschach. I always prefer running uphill. Especially since I started getting cramps in my forearms on the descent, sometimes even extending from there. It only happened on longer tours, and only on the descent. After a while I found out that it was caused by dehydration, and I took detours to water sources. I didn’t want to carry anything when I go running. But carrying an ultra light paraglider is something entirely different.
    So I asked the loal flying school for an Ozone XXLite 2 glider for a test flight. November is the worst month for flying in Switzerland. The weather is mostly bad with lots of fog, and most cable cars are closed for revision. When the weather was finally flyable, somebody else grabbed the wing already a couple of times. In early December, I finally got to try it. I didn’t really know what to expect. Some people I talked to, praised single skin gliders as great and fun, while others dismissed them as falling out of the sky like a stone. I completed two flights from the Rothenflue. Take off was very nice both times. With the slightest blow of light wind, you can bring it above the head and maintain it there. Also without wind it was easy to get airborne. The handling was surprisingly similar to a regular paraglider. It doesn’t flare as well as a regular wing, but it does flare somewhat. I didn’t know beforehand, but most single skin gliders apparently don’t flare at all. Apart from the handling, I was mostly interested in the performance of the glider. Of course it was not made for performance, and is far from regular gliders in that respect. The teacher from the school providing the glider told me to expect something in the range of a school glider at the time I started flying. When I checked my XCTrainer in the air, I mostly saw glide ratios between 6.5 and 7 with speeds around 35km/h. For comparison, my regular glider has a glide ratio of around 9 and a current high end comp glider is slightly above 10. The trim speed again seems to be different from other single skin gliders that apparently mostly fly less than 30km/h.
    My resume after the first two flights was that the flying characteristics are good enough, and the small and ultra light package is just astonishing. In short, I ordered one on the same day. Luckily the forecasted delivery time was was much shorter than I expected.
    A week after ordering, I picked up the new wing including the super light harness that I didn’t see before. Of course I bought the glider at the flying school where I can pay with Bitcoin.At home, I installed the special lightweight carabiners and the speed system. But the weather really didn’t look good. We had occasional rain and very strong wind for days. I added a ribcap and gloves to the kit. With this addition, the backpack now weights 1.8kg.
    As the first chance of getting good enough weather, I went to the Zugerberg. Instead of the usual walking to the takeoff, I ran. The light backpack really doesn’t bother at all. Even with light wind from behind, the glider took off flawlessly. The gliding ratio was enough to clear the trees halfway down. When I started paragliding, some school gliders had to land before the trees here because they didn’t glide good enough. Also the landing was smooth. The only thing that was strange was the cold wind flowing around my butt. Usually it is very comfy in my cocoon harness. The equipment is packed rather quickly into the backpack, and I was ready to run up to the train. From the train of course I ran again to the car. So my first flight with the new kit was not a pure “run and fly”, but I can say that it works as I envisioned. Now I’m ready for the real “run and fly” adventures.

  • Generating solar electricity at home

    After I switched to an electric car, I started to care much more about where the energy we consume comes from. With petrol and diesel you don’t really have that option. We are in a comfortable situation that we have some small hydro electric dams nearby. Thus all the electricity we use at home and for driving around, comes from 100% renewable, local production. When you meet with other E.V. drivers, renewable energy production is always an interesting topic. Lots of these folks have their own solar panels on the roof. Solar is especially interesting as it has no moving parts, and can be employed by private people. It becomes more problematic however if you don’t own a house. We live in a rented apartment, thus we have no option to put our own solar panels on the roof. Not all is lost fortunately. Recently I learned about panels with an integrated micro inverter that can be plugged directly into a regular plug on your balcony. According to Swiss law, up to 600W can be installed by private individuals. They only have to notify their power provider.
    So I ordered an ADE Geranium from Energiegenossenschaft that I could pay with Bitcoin. Last week it arrived, and I immediately installed it in our garden. It can feed up to 250W into the plug. I don’t expect to feed a lot of this into the grid. It is more to reduce the standby consumption by refrigerators and computers. 250W is peak anyway and not often reached. In the first week after installation, it only produced 3.5 kWh. So it will likely take 10 years for it to amortize. But it comes with a 25 year warranty.

  • Spending Bitcoin while charging the car

    When I go some place new, I always check out what Bitcoin accepting venues there are. I usually try to prioritize shops that accept crypto currency.
    When I drive some place far away, I have to charge the car on the way. No big deal, usually I can eat, drink or go to the toilet. All those activities, I prefer not to perform in the car while driving anyway. When I’m done, the battery is charged enough to continue the journey.
    But how cool would it be to combine the two. If there was a restaurant that accepts BTC next to a supercharger, I would eat there for sure. Unfortunately finding this information manually is a hassle. That is how the idea was born to write a simple script to correlate charging stations and Bitcoin shops. I did it only quick and dirty. It could be improved a lot, but I’m not sure that is necessary.
    You can visit a map with the correlated locations on ZeroNet: Bitcoin shops at car charging stations
    If you want to have a look at the script that compiles the list or improve it, you can do so at: bitcoin_supercharger.py