Sunday, March 11, 2018

Southern California Linux Expo Scale 16x

I took a vacation day Friday and made it a three-day trip to SCALE 16x.  I'm glad I did because I got to attend six sessions on Friday, talk about drinking from the fire hose! Unfortunately, I was too tired to go the after party. I didn't even make it to the keynote speeches!

I ran into Noah and Chris from Jupiter Broadcasting Friday night before my last session. At Scale 14x they had a contest called "Noah switched me to Linux" where they teamed up with System76 to switch as many people as possible from Windows to Linux. I didn't buy my System76 Gazelle at Scale 14x but Noah did convince me to switch by that Summer.

Friday, March 9th, 2018


Linux Professional Institute
I didn't notice that the Linux Professional Institute was going to be offering certification exams at scale for half price until last week so I couldn't cram enough for the LPIC exams but I did attend their two cram sessions on Friday.

They were great, one was led by a Linux Academy instructor and it definitely convinced me to sign up for the Linux Academy. After attending both sessions I decided to take the Linux Essentials exam Sunday morning. Since it was a paper exam I won't get the results for thirty days. Unlikely that I passed given just a couple days to prepare but I glad I tried! They were the friendliest group of people I have ever met at an exam center.

Update - March 21, 2018 - it didn't take 30 days for them to let me know I passed! You can verify the certification from this link.

It's Embedded into the plan!
Somehow I got on the embedded Linux Engineer track this year!  It started out with a session on U-Boot - Implementing state of the art U-Boot port. U-boot is a development tool that creates the Device Tree that embedded devices use to boot. I didn't get everything he was talking about but luckily when I got to the hands on class Saturday it all became clear.

It's about time!
Next on the embedded track, I sat in on Frederico Lucifedi's session - Hardware Hacking 101 Time and Randomness. Frederico is a Red Hat employee in the storage group but he does a lot of hardware hacking. In this session he used a USB GPS and the NTP daemon to create a very accurate time server that doesn't rely on an Internet timeserver.

I have one of the GPS devices that he used (Globstat BU 353) and I'm anxious to duplicate the setup.  I purchased it for a cruise to Bonaire and used Foxtrot open source software to map the trip. There is a link to a youtube video on wardriving in the reference section.

Next, he showed us a SparkFun Geiger Counter project that creates true randomness. It doesn't create a lot of entropy so you will have to feed the output to a pseudo-random number generator but it was a great demo.

Badgelife
I had heard about "electronic badges" at Defcon but hadn't paid much attention. The guy behind the "Mr. Robot" Defcon badge opened up the Badgelife session. It is very impressive how much time and effort they put into these things.

This session was more of a social gathering and they provided booze and snacks and a good time. I met a few interesting people including an Oracle DBA. We had a good time exchanging war stories. I guess it is true, DBAs are people too.

Facebook Switching
I didn't get much time at the expo because of all the sessions but I did get to see one of the Facebook white box switches. It uses a Broadcom Tomahawk II to provide 16 ports of 100G Ethernet. I was told that the OS was CentOS 6. I asked how they managed the switching engine and the reply was that in the datacenter the don't do L2, only L3 and CentOS 6 handles it. They also told me that they have a Tomahawk 3 based switch with 32 100G ports in production. Here is a Network Break podcast on the Tomahawk 3

Saturday, March 10th, 2018

Luckily, my Beagleboard PocketBeagle came in on Thursday so I had the hardware for the Buldroot class. A friend of mine came to this session and it was great to have a partner. Neither one of us had ever done any embedded Linux devices and it was a cool experience.

On the first try, I ejected my SD card without dismounting it and corrupted the boot partition. I didn't have serial connectivity to the PocketBeagle so it was hard to figure out what was happening. Luckily the instructor loaned me his "Cape" which had a serial UART and then I could see the "Unable to read" message. A quick reflash, a dismount and my first embedded Linux device was up and running!

The Buildroot tool has a lot of packages that you can build in and I added Dropbear SSH and an HTTP server. Pretty cool for my first project! Now my mind is spinning with ideas of what to do next with my PocketBeagle.

One thing I noticed was that a lot of the other people in the class were on Macbooks running Ubuntu as a VM. It was taking them 30-45 minutes to build the image. On my system76 Gazelle run Ubuntu on hardware it was around 10 minutes.  And it was fun watching them whine about how long it was taking. The Macbooks are nice and I love mine but they are definitely not state of the art performance.

DNS Security
The session on DNSSEC,  DNS DANE and DNScrypt was great. I didn't realize that OpenDNS supports the DNScrypt protocol and that the DNScrypt project has been re-born as DNSCrypt-Proxy with a lot more capability. It's hard to believe that in 2018 most of us are still using DNS without encryption and authentication. But then again, it's hard to believe we are still using a username/password for authentication.

Git R done!
The Git like a Pro session was standing room only the entire session!  I learned a lot about git in a short time. I am anxious to take the Linux Academy course on Git. A friend of my put the bug in my ear last month about using Git for version control of network device configuration. I already have most customers set up with nightly backups to a share on the network. It would only take installing Git locally and some Python scripting to automate a commit and that would be pretty cool.

Sunday, March 11th, 2018

The Daylight savings time change came at the worst time for me!  Losing an hour of sleep the morning I was going to take a cert exam at 09:00 didn't help. I exam was well thought out and well run but I will be very surprised if I passed. I can't wait to find out.

Another Badgelife session
This one focused on the process of getting a badge designed, manufactured and delivered in time and at a cost low enough to sell. It was very interesting. The guy giving the talk is the owner of canbushack.com and had a lot of great knowledge of automotive Ethernet and the new protocols.

If you don't have a code reader or have never done any ODBC stuff you should check it out. You can find some really good code reader videos on Youtube.com and the cost for a decent reader is well under $100 now.

I had a check engine light on my Ducati a while back and didn't want to take it to the dealer. A quick search on the Ducati.ms site and I found an ODBC interface for around $35.00 and an open source program to read the ECU!

I bought some new remotes for my Tundra recently and the dealer wanted a ton of money to program them. I bought a USB to ODBCII cable on ebay for $15 and found the software I needed on Amazon. A few minutes later and Bob was my uncle.

Crypto: It's just math
This session was exactly what the description said it would be. I was hoping it would be more practical application of PKI but it was still very good. At least I now understand why you do Elliptic curve crypto in a finite field. There are links to the presentation and other crypto documentation in the references.


References:
Scale 16x Schedule
WIGLE Like You Mean It Maximizing Your Wardriving
Crypto: Math slides
A primer on elliptic curve cryptography
Linux Professional Institute
Hacking the CAN Bus: Basic Manipulation of a Modern Automobile Through CAN Bus
Seeed Can Bus Shield for Arduino
HACK YOUR VEHICLE CAN-BUS WITH ARDUINO AND SEEED CAN-BUS SHIELD