Author: ulrichard

  • The crapware platform

    I complained many times that there is no standard package manager on Windows, and that installations and especially upgrading software on that platform is an unholy mess. On my office computer there are probably close to ten different mechanisms present to keep different software packages up to date. Some lurk in the system tray, and most of them constantly waste resources. The update mechanism of our software is a little bit better than most in that respect. It doesn’t waste resources while it’s not in use, but it’s still a separate proprietary solution. And the worst part is, that most of the software on usual Windows Systems don’t even get updated at all.

    I looked for a solution as simple, elegant and powerful as apt-get many times. The best I found so far was Npackd. It’s still a decade short of the debian system, but better than anything else I found. The repository has grown significantly in the years I have used it. But even if Npackd implements dependency management, the packages rarely make use of it. It’s just not the way Windows packages are made. Rather than managing the dependencies, they keep inventing new versions of dll hell.

    I don’t know what is the reason that upgrades in Npackd frequently fail. It’s usually that the uninstall of the old version fails, and thus the update stops. What I usually did in the past, was installing the new version in parallel. I think there is not much Npackd could do about WindowsInstaller packages failing to uninstall. Having crafted WindowsInstaller packages myself, I know how brittle and error prone this technology can be.

    Today I upgraded some packages that Npackd flagged as upgradeable. You select the ones you want to bring up to date, and click update. It’s not like “sudo apt-get upgrade” and done, but it still makes Windows a lot more bearable. And for a long time the quality of the packages was good, at least for Windows standards. It started out with mostly open source projects and a few big name packages. The crapware that is so stereotypical for the Microsoft platform had to stay out.

    That impression changed today. One of the packages that I upgraded was IZArc, a compression package with nice Windows Explorer integration. Already during the upgrade process I had a strange feeling, when I saw the ads in the installer window. And when it was done, I was certain something fishy had happened. Some windows popped up wanting to install browser toolbars, changing the default search engine and scan the computer for possible improvements. Holly shit I thought is this some scareware? I would expect this from some random shareware downloaded from a shady page, but not from Npackd.

    And that’s my main point. When you install software on your computer, you trust the issuer not to hijack your system. And if you install software through a software repository, you trust the repository even more. On Windows, you’re pretty much dependant on lots of individuals and companies involved in the creation of all the packages you install. There is a Microsoft certification process, and I don’t know what it checks and entails. There is also the possibility to sign your packages with a key signed by Microsoft. But that merely protects from tampering between the issuer and you. With OpenSource software however, you can examine the sourcecode yourself, and rely on the fact that other people checked it as well. Then most distributions have build hosts that compile and sign the binary packages. To be included in the repository, a maintainer has to take responsibility for the package, and upload a signed source package. The source package can be verified by everyone. So, the only thing you have to trust is the build host. But even that you could verify by building the package yourself, and compare the result. So the whole thing is fully transparent. Hence, if one individual decided he wanted to earn some bucks from advertising and bundling crapware, he wouldn’t get very far. As a nice add on, apt (or synaptic for that matter), can tell you exactly what files get installed to what location for every package in the system.

    Just as a side note, crapware is the unwanted software that is pre-installed when you buy a new computer, or that is sneaked onto your computer when you install oracle’s java. When I bought my netbook, I booted Windows exactly once to see how much crapware they bundled, before wiping the disk and installing ubuntu. Needless to say no such problems exist on the Linux side.

    So I checked the “Programme und Funktionen” in the system settings. That’s one of the configuration items that changes its name and appearance with every version of Windows. I found about 7 unwanted packages with today’s installation date. I removed them immediately, and I can only hope that they didn’t install additional malware.

  • The most beautiful car ever built

    I usually don’t write about books I read, or even reviews. So, this is a rare occasion, but it’s also a type of book that I only rarely read. Usually I just give ratings on goodreads. This book is about the Jaguar XJ13.  Now, beauty is a matter of taste, so you’re free to disagree, but I for myself have never seen a more beautiful car than the Jaguar XJ13. It was designed by Malcolm Sayer who also designed the iconic E-Type, the successful racing C- and D-Types as well as (my) XJS.

    The XJ13 was designed to win the 24 hours race in Le Mans, to carry on with the victories Jaguar had in the fifties. As Jaguar were too hesitant at the time of development and as a consequence of a change in the rules for the Le Mans race, the car never took part in an actual race. Nevertheless it held a lap record for the MIRA test track for 30 years. Only ever one was built and it had a horrible crash while filming for an advertisement. The car was later rebuilt to it’s full beauty. It now belongs to the Jaguar heritage trust, and not even an arab sheikh bidding seven million british pounds could buy it.

    As I was never involved in the design or engineering process of neither a car nor an engine, it was totally exciting and interesting to learn how all these processes work. Or should I say worked fifty years ago? No point in listing all the details here, but the book has full coverage of the engine design and testing as well of the body design as well as the testing of the car itself on the test track as well as the race track.

    The stuff is especially interesting, as the engine that was developed for XJ13 was Jaguar’s first V12, and a predecessor of the engine that powers my XJS.

    At the end of the book there is a short discussion of the die cast models available. By chance I found out that the same model, I own is now on ebay for four times of what I payed ten years ago. Now, I’m still looking for a 1:18 model of the C-X75.

    The most memorable quote from the book is when Malcolm Sayer describes how he designed the car to not being negatively influenced by the airflow. No lift, no pushing down and no effects from wind from the side. The wings at the tail of some other cars were unacceptable for him. He described them as a kludge to fix design mistakes. Noone at Jaguar understood how he calculated the shapes. Instead or or in addition to drawings he also calculated books full of numbers. From the descriptions given, it’s hard to tell if his proceedings would today be described as parametric surfaces. So, in a way he performed CAD without a computer.

  • Chiemsee Holiday

    Like for most people around here, summer holidays for us usually means going south. And that is what we usually did in the past. This year, we wanted something new. The countries north of Switzerland were unexplored territory for us in regards of holiday destinations. We had ideas to go to the netherlands, Belgium or the Provence. The Nordic countries, we wanted to save for later, for a bigger trip when the boys grow older. After some brainstorming and discussing, we settled on the north sea cost of Germany. It would be a long drive, but manageable wit the current age of our boys. Then we found out that Levin is still allergic to fish. So we figured, that going to the sea might be not such a great idea. At least a lake we needed so that we could do some kayaking. Thus, the next best thing was the Bavarian sea: the Chiemsee.
    We both didn’t know the area. The closest I was before, was Berchtesgaden, where I was competing in the 2005 German paragliding championship. Lots of people told us that it is a very nice area. So we looked forward to it.
    The day we drove there was full of postponings. We left only in the middle of the afternoon, and so we didn’t make it in time to check into the camping. Consequently, we had to sleep the first night parking in the driveway, with all the luggage still in the camper.

    Our first canoe excursion was not so pleasant, as Noah didn’t sleep enough, and so he complained all the time. The area was nice indeed with lots of activities for the kids. Definitely the highlight was the fairy tale theme park in Ruhpolding. It is a paradise for kids, full of ingenious playgrounds and stuff to explore. Neither the flyer nor the homepage can describe how good it is. If you’re in the area with children, you have to go there!

    The Chiemsee is on the flat land but very close to the mountains. As it’s on the flat, the underground is all mud. I had heard of two nearby flying sites before: Hochfelln and Hochries. One day we wanted to go to the Hochries, but the easterly wind was not suited for flying there, and the one person chairlift was a no-go for Mirella anyway. So we went to Kössen just after the Austrian border. I was very positively surprised of the flying area. It was well protected from the prevailing wind, and had enough room for many paragliders on takeoff and in the air. It reminded me a lot of Gstaad. After about an hour flying in the gentle thermals above takeoff, I decided it’s time to look after my family. Then I found out that landing next to the cablecar was the trickiest part of the flight. There were lots of small thermals close to the landing area.

    One day we took the boat across the lake to have a ride with an old steam train. The boys were totally excited by the ancient technology. Next, we visited the castle on the main island. It was built for the fairy tail king Ludwig the second, who also built castle Neuschwanenstein. The castle on the Chiemsee island is a copy of the french Versailles palace, and although not finished, full of excessive splendour.

    On the way home, we stopped in Munich to visit the BMW world with our two car fanatics. From every model sold in the BMW group, there was a piece in the exhibition. The kids could sit into all but the Rolls Royce. We had a hard time to get them out again.

  • Computational neuroscience class

    This year didn’t start out so great for my online classes. I signed up and started a bunch, but quit all but one so far. Some were not as interesting as I thought, some didn’t contain enough new stuff or the material covered was too different from what I expected. I just couldn’t motivate myself to invest the time and effort to complete them. Maybe it’s not as exciting as it was for the first few classes or maybe these teachers are just trying out a new channel and are not as determined and enthusiastic about this new form of education. For me personally, the first MOOC that I completed, the introduction to AI is still the best.

    Finally I found a class that I was keen enough to complete. That was about computational neuroscience. I read some books about neurology before, and was familiar with the basic structure of neurons and synapses as well as with some neuro transmitters such as GABA. But the details about ion channels and their detailed behaviour was new to me. The calculations with the spike voltages and spike triggered averages were very interesting. They highlighted to me just how simplified the common perceptron neural network models are. The second part of the class that was more about the application of the insight from the biological neuroscience into artificial intelligence and machine learning was more familiar and partly repetition.

  • AtTiny Advent Wreath

    An advent wreath in late spring, you ask? Yes, the timing is a bit off, and that’s not just because the coldest spring in ages has not finished yet. While browsing for the topic of my last post, I discovered a nice little one-evening-project: Geeky advent from tinkerlog.
    I had all the required parts here, so I just gave it a try. The adaptation from the AtTiny13 to an AtTiny45 was straight forward. But finding the right threshold value for the ambient light sensor was a bit trickier. Especially, as the ADC didn’t work at first. That was probably a difference between the two AtTiny’s. But once I configured the ADC properly for the AtTiny45, I flashed it a couple of times with different values, and turned the room light on an off, until I had a good threshold value.
    It’s interesting how the flickering is done with the random values and the manual PWM. And especially, how one of the LED’s is used to sense the ambient light was intriguing. To save battery power during the day, it goes to sleep and waits for the watchdog timer to wake it up. It then senses the ambient light. If it is bright, it goes straight back to sleep. If it’s dark, it lights up the LED’s. Going through the four modes for the four weeks of advent is done by resetting, or just quickly disconnecting the power from the battery.

    But now I look forward for the summer to come, before we can put the mini advent wreath to use…

    As my modified code is so similar to the original, it’s not really worth to create a project on github. So, I just pasted the code below.

    (more…)

  • AtMega breadboard header

    A while ago, I ordered some AtTiny breadboard headers from tinkerlog.com. Unfortunately, they didn’t have any boards for AtMega’s left. The ones for the AtTiny’s are very handy, and I used them whenever prototyping something with an AtTiny. In fact, I used it almost whenever flashing an AtTiny. Many times I wished I had one of these tiny boards for the AtMega’s and at some point I even forgot that they existed. Often times I just included in ICSP header on the stripboard.

    Last week I thought I must have such a board for the AtMega’s as well, and created one with a bit of stripboard. The wiring is not pretty, but the device works well, and is a real help when prototyping.

    Fritzing layout on github

  • Jumping ship as google is getting evil

    For many years google stood out of the big IT enterprises as an example of respecting their users and embracing open standards. Sadly, they are drifting away from that, and it looks as if they want to get as insidious as the others. Gone are the times of “do no evil”.

    Just recently, I wanted to upload a video to youtube. For some reason, it didn’t let me, unless I created a Google+ profile. WTF!!! This is insane. I don’t want your creepy, time wasting social platform. I just wanted to upload a video!

    Instant Messaging

    This week, I read in the news that they want to abandon XMPP in their GoogleTalk. This one is even worse. After Skype was assimilated by the evil empire, I was happy to find a better alternative. Long before that, I was unhappy with the closed proprietary nature of Skype. And with GoogleTalk I was not forced to use some crappy piece of proprietary software to chat with my friends.

    The good thing about such events, is that every time I learn a little something about the underlying technology. For instance, I just learned about the federated nature of XMPP. So far, I only used it to communicate with people on the same server. So I thought about running my own xmpp server, but then I created a jabber account on FSFE today. With this I’m able to chat with people on any standards conforming XMPP server….. Google is sadly soon no longer one of them. My xmpp address is  ulrichard@jabber.fsfe.org if you want to connect.

    PIM Syncronization

    Next thing was contacts and calendar synchronization. I used to do this directly via infrared or bluetooth between phone and computer. But when I bought my Android phone, it was just sooo convenient to use the Google services. That even outweighted the unease of having my private data on their servers. So far it has always been easy to download all my PIM data from the Google website to make backups and be prepared to use it somewhere else, just in case… Thanks for that Google, that is exemplary! But who knows what they are up to, next.

    To be prepared, I looked for alternatives, to have the same ease of use, but re-gaining control of my data. I didn’t want to set up a box with owncloud or something similar, as I have an ubuntu server running already. It didn’t take much duckducking to find davical. The installation is easy, but I’m sure the debian package could be made in a way that none of this manual configuration would be necessary. It used to be only for calendar, but with recent versions, they also added contacts.

    Setting it up in Evolution was also quickly done.  The only thing to find out was that apparently CardDAV and WebDAV are the same thing.

    Contrary to my expectation, Android 4.0 has no native support for CardDAV nor CalDAV. But the app’s from the market work well. I use CalDAV-Sync and CardDAV-Sync both from the same developer. They nicely synchronize the built in address book and calendar. He promised to opensource them, once he cleans up the code. I also tried Caldav Sync Free which is already opensource, but it currently has only one way sync.

    eMail

    I never used my gmail for much other than mailing lists. For the most part, I use my paraeasy address over imap. It is hosted at a regular provider and works good enough. It would offer webmail, but who needs webmail anyway? I made more than one attempt to set up an eMail server on my own server, but so far I’m not confident enough to use it publicly. From what I know, correctly maintaining an eMail server, and not ending up on a black-list is more difficult than a webserver. This is because spammers are happy to abuse it, if it is configured incorrectly. I tried different tutorials with varying degrees of success. Some tutorials are actually quite intimidating. Now today, I found iredmail which seems to be very easy to set up, but is meant only for freshly installed servers, and has some stuff that lives outside of the repository. As my server has been running for some years, was upgraded multiple times and runs a variety of services, it didn’t go so well. I will probably keep trying, but it has still no priority.

    Files

    I don’t use GoogleDrive nor UbuntuOne nor dropbox nor wuala nor anything similar to synchronize files. While I appreciate the ease of use, git suits me better. That’s right, git, the distributed version control system, a developer tool. It was not developed to synchronize the home folder, but it works very well for that purpose. Long before anybody talked about file synchronization (other than rsync alikes), I used subversion. I admit, there is some typing involved, but I have full control, full offline history and can compare revisions. That is on any device, and yes I run debian inside my Android phone. The master repository lives on my own server and is protected with a key that is stored on a smart card.

    Conclusion

    It’s sad to see Google services deteriorating, but there are alternatives

  • Jaguar headliners repair

    Remember the Asterix & Obelix comics, and that the only thing they feared was that heaven would fall on their heads? That happened to me lately. But it was not as bad as that might sound. Well, the joke doesn’t quite work in English. In German, we call the headliners of a car “heaven”. Last summer, when I had the power steering of my vintage Jaguar XJS repaired, the car was in the sun for a few weeks. Thus, the fabric on the inside of the roof loosened and hung down.

    Now, I finally had it repaired. I found a holstery  in Goldau (kk-cabrio). To bring the price down a bit, and also out of interest, we agreed that I would take a day off, and help with the tedious parts. While Kuschj would do the more complicated stuff that requires experience not to break anything.

    That worked out really well. I dismounted and mounted the misc stuff from the car, and helped with the headliners. To make sure the new fabric wouldn’t fall off again, I had to scrub off all the old glue from the pressed glass wool mold. Also the trims at the side of the roof got new fabric. There was a spot which had a hole, that was visible for all of the eleven years I have owned that car.

    In the afternoon, we disassembled the passenger seat. It was in need of sewing on the side.

    After everything is done, it’s now much more pleasant to sit into the old cat.

  • Variable fan speed for the camper

    The T3 VW camper vans came with a three step fan speed switch. Maybe it broke just like that, or maybe it was due to the kids playing with it endlessly. No matter what, the broken switch was a good opportunity for an upgrade. I ordered a 15A PWM motor speed controller which I thought should be big enough. Its potentiometer was broken on arrival, so I got a more rugged one from the local shop.

    Connecting it was more complicated than I thought. With the original three step switch, the motor was directly connected to ground, and the highest tier connected it directly to 12V. The other two tiers had resistors in series. My naive expectation was that the ground would be common between source and motor, in the PWM unit as well. But instead the plus was common and the minus was PWM switched. So I had to search the connection from the motor to ground and cut it.
    In the end, it works like a charm…

  • tinkering with the kids

    This Easter weekends the weather was really crap, so we stayed home. We had lots of time to spend with the kids, and we all enjoyed that. The boys are still a bit too young for the projects I usually do, but we just did our first electronics lession.. Even if Levin didn’t fully understand how a photon derails an electron in the silicon of the solar cell, he still liked to see how the prop blew more air when he better aligned the cell to the sun.

    What you need is just a pack of match sticks, some glue, a small solar cell and a tail boom of a broken RC helicopter.

    Levin also created a Triceratops. You see it on the photos, that’s the dinosaur with the three horns.