Tag: BitCoin

  • 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

  • Green Technology Tour

    Charles and I are going to participate in the WAVE (world advanced vehicle expedition) along the Grand Tour of Switzerland. This years tour will take place from June 8th to 16th and is titled “Green Technology Tour”.
    We enter the trophy as Team Bitcoin with a big BTC logo on the frunk.
    The tour will have well publicized stops at approx 40 cities. I’m very excited to spread the word about decentralized payments, and that Bitcoin is so much more than speculation…

    You can follow our team blog directly on ZeroNet:
    zero://wavebtc.bit
    or through a proxy:
    http://zeronet.ulrichard.ch/wavebtc.bit
    https://zero.acelewis.com/#wavebtc.bit
    The proxy links may not work every time. The second one randomly redirects to different proxy servers, some of which can be temporarily down, or don’t allow adding new sites. If you get an error, just try again, or better yet install ZeroNet.
    In that respect ZeroNet is very similar to Bitcoin itself. Both networks are incredibly reliable and resilient. Unfortunately that doesn’t apply to the connection to the old world: The exchanges for Bitcoin and the proxies for ZeroNet.

    General info about the WAVE is at:
    wavetrophy.com