Posts

Thank you Collabora

Image
My interview with Collabora was cool and relaxed. It was over video conference, and I did it from the comfort of my sofa at home. The first call was with Neil, the engineering manager at the time, who was sitting somewhere outdoors in the UK. The second was with Sjoerd who is the core domain lead, and was calling from his place in the Netherlands. This looks very 2020, right? But these interviews took place in 2015, the year I started working from home. I was a PhD student in Paris when I did the interviews, and working for Collabora meant that I could choose where to live. I returned to Switzerland after my grand parents decided to leave Basel and Aargau to the excitement and adventures that Brazil offered in the 1950s. My father was born in Brazil, I was born in Brazil, but I moved back to Zug in 2016. While being able to choose where to live is powerful, this is not the best part of working for Collabora. Collabora is an open company, meaning that we have access to all info...

Using foam to reduce 3d printer noise

Image
I reduced the amount of noise the printer transfers to the table, as the table was acting as a loud speaker amplifying all noises. The result was very good with noticeable improvement and with the printer sounding smoother, as if I've had lubricated it. One problem of using foam is that the printer bends to the heavier side requiring an extra conic piece of foam, as you can see on the right.

Composite material stress test: PET-G + Polyurethane foam

Image
I found people doing lightweight and strong structures with very thin walls filled with expanding foam. See this post. I'm using a cylinder printed in black PETG with 0.4mm walls printed at 245C, 80mm of external diameter, 60mm internal diameter and 50mm height. The volume between the cylinders is approximately 93 ml, and each piece weights 14g~15g before adding foam. 0% infill with simple 0.4mm walls Each piece weights between 14g and 15g before adding the foam. The references I found online are for using professional polyurethane expanding foam made by combining two liquids. These are great for many reasons, one being that you can calculate the amount of foam to fill your pieces. I wanted to try polyurethane expanding foam found on the supermarket. I highly recommend using protection glasses and gloves. These are cheap and can be of great help when handling the messiness of these foams. Latex gloves are not a good choice as the cleaner dissolves the latex. I al...

Techsolo TN-100 Gigabit Express Card Performance on Linux

This devices are detected on Linux and work out of the box, but are slow and get very hot. Maximum performance is just a little bit more than 500 Mbps which is very poor. My guess is that the poor performance is caused by the PCI  and not PCIe chipset: VIA Velocity VT6122 So if you have a choice, keep away from these devices.

My router runs Fedora - Part 1

Image
My principle of 2017 For me 2017 is going to be the first year of the dog food. Eating your own dog food, or simply dogfooding, is reference to a scenario in which one uses its own creation to test and promote it. Until 2016 I was way too focused of being user of state-of-the-art, and I missed many interesting adventures. Let me go and catch up with how things really works. Why start with my router? I love OpenWRT, I really do. But you know what I miss there? systemd... My job transformed my negative feelings about systemd into some love. I would do anything to be far away from systemd an year ago, but now I like it. systemd had the chance to start again, and leaving 40 years of bash hacks in the past is... awesome! For a long time I was using a $ 20 router . This was the device in which I learned how to use and love OpenWRT. The only limitation of this cheap router is the 100 Mbps Ethernet ports which is a problem for the 200 Mbps I get from my ISP. The natural choice f...

Swiss driving license exchange

For exchanging my Brazilian driving license for the Swiss one I needed to do a street test. The entire process is straightforward and efficient(The driving license arrived 48 hours after I passed the exam). There are many pointers of how the process works, so I'm not covering that in details. I think the only relevant detail is the canton: Zug. I have 15 years and 500.000+ km of driving experience, and I consider myself a very, very good driver. My "auto"-esteem is not related to agressive driving skills, but my focus on safety, understanding of the car, environmental awareness, and traffic flow. Just as an silly example, when I get a new car, I adjust the mirrors and do some experimenting to "see" in practice where the blind spots are on that car before I feel comfortable with the mirrors. I'm also on a lazy path to become an airline pilot, so I'm the guy really interested in the rules and what motivated them. I got my Swiss driving license on the f...

Hello gandi.net

Image
I was a bluehost.com customer from November 2008 to November 2015. When I joined, they offered great service for the price, but the price is not interesting for at least two years now. Besides some minor technical issues, the company lost a lot when it was sold, maybe more than once. In 2008 there was a good feeling that they cared about me, and that they were always innovating. This has gone for a long time. I've been avoiding to move to another provider because I was expecting a lot of pain. I don't have anything complex: 7 domains, and about 400 MB of static content. How to choose my next registrar and hosting provider? Gandi SAS is a sponsor of the Kernel Recipes , a Linux kernel conference that happens every year in Paris. But, besides sponsoring the event, they go to the conference, which offers me the chance to meet people who works for Gandi, and I met them many times there. About prices, bluehost.com was asking me € 157.54 ($ 172.66) to renew my hosting plan for...

Making steam work with Ubuntu 14.04.2 with Kernel 3.16

I have Ubuntu 14.04 LTS for playing Steam. Steam stopped working after upgrading to the 3.16 Kernel with newer X. I've upgraded Ubuntu following:  https://wiki.ubuntu.com/Kernel/LTSEnablementStack To make Steam work again, I just: $ sudo apt-get install --install-recommends libgl1-mesa-glx-lts-utopic:i386 libegl1-mesa-drivers-lts-utopic:i386 And then rebooted.

Fedora: Booting Fedora LIVE to RAM

Image
Fedora live images do not include the "Boot to RAM" option any more. This is not a big problem as the scripts needed to boot to RAM are still there. You just need to add rd.live.ram  as boot option. To do that, highlight "Start Fedora Live" using the keyboard keys and press TAB to edit boot command line. Add rd.live.ram and press Enter. Press TAB to edit boot command line Add: rd.live.ram  Press ENTER

Fedora: Creating Arch Linux chroot with ssh server

I made a fork of a clone detection tool named CCFinderX . Two days ago I got a message from an user telling that the compilation was not working on Arch Linux. As some Kernel developers, such as Greg KH, has mentioned Arch Linux as being nice , I decided to try it. I prefer chroots over virtual machines due higher performance, and due the fact that I do not need insulation between my chroots. As for Debian, Fedora provides all tools needed to create chroots for Arch Linux. This is "very" nice, as one can setup the Arch Linux chroot in just a few minutes. The steps will cover installing Arch Linux tools on Fedora, creating the Arch Linux chroot, and configuring it with a new user and ssh server. Some data: Target directory for the chroot: /opt/arch Package groups to be installed: base base-devel (More groups available here ) User: peter ssh server port of the chroot: 2227 Note that the text refers to "[fedora] $" and "[arch] $", but this strings...

Script to add custom display resolution on Linux / X / Gnome

Toshiba R830-10P  is a nice notebook as it lightweight, and very powerful, but the Graphics are poor. The integrated LCD has miserable resolution of 1366 x 768, and as it uses Intel HD Graphics 3000 it do not officially support high resolution displays such as 2560 x 1440. See the problems I've faced to use high-res monitor here . I made a script to help people with similar problem. If you have a monitor that is not officially supported by your video card, you can try this approach. You need to tune the Hz parameter to find one value that is supported by the hardware, that is comfortable and stable. For comfort the higher the Hz the best. Please note that there is no warranty that this script works for you, and there is no warranty that this script is safe for your hardware. I'm quite sure that playing with Modelines can burn some old CRT monitors. I've never heard that you can burn LCD / LED monitors, but I'm not sure. The script is available at: https://git...

New monitor and old notebook

Image
When I arrived at the office today there was a new monitor on my desk. Acer PB278Q 27” 16:9 2560 x 1440 WQHD LED-backlit Monitor . It is very nice monitor. My notebook uses the second generation Core i7 processor i7-2620M. The embedded Intel HD Graphics 3000 officially has as maximum resolution 1900x1200 for 60 Hz refresh rate. If using lower refresh rate, it is possible to use higher resolution. One good source of information is the page: http://www.notebookcheck.net/2560x1440-or-2560x1600-via-HDMI.92840.0.html I was not able to use more than 40 Hz as refresh rate when they say 55 Hz worked with Intel HD Graphics 3000. I can set modes up to 44 Hz but then the image is not stable and goes black for one second some times. What I did: $ gtf 2560 1440 40   # 2560x1440 @ 40.00 Hz (GTF) hsync: 58.92 kHz; pclk: 200.80 MHz   Modeline "2560x1440_40.00"  200.80  2560 2712 2984 3408  1440 1441 1444 1473  -HSync +Vsync Then: $ xrandr --newm...

CCFinderX, the new CCFinder

Finding code clones is far from trivial. For a nice explanation about the challenges of finding clones in source code, I suggest reading: " Comparison and evaluation of code clone detection techniques and tools: a qualitative approach ". You can start by reading sections 2 and 6. There are at least two tools with source code available under permissive free software licenses. Deckard and CCFinderX . CCFinderX is an evolution of CCFinder, made by the same author. Deckard is easy to build and test, however CCFinder was not. For Linux users, I made a fork from gpoo/ccfinderx , and made some changes to simplify the build on Linux. The main change is to separate the core from the GUI. I have now two repositories: https://github.com/petersenna/ccfinderx-core and https://github.com/petersenna/ccfinderx-gui Both are clones from  gpoo/ccfinderx , but I've spited things. At the moment the GUI do not work but you can build CCFinderX-core without wired OpenJDK dependencie...

Creating 32 bits chroot on 64 bits system

I use Fedora 64 bits on my workstation but I need 32 bits chroot of Debian. It is easy to do. Create the chroot following the instructions from:  http://blog.parahard.com/2013/03/creating-debian-chroot-inside-fedora.html The first difference is that you need to add --arch=i386 to the debootstrap command. Then for entering the chroot add linux32 as the first argument after sudo. Something like: $ sudo linux32 chroot debian-wheezy After that even uname -a will show 32 bits instead of 64. The linux32 tool is on the util-linux Fedora package.

Fedora: Creating Debian chroot with ssh server

I use Fedora on the Desktop but I need to do some development on Debian. chroots gives you no performance overhead, while virtual machines gives you CPU and memory insulation. Also the chroot is only a directory on my development tree. I'm using Fedora 17 on my workstation and Debian 7 inside the chroot. The debootstrap command will save the files on the directory debian7-chroot/ under the current directory. 1 - Install debootstrap and dpkg on Fedora: Fedora # yum install debootstrap dpkg 2 - Create the basic Debian: Fedora # debootstrap wheezy debian7-chroot/ http://ftp.fr.debian.org/debian 3 - Enter your new Debian: Fedora # chroot /path/to/destdir 4 - Install additional useful packages: debian-chroot: # apt-get install locales less vim openssh-server sudo aptitude 5 - Configure openssh server to start server on port 2222: debian-chroot: # vi /etc/ssh/sshd_config Chage: Port 22 To: Port 2222 6 - Change root password debian-chroot: # p...

Toshiba R830 and 16GB of RAM

Image
The datasheet of Toshiba R830-10P mentions that the maximum memory capacity is 8GB. See it  here . But Intel says that the i7-2620M supports up to 16GB of RAM. See it here . I have asked for help on Toshiba Forums. Nothing useful from there. See it here . I was curious as I have a very particular need for 16GB of RAM. Today I decided to give it a try. I bought two Patriot PSD38G13332S (8GB PC3 - 10600 1333MHz CL9 SoDimm) and installed it on the notebook. It just worked. So if you have the need for 16GB of RAM and a similar notebook from Toshiba, you can install 16GB of RAM.

http://coccinellery.org/

Image
Coccinellery is a gallery of semantic patches made to inspire users of Coccinelle. Currently the semantic patches comes from patches we have submitted to the Linux Kernel. We are working on improving Coccinellery and your suggestions and contributions are welcome. http://coccinellery.org/ "Coccinelle is a program matching and transformation engine which provides the language SmPL (Semantic Patch Language) for specifying desired matches and transformations in C code. Coccinelle was initially targeted towards performing collateral evolutions in Linux. Such evolutions comprise the changes that are needed in client code in response to evolutions in library APIs, and may include modifications such as renaming a function, adding a function argument whose value is somehow context-dependent, and reorganizing a data structure. Beyond collateral evolutions, Coccinelle is successfully used (by us and others) for finding and fixing bugs in systems code." From: http://coc...

Do you want to become a pilot? Read me first.

Fly by wire  is a book written by William Langewiesche that has, as a central history, the successful landing of Airbus A320 on the Hudson river on January 15 2009 . But this is only the central history of the book. The author has a very funny way of writing, and shares details about many people involved, like bird strikes specialists, air traffic controllers, Airbus engineers and test pilots. There is a very interesting analysis about impact of Airbus fly by wire system and how turbulent, and boring, can be the career of commercial pilots. If you are considering becoming a pilot, read this book first. It can direct you to the right kind of pilot, or convince you that there are better ways of living.

Free Mobile Wifi: FreeWifi_secure on Android

Image
I'm on France and decided to give Free Mobile a try. They offer good pack of service for € 20 / month. See:  http://mobile.free.fr/ One important feature for me is having Internet at home, and the "Accès FreeWiFi illimitĂ©", or unlimited access to FreeWifi was what I was expecting to use at home. The problem is that I bought my cell phone in Brazil and it was not working with FreeWifi. This is related to how the connection works. See the links: http://code.google.com/p/seek-for-android/wiki/EapSimAka http://forum.xda-developers.com/showthread.php?t=1639437 http://www.freenews.fr/spip.php?article12150 https://docs.google.com/spreadsheet/ccc?key=0AmQ-TvlJlw9-dHQtQjdCUFVWSnY5T2xMeXBvRGx1Z1E But you may not need to do anything by hand on your phone. Just try FreeWifiConfig app: https://play.google.com/store/apps/details?id=org.bubuabu.freewificonfig It will automatically configure your phone for connecting on FreeWifi_secure. BUT: 1 - Requires Free Mo...

Winter of the World is on my Kindle!

Image
Today Amazon sent the Winter of the World by Ken Follett to my Kindle! I think I'll not sleep for some nights. :-D