►
A while back, I gave my sister a 1 TB 2.5" USB HDD for backing up her Mac using Time Machine. But somehow she couldn't perform backups anymore lately. The drive contained two volumes: a regular one and an encrypted one. The regular one wouldn't mount and Disk Utility wouldn't repair it.
No big deal, just wipe the drive and start from scratch, I thought—assuming it's not a hardware problem. That was easier said than done. I ended up spending half the day yesterday just trying to repartition that stupid USB drive.
▼
A while back, I gave my sister a 1 TB 2.5" USB HDD for backing up her Mac using Time Machine. But somehow she couldn't perform backups anymore lately. The drive contained two volumes: a regular one and an encrypted one. The regular one wouldn't mount and Disk Utility wouldn't repair it.
No big deal, just wipe the drive and start from scratch, I thought—assuming it's not a hardware problem. That was easier said than done. I ended up spending half the day yesterday just trying to repartition that stupid USB drive.
At first, it seemed like this didn't work because I had Core Storage enabled on it for the encrypted partition. I managed to revert the CS partition back to a regular partition. But then repartitioning wouldn't work: I was unable to modify the first (broken, unencrypted) partition. Or make modifications to the second partition stick.
This isn't my first Disk Utility rodeo, so I booted into: the recovery partition, Snow Leopard and Leopard and tried the same thing using those versions of the Disk Utility. No joy.
I tried various ways to nuke the drive and its partitions using the command line diskutil and hdiutil commands. Which of course fail silently if you don't use them with sudo. And failed a bit less silently with sudo. The various utilities all failed at unmounting the existing partition(s).
The Finder, Disk Utility, diskutil, hdiutil, nothing would unmount the drive.
Did I mention I used the "force" flag? Didn't make one iota of difference.
I even made an fstab to keep the drive from automounting, but that didn't work.
All the while, every search for help only led me to forum posts where people kept telling the original poster that you can't unmount your boot drive.
So then I thought I'd try to have Linux wipe out the drive. But I couldn't let a VM connect to the drive because MacOS immediately took it after connecting the USB cable and then held on for dear life.
So maybe my Time Capsule wifi base station is a bit simpler in its disk handling, so I decided to hook up the drive to it and then have the TC initialize it. Good plan, except for the part where the Time Capsule wouldn't recognize its password with the drive connected.
This is where I gave up with the drive clicking away connected to the Time Capsule. The next morning, I disconnected the drive from the TC, hooked it up to my laptop, saw icons for both partitions, unmounted them and used Disk Utility to repartition as if yesterday's hair pulling session was all a bad dream.
I spent the rest of the day zeroing out the drive to make sure the hardware was ok, with no further problems.
►
I'll spare you the details, but I recently needed to up my game in the toothbrushing department. I've been brushing my teeth with an entry-level Oral-B electric toothbrush for almost a decade, but I thought I could do better with a more advanced one that provides a warning when you brush too hard. (This can damage your gums.) Turns out there's now a model that has bluetooth. After all, everything is better with bluetooth.
▼
I'll spare you the details, but I recently needed to up my game in the toothbrushing department. I've been brushing my teeth with an entry-level Oral-B electric toothbrush for almost a decade, but I thought I could do better with a more advanced one that provides a warning when you brush too hard. (This can damage your gums.) Turns out there's now a model that has bluetooth. After all, everything is better with bluetooth:
However, at first I decided against getting the model with bluetooth, as it doesn't really add much functionality: the Oral-B app will show you a timer during brushing, and keep track of how often and how long you've brushed. That's basically it. And the app can also do this by listening for the sound of the toothbrush! Also, the models I had my eye on come with a little wireless display that provides the same feedback as the app (not the statistics, though). But I got a rebate that made the Oral-B PRO 6000 the same price as the
Oral-B Triumph SmartGuide 5000, so why not get the 6000 with bluetooth?
The price I paid online before rebate was € 100 plus € 5 shipping. The 6000 comes in a big box that contains:
The toothbrush
An inductive charger
A holder for four brush heads that attaches to the charger
The SmartGuide wireless display (with batteries)
Seven brush heads
A travel case
A DVD
Documentation
Out of the box, the toothbrush' battery is empty. It takes about 24 hours to completely charge, but I was able to brush my teeth after about half an hour. I needed to set the clock on the SmartGuide, but there was no need to do anything to pair it. The seven brush heads are all different, I assume they're meant as a sampling of what's available. I'm using the "sensitive" one, which has softer hairs and is easier on the gums. I wish they'd put the name/type of the brush head on the packaging, though! The documentation for these on the various Oral-B websites and the paper manual is fairly incomplete, but the video on the DVD shows them all. I've also seen displays in stores that will help you buy the right ones. Note that the DVD is smaller than usual and thus won't fit in most computer DVD drives.
The travel case is at least twice as big as it needs to be. But I guess if I want to travel with my electric toothbrush, I'll have to use it or risk the toothbrush starting to brush the rest of my luggage when the on/off button gets pressed inadvertently. I usually just take a regular toothbrush when I travel, but it's hard to go back when you're used to electric brushing. It really gets your teeth much cleaner.
I'm not sure which model I used before (there's no model number on the device), but the old one didn't have any lights. So you never knew when you needed to charge it. The PRO 6000 is much better in this regard: it has three (blue) LEDs that indicate the battery charge, which cycle during charging. There's also another blue light that comes on to indicate bluetooth is active. When brushing, every 30 seconds, a green light will flash and the motor will pause for a moment to indicate that it's time to move on to another quadrant of your mouth. And finally, there's the light that made me get this new toothbrush: a red one that comes on when you press the toothbrush against your teeth too hard. At first I thought this didn't work, but it turns out the warning light only comes on when you press the brush really, really, really hard. Much harder than I ever would. So buying this new toothbrush for this feature was a waste of money.
So what about the bluetooth?
I'm glad you asked. Although in retrospect the instructions are clear, I had trouble following because I assumed I needed to pair my iPhone with the toothbrush using the bluetooth settings. But that's not how it works. You set up your toothbrush using the settings inside the Oral-B app. The bluetooth comes on when you lift the toothbrush off of the charger, or you can press the mode select button. (The toothbrush has a bunch of modes which I don't use.) There's a bunch of additional settings for the app and/or the toothbrush, but nothing particularly exciting.
If you want feedback during brushing, make sure the app is open and on the timer screen. Then, simply start brushing and you get a counter that counts to two minutes, switching to different quadrants every 30 seconds. Same as the SmartGuide, which comes on automatically when you start brushing. (When idle, it shows the time.) As such, live feedback on your phone during brushing is not particularly useful. Even the SmartGuide is only somewhat useful. (And remember, if you have a non-bluetooth toothbrush, you can still use the app by using the microphone to detect when you start and stop brushing.)
However, one thing that is nice about the app is that it keeps stats on how long and how often you brush. At first I thought this wasn't all that useful, as I always brush my teeth before bed. But I'm actually not that good with brushing during the day. Studies have shown that you should brush twice a day—there's no benefit to doing it more often. Having the app keep track of this for me to keep me honest could be helpful in the long run.
The toothbrush only talks to the phone when the app is open. But it will store up to 20 toothbrushing sessions, and sync those back to the app if the app is open on the timer screen when you start brushing. So you only have to open the app before you start brushing once a week and you'll have accurate stats. Apparently the toothbrush has a built-in clock, because it knows how many times I brushed on which day.
You can share an electric toothbrush with family members by giving everyone their own brush head, which let you attach a colored ring to keep them apart. The container that sits next to the charger holds four brush heads, and attaching/removing them is easy enough. However, the app can't tell the different users apart, so the stats won't be very meaningful when the toothbrush is shared.
The verdict
I like Oral-B electric toothbrushes. I've never used any other kind, so I can't compare. But the Oral-Bs are all good—I'm not going back to brushing manually any time soon. The PRO 6000 is better than the cheap ones, mostly because of the battery level LEDs. The hardware also looks a bit more solid. The other LEDs, the SmartGuide and the bluetooth are nice, too, but not a game changer. So save your money unless you really want those brushing statistics. Until the toothbrush becomes smarter and gains more sensors so it can tell you more about how well you brushed which teeth, I'm afraid bluetooth doesn't really make brushing your teeth all that much better.
►
Yesterday when I woke up, I wasn't worried at all about my fluoride levels. Then I started reading, and I became worried that I wasn't getting enough to keep my teeth healthy. After that, I read some more, and become somewhat worried I may be getting too much. All thanks to dr. Google.
▼
Yesterday when I woke up, I wasn't worried at all about my fluoride levels. Then I started reading, and I became worried that I wasn't getting enough to keep my teeth healthy. After that, I read some more, and become somewhat worried I may be getting too much. All thanks to dr. Google.
If you want to know more about fluoride, read this article over at the Micronutrient Information Center at the Linus Pauling Institute of Oregon State University. (I wonder if the people who work there carry extra large business cards.) I was already aware of this part:
Fluoride's high chemical reactivity and small radius allow it to either displace the larger hydroxyl (-OH) ion in the hydroxyapatite crystal, forming fluoroapatite, or to increase crystal density by entering spaces within the hydroxyapatite crystal. Fluoroapatite hardens tooth enamel and stabilizes bone mineral.
When I was young I got fluoride treatments from the dentist and of course I've been brushing my teeth with fluoride-containing toothpaste as long as I can remember. So all that hydroxyapatite should have been turned into the more cavity-resistant fluoroapatite by now, right?
Probably not.
The trouble is that when your teeth are exposed to an environment with a pH below 4.5 (the pH of most fruits and fruit juices as well as sodas is below that), the apatite that makes up your teeth is demineralized—i.e., your teeth basically start to dissolve. Fortunately, saliva contains the necessary calcium and phosphate ions to allow the apatite to remineralize when the pH gets back to normal, repairing the early stages of cavities. The advantage of fluoroapatite over hydroxyapatite is that the fluor-containing type is slower to demineralize and faster to remineralize.
If we can believe Wikipedia (or common sense, really), the remineralization with fluoroapatite requires fluor ions to be present in the mouth. This will happen a few times a day when brushing with fluoride toothpaste, but what about the rest of the day? To get the best remineralization, you need to take in fluoride at much more regular intervals.
This is where water fluoridation comes in. Turns out that for some stupid reason, that doesn't happen here in the Netherlands. So this is the part where I stated to get worried about getting enough fluoride. And for some reason, it's really hard to get fluoride supplements. Also, most food contains barely any fluoride.
With one exception: tea. The tea plant absorbs a lot of fluoride from the environment. So, if, like me, you're a big tea drinker, you're probably getting all the fluoride you need: the USDA says prepared instant powder tea contains 335 micrograms of fluoride per 100 ml. According to the Linus Pauling Institute, adults need 3 (women) to 4 (men) milligrams of fluoride per day. So three or four big mugs of tea should take care of that quite nicely. Then again, the numbers at the Linus Pauling Institute are much lower, at 1 mg per liter for black tea after "5 minutes continuous infusion". But:
A cross-sectional study of more than 6,000 14-year old children in the UK found that those who drank tea had significantly fewer dental caries than nondrinkers; results were independent of whether sugar was added to tea.
However, if you drink a lot of (strong) tea, you can get bone disease from getting too much fluoride on an ongoing basis.
Apparently, we're going to get some new Ethernet speeds in the (relatively) near future, such as 2.5, 5 and 25 Gbps. I can't wait!
My first computer with Gigabit Ethernet was the PowerBook I bought in 2003. It's now more than a decade later and my current Apple laptop... doesn't have any Ethernet at all. But for 20 to 30 euros/dollars you can get a 10/100/1000 Mbps Ethernet adapter that connects to either a Thunderbolt or a USB3 port. That's exactly as fast as the Ethernet port on my old PowerBook, even though according to Geekbench 2, my late-2013 MacBook Pro is more than ten times faster than the 1.25 GHz PowerBook (32-bit scores are 7110 vs 658). The SSD in the MBP is also about ten times faster than the HDD in the PB at about 800 vs 80 MB/s. USB is 5 Gbps instead of 480 Mbps, Wi-Fi 1300 vs 54 Mbps. It's just the Ethernet that's been completely stagnant.
So why is that? We've had 10 Gigabit Ethernet since the early 2000s. But the problem with that is that originally, 10GE was designed to work over fiber, which can easily handle that bandwidth. It took a lot of work to make 10GE work over copper, and that never got cheap in the way that GE got cheap so we never got 10/100/1000/10000 Mbps Ethernet ports the same way we went from 10/100 to 10/100/1000 Mbps Ethernet ports on our laptops and desktops. Even the biggest and baddest Mac that you can buy today, the Mac Pro, only has two 10/100/1000 ports, and no extension slots for adding 10GE.
The problem with all of this is that Gigabit Ethernet tops out at about 119 MB/s. That's more than enough to saturate any internet connection that a mere mortal can afford, but it's not enough to keep up with our SSDs or even a RAID array when copying files locally, with SSDs that easily go over 500 MB/s these days. With 2.5 Gbps Ethernet we'd get a lot closer at about 300 MB/s, and 5 Gbps Ethernet would be even better at about 600 MB/s. With modern designs, I expect that 5 but certainly 2.5 Gbps over regular twisted pair cabling can be made sufficiently cheap that these speeds will be supported routinely, and USB3 can easily handle 2.5 Gbps and probably also 5 Gbps. 2.5 and 5 Gbps are also intended to run over existing cat 5e/cat 6 cabling over distances of 100 meters, the same as Gigabit Ethernet. Traditionally, higher speeds over copper require more advanced cabling and/or support shorter distances.
There will also be 25 Gbps Ethernet that will be a nice step up for big servers that now use 10 Gbps, and perhaps 50 Gbps in the future. See the presentation for what's new for 10 and 40 Gbps and even 400 Gbps.
►
For some years now, the Regional Internet Registries have been rolling out RPKI. The Resource Public Key Infrastructure allows holders of IP addresses to authorize an autonomous system to inject those addresses in BGP. (See here for an overview of how RPKI works and more links.)
I've always thought it would be hard to deploy RPKI in the real world, because it's just way too easy for a certificate or ROA (route origination authorization) to expire. If that then leads to routes becoming invalid and the addresses in question being unreachable, that would be a good example of the cure being worse than the disease.
Fortunately, that's not the case: RPKI is ready for real-world deployment today.
▼
For some years now, the Regional Internet Registries have been rolling out RPKI. The Resource Public Key Infrastructure allows holders of IP addresses to authorize an autonomous system to inject those addresses in BGP. (See here for an overview of how RPKI works and more links.)
I've always thought it would be hard to deploy RPKI in the real world, because it's just way too easy for a certificate or ROA (route origination authorization) to expire. If that then leads to routes becoming invalid and the addresses in question being unreachable, that would be a good example of the cure being worse than the disease.
Fortunately, that's not the case: RPKI is ready for real-world deployment today.
The way to deploy RPKI that's suggested in RFC 6483 as well as the relevant Cisco and Juniper documentation is to assign different local preference values to the three possible RPKI states, such as:
Valid (RPKI checks out): local preference of 200 (highest)
Unknown (no RPKI for this prefix): local preference of 100 (normal)
Invalid (RPKI present but doesn't check out): local preference of 50 (lowest)
So packets will follow a path that is RPKI-validated if available. If not, they follow a path that isn't covered by RPKI if that's available. Only if there's no "valid" or "unknown" paths, the packets will be sent over an "invalid" path that is covered by RPKI, but validation failed. The trouble with this approach is that it still allows for invalid more specific prefixes to hijack traffic. For instance:
RIPE has a ROA for prefix 193.0.0.0/21 that allows AS 3333 to originate that prefix, with a maximum prefix length of /21. So if AS 4444 originates 193.0.0.0/21, that will result in the following BGP table:
Network Next Hop Metric LocPrf Weight Path
>* 193.0.0.0/21 19.11.111.244 10 200 0 3333 i
* 29.249.178.10 10 50 0 4444 i
So effectively, the path through AS 4444 is ignored. However, AS 4444 could also do this:
Network Next Hop Metric LocPrf Weight Path
>* 193.0.0.0/21 19.11.111.244 10 200 0 3333 i
>* 193.0.0.0/24 29.249.178.10 10 50 0 4444 i
>* 193.0.1.0/24 29.249.178.10 10 50 0 4444 i
>* 193.0.2.0/24 29.249.178.10 10 50 0 4444 i
>* 193.0.3.0/24 29.249.178.10 10 50 0 4444 i
>* 193.0.4.0/24 29.249.178.10 10 50 0 4444 i
>* 193.0.5.0/24 29.249.178.10 10 50 0 4444 i
>* 193.0.6.0/24 29.249.178.10 10 50 0 4444 i
>* 193.0.7.0/24 29.249.178.10 10 50 0 4444 i
So even though the path towards the /21 is still routed to AS 3333, the packets flow to AS 4444 because of the longest match first rule. Solution: filter out "invalid" prefixes completely.
But then, what happens when RIPE forgets to renew their certificate or ROA in time? If their prefix would then revert to "invalid", it would disappear from routing tables everywhere, and RIPE would be unreachable:
Network Next Hop Metric LocPrf Weight Path
In this scenario, it would be very dangerous to filter "invalid" prefixes, as RPKI is still relatively immature and mistakes will happen.
However, it turns out that the results of expired certificates and ROAs aren't actually problematic. In a post to the NANOG list, Alex Band points out:
If ARIN (or another other RIR) went offline or signed broken data, all signed prefixes that previously has the RPKI status "Valid", would fall back to the state "Unknown", as if they were never signed in the first place. The state would NOT be "Invalid".
So what would happen is this:
Network Next Hop Metric LocPrf Weight Path
>* 193.0.0.0/21 19.11.111.244 10 100 0 3333 i
Obviously, in this case the protection against unauthorized origination of the prefixes in question would go away, but in the normal situation where nobody tries to hijack those prefixes, they would still be reachable and a mistake with certificate or ROA expiration wouldn't immediately lead to a network disappearing off of the internet.
In other words: deploy RPKI today. It doesn't protect against all forms of malicious address hijacking, but it does offer very robust protection against accidental unauthorized route origination, such as the infamous Youtube/Pakistan incident. Also, you can run an RPKI validator locally without the need for your upstream ISPs or peers to do the same.