Blogs
Op-ed: How I gave up alternating current | Ars Technica:
I have not set foot in a grocery store in years. Nevermore will I bumble through endless confusing aisles like a pack-donkey searching for feed while the smell of rotting flesh fills my nostrils and fluorescent lights sear my eyeballs and sappy love songs torture my ears. Grocery shopping is a multisensory living nightmare. There are services that will make someone else do it for me but I cannot in good conscience force a fellow soul through this gauntlet.
Swift is kind of like when you’re a kid and you fill the bag of jelly beans with all your favorite flavors and then reach in and have a handful all at once. Each was a good idea, but together it lacks anything that made any single piece good.
This WWDC marks the first time I’ve ever seen more IPv6 devices on the LAN than IPv4. That’s kind of cool. I’m sure a lot of it is due to NDP, but that’s fine. Also, I appear to have a global address assigned as well (and I’ve subsequently disconnected from that interface, so 😛). Very nice to see the adoption is rolling out well.
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 198.183.28.1 UGSc 15 0 en6
default 10.102.0.1 UGScI 1 0 en0
10.102/16 link#4 UCS 0 0 en0
10.102.0.1/32 link#4 UCS 3 0 en0
10.102.0.1 link#4 UHLWIi 1 12 en0
10.102.158.5/32 link#4 UCS 0 0 en0
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 5 24864 lo0
169.254 link#13 UCS 0 0 en6
169.254 link#4 UCSI 0 0 en0
198.183.28/22 link#13 UCS 6 0 en6
198.183.28.1/32 link#13 UCS 2 0 en6
198.183.28.1 0:0:c:9f:f0:1 UHLWIir 11 0 en6 1155
198.183.28.68/32 link#13 UCS 1 0 en6
198.183.28.68 68:5b:35:c5:1a:cd UHLWI 0 2 lo0
198.183.28.111 0:1:a:a:d4:d1 UHLWI 0 0 en6 1185
198.183.28.119 68:5b:35:c8:33:e2 UHLWI 0 0 en6 1189
198.183.28.122 68:5b:35:cf:fe:5c UHLWI 0 0 en6 1197
198.183.30.96 ac:87:a3:37:f0:7c UHLWI 0 0 en6 1192
198.183.30.98 68:5b:35:bf:b0:f9 UHLWI 0 0 en6 1184
198.183.30.244 a0:ce:c8:2:c9:f4 UHLWI 0 0 en6 1198
Internet6:
Destination Gateway Flags Netif Expire
default fe80::1ae7:28ff:feae:321f%en6 UGc en6
::1 ::1 UHL lo0
2620:0:????:111::/64 link#13 UC en6
2620::????:111:6a5b:35ff:fec5:???? 68:5b:35:c5:1a:cd UHL lo0
2620::????:111:bde4:9cb6:3e40:???? 68:5b:35:c5:1a:cd UHL lo0
fd53:????:f8d5:141b::/64 fe80::f9c4:522:ff91:9dc9%utun0 Uc utun0
fd53:????:f8d5:141b:f9c4:522:ff91:???? link#10 UHL lo0
fe80::%lo0/64 fe80::1%lo0 UcI lo0
fe80::1%lo0 link#1 UHLI lo0
fe80::%en0/64 link#4 UCI en0
fe80::1610:9fff:fee4:9b23%en0 14:10:9f:e4:9b:23 UHLI lo0
fe80::%awdl0/64 link#8 UCI awdl0
fe80::ac9b:3fff:fe09:673%awdl0 ae:9b:3f:9:6:73 UHLI lo0
fe80::%utun0/64 fe80::f9c4:522:ff91:9dc9%utun0 UcI utun0
fe80::f9c4:522:ff91:9dc9%utun0 link#10 UHLI lo0
fe80::%en6/64 link#13 UCI en6
fe80::20e:c6ff:fefe:4bc6%en6 0:e:c6:fe:4b:c6 UHLWI en6
fe80::223:32ff:fecb:6980%en6 0:23:32:cb:69:80 UHLWI en6
fe80::2e0:4cff:fe68:178%en6 0:e0:4c:68:1:78 UHLWI en6
fe80::e4d:e9ff:fea0:b3b7%en6 c:4d:e9:a0:b3:b7 UHLWI en6
fe80::e4d:e9ff:feb0:4957%en6 c:4d:e9:b0:49:57 UHLWI en6
fe80::e4d:e9ff:feb0:eeb5%en6 c:4d:e9:b0:ee:b5 UHLWI en6
fe80::e4d:e9ff:fece:ac28%en6 c:4d:e9:ce:ac:28 UHLWI en6
fe80::129a:ddff:fe6f:98d%en6 10:9a:dd:6f:9:8d UHLWI en6
fe80::12dd:b1ff:fed4:21c9%en6 10:dd:b1:d4:21:c9 UHLWI en6
fe80::12dd:b1ff:fede:84e4%en6 10:dd:b1:de:84:e4 UHLWI en6
fe80::12dd:b1ff:fede:881e%en6 10:dd:b1:de:88:1e UHLWI en6
fe80::12dd:b1ff:fede:bf4e%en6 10:dd:b1:de:bf:4e UHLWI en6
fe80::12dd:b1ff:fee7:bdce%en6 10:dd:b1:e7:bd:ce UHLWI en6
fe80::1610:9fff:fee4:9b23%en6 link#13 UHLWI en6
fe80::1ae7:28ff:feae:321f%en6 18:e7:28:ae:32:1f UHLWIir en6
fe80::2a37:37ff:fe02:3ae5%en6 28:37:37:2:3a:e5 UHLWI en6
fe80::2a37:37ff:fe03:acc4%en6 28:37:37:3:ac:c4 UHLWI en6
fe80::3e07:54ff:fe11:1273%en6 3c:7:54:11:12:73 UHLWI en6
fe80::3e07:54ff:fe33:a785%en6 3c:7:54:33:a7:85 UHLWI en6
fe80::3e07:54ff:fe39:5ef%en6 3c:7:54:39:5:ef UHLWI en6
fe80::426c:8fff:fe35:939c%en6 40:6c:8f:35:93:9c UHLWI en6
fe80::426c:8fff:fe35:a53d%en6 40:6c:8f:35:a5:3d UHLWI en6
fe80::426c:8fff:fe35:aee4%en6 40:6c:8f:35:ae:e4 UHLWI en6
fe80::426c:8fff:fe35:b5ac%en6 40:6c:8f:35:b5:ac UHLWI en6
fe80::426c:8fff:fe35:be92%en6 40:6c:8f:35:be:92 UHLWI en6
fe80::426c:8fff:fe35:e3bf%en6 40:6c:8f:35:e3:bf UHLWI en6
fe80::426c:8fff:fe37:ae78%en6 40:6c:8f:37:ae:78 UHLWI en6
fe80::426c:8fff:fe37:c6bf%en6 40:6c:8f:37:c6:bf UHLWI en6
fe80::426c:8fff:fe3b:9f0%en6 40:6c:8f:3b:9:f0 UHLWI en6
fe80::426c:8fff:fe4d:ee77%en6 40:6c:8f:4d:ee:77 UHLWI en6
fe80::6a5b:35ff:fe95:b12%en6 68:5b:35:95:b:12 UHLWI en6
fe80::6a5b:35ff:fe9a:78a6%en6 68:5b:35:9a:78:a6 UHLWI en6
fe80::6a5b:35ff:feb8:898e%en6 68:5b:35:b8:89:8e UHLWI en6
fe80::6a5b:35ff:febe:5914%en6 68:5b:35:be:59:14 UHLWI en6
fe80::6a5b:35ff:febf:b0f9%en6 68:5b:35:bf:b0:f9 UHLWI en6
fe80::6a5b:35ff:febf:cb6d%en6 68:5b:35:bf:cb:6d UHLWI en6
fe80::6a5b:35ff:fec0:71ba%en6 68:5b:35:c0:71:ba UHLWI en6
fe80::6a5b:35ff:fec1:2841%en6 68:5b:35:c1:28:41 UHLWI en6
fe80::6a5b:35ff:fec1:6b5e%en6 68:5b:35:c1:6b:5e UHLWI en6
fe80::6a5b:35ff:fec1:e970%en6 68:5b:35:c1:e9:70 UHLWI en6
fe80::6a5b:35ff:fec3:72f%en6 68:5b:35:c3:7:2f UHLWI en6
fe80::6a5b:35ff:fec3:8f7%en6 68:5b:35:c3:8:f7 UHLWI en6
fe80::6a5b:35ff:fec3:3344%en6 68:5b:35:c3:33:44 UHLWI en6
fe80::6a5b:35ff:fec3:697a%en6 68:5b:35:c3:69:7a UHLWI en6
fe80::6a5b:35ff:fec3:8c35%en6 68:5b:35:c3:8c:35 UHLWI en6
fe80::6a5b:35ff:fec3:cf8f%en6 68:5b:35:c3:cf:8f UHLWI en6
fe80::6a5b:35ff:fec4:4cbb%en6 68:5b:35:c4:4c:bb UHLWI en6
fe80::6a5b:35ff:fec4:5e76%en6 68:5b:35:c4:5e:76 UHLWI en6
fe80::6a5b:35ff:fec4:c1be%en6 68:5b:35:c4:c1:be UHLWI en6
fe80::6a5b:35ff:fec4:c861%en6 68:5b:35:c4:c8:61 UHLWI en6
fe80::6a5b:35ff:fec4:d642%en6 68:5b:35:c4:d6:42 UHLWI en6
fe80::6a5b:35ff:fec4:d744%en6 68:5b:35:c4:d7:44 UHLWI en6
fe80::6a5b:35ff:fec4:e541%en6 68:5b:35:c4:e5:41 UHLWI en6
fe80::6a5b:35ff:fec4:eb94%en6 68:5b:35:c4:eb:94 UHLWI en6
fe80::6a5b:35ff:fec4:f3ad%en6 68:5b:35:c4:f3:ad UHLWI en6
fe80::6a5b:35ff:fec5:10f5%en6 68:5b:35:c5:10:f5 UHLWI en6
fe80::6a5b:35ff:fec5:1311%en6 68:5b:35:c5:13:11 UHLWI en6
fe80::6a5b:35ff:fec5:1acd%en6 68:5b:35:c5:1a:cd UHLI lo0
fe80::6a5b:35ff:fec5:571b%en6 68:5b:35:c5:57:1b UHLWI en6
fe80::6a5b:35ff:fec5:652e%en6 68:5b:35:c5:65:2e UHLWI en6
fe80::6a5b:35ff:fec5:735a%en6 68:5b:35:c5:73:5a UHLWI en6
fe80::6a5b:35ff:fec5:c33b%en6 68:5b:35:c5:c3:3b UHLWI en6
fe80::6a5b:35ff:fec5:caf2%en6 68:5b:35:c5:ca:f2 UHLWI en6
fe80::6a5b:35ff:fec5:d32a%en6 68:5b:35:c5:d3:2a UHLWI en6
fe80::6a5b:35ff:fec5:dc91%en6 68:5b:35:c5:dc:91 UHLWI en6
fe80::6a5b:35ff:fec5:f31b%en6 68:5b:35:c5:f3:1b UHLWI en6
fe80::6a5b:35ff:fec6:a70%en6 68:5b:35:c6:a:70 UHLWI en6
fe80::6a5b:35ff:fec6:1d59%en6 68:5b:35:c6:1d:59 UHLWI en6
fe80::6a5b:35ff:fec6:254a%en6 68:5b:35:c6:25:4a UHLWI en6
fe80::6a5b:35ff:fec6:64a5%en6 68:5b:35:c6:64:a5 UHLWI en6
fe80::6a5b:35ff:fec6:fa8f%en6 68:5b:35:c6:fa:8f UHLWI en6
fe80::6a5b:35ff:fec7:3b05%en6 68:5b:35:c7:3b:5 UHLWI en6
fe80::6a5b:35ff:fec7:54ad%en6 68:5b:35:c7:54:ad UHLWI en6
fe80::6a5b:35ff:fec7:8e45%en6 68:5b:35:c7:8e:45 UHLWI en6
fe80::6a5b:35ff:fec7:ce02%en6 68:5b:35:c7:ce:2 UHLWI en6
fe80::6a5b:35ff:fec7:d1e5%en6 68:5b:35:c7:d1:e5 UHLWI en6
fe80::6a5b:35ff:fec7:d30a%en6 68:5b:35:c7:d3:a UHLWI en6
fe80::6a5b:35ff:fec7:ef87%en6 68:5b:35:c7:ef:87 UHLWI en6
fe80::6a5b:35ff:fec7:f3cd%en6 68:5b:35:c7:f3:cd UHLWI en6
fe80::6a5b:35ff:fec7:f428%en6 68:5b:35:c7:f4:28 UHLWI en6
fe80::6a5b:35ff:fec8:3104%en6 68:5b:35:c8:31:4 UHLWI en6
fe80::6a5b:35ff:fec8:33e2%en6 68:5b:35:c8:33:e2 UHLWI en6
fe80::6a5b:35ff:fec8:3422%en6 68:5b:35:c8:34:22 UHLWI en6
fe80::6a5b:35ff:fec8:4781%en6 68:5b:35:c8:47:81 UHLWI en6
fe80::6a5b:35ff:fec8:4971%en6 68:5b:35:c8:49:71 UHLWI en6
fe80::6a5b:35ff:fec8:4c68%en6 68:5b:35:c8:4c:68 UHLWI en6
fe80::6a5b:35ff:fec8:4e1e%en6 68:5b:35:c8:4e:1e UHLWI en6
fe80::6a5b:35ff:fec8:4e2b%en6 68:5b:35:c8:4e:2b UHLWI en6
fe80::6a5b:35ff:fec8:4e71%en6 68:5b:35:c8:4e:71 UHLWI en6
fe80::6a5b:35ff:fec9:f87c%en6 68:5b:35:c9:f8:7c UHLWI en6
fe80::6a5b:35ff:feca:4c96%en6 68:5b:35:ca:4c:96 UHLWI en6
fe80::6a5b:35ff:feca:4d71%en6 68:5b:35:ca:4d:71 UHLWI en6
fe80::6a5b:35ff:fecc:cc2c%en6 68:5b:35:cc:cc:2c UHLWI en6
fe80::6a5b:35ff:fecf:24cc%en6 68:5b:35:cf:24:cc UHLWI en6
fe80::6a5b:35ff:fecf:f89c%en6 68:5b:35:cf:f8:9c UHLWI en6
fe80::6a5b:35ff:fecf:fc4d%en6 68:5b:35:cf:fc:4d UHLWI en6
fe80::6a5b:35ff:fecf:fcb5%en6 68:5b:35:cf:fc:b5 UHLWI en6
fe80::6a5b:35ff:fecf:fe5c%en6 68:5b:35:cf:fe:5c UHLWIi en6
fe80::6a5b:35ff:fed0:2196%en6 68:5b:35:d0:21:96 UHLWI en6
fe80::6a5b:35ff:fed0:21c6%en6 68:5b:35:d0:21:c6 UHLWI en6
fe80::6a5b:35ff:fed0:249f%en6 68:5b:35:d0:24:9f UHLWI en6
fe80::6a5b:35ff:fed0:32f9%en6 68:5b:35:d0:32:f9 UHLWI en6
fe80::6a5b:35ff:fed0:3570%en6 68:5b:35:d0:35:70 UHLWI en6
fe80::6a5b:35ff:fed0:366b%en6 68:5b:35:d0:36:6b UHLWI en6
fe80::6a5b:35ff:fed0:3928%en6 68:5b:35:d0:39:28 UHLWI en6
fe80::6a5b:35ff:fed0:3d21%en6 68:5b:35:d0:3d:21 UHLWI en6
fe80::6a5b:35ff:fed0:4149%en6 68:5b:35:d0:41:49 UHLWI en6
fe80::6a5b:35ff:fed0:45eb%en6 68:5b:35:d0:45:eb UHLWI en6
fe80::6a5b:35ff:fed0:4c8c%en6 68:5b:35:d0:4c:8c UHLWI en6
fe80::6a5b:35ff:fed0:a382%en6 68:5b:35:d0:a3:82 UHLWI en6
fe80::6a5b:35ff:fed0:f683%en6 68:5b:35:d0:f6:83 UHLWI en6
fe80::6a5b:35ff:fed0:f980%en6 68:5b:35:d0:f9:80 UHLWI en6
fe80::6a5b:35ff:fed1:5b60%en6 68:5b:35:d1:5b:60 UHLWI en6
fe80::6a5b:35ff:fed2:8eb1%en6 68:5b:35:d2:8e:b1 UHLWI en6
fe80::6a5b:35ff:fed2:9ebc%en6 68:5b:35:d2:9e:bc UHLWI en6
fe80::6a5b:35ff:fed2:b3b4%en6 68:5b:35:d2:b3:b4 UHLWI en6
fe80::6a5b:35ff:fed2:b3ed%en6 68:5b:35:d2:b3:ed UHLWI en6
fe80::6a5b:35ff:fed4:e7a9%en6 68:5b:35:d4:e7:a9 UHLWI en6
fe80::6a5b:35ff:fed4:f350%en6 68:5b:35:d4:f3:50 UHLWI en6
fe80::6a5b:35ff:fed4:f3cd%en6 68:5b:35:d4:f3:cd UHLWI en6
fe80::6c40:8ff:fec9:ab64%en6 6e:40:8:c9:ab:64 UHLWI en6
fe80::7626:acff:fe16:23b7%en6 74:26:ac:16:23:b7 UHLWI en6
fe80::7a31:c1ff:fef2:a3b9%en6 78:31:c1:f2:a3:b9 UHLWI en6
fe80::7ec3:a1ff:fe87:27a%en6 7c:c3:a1:87:2:7a UHLWI en6
fe80::7ec3:a1ff:fe87:1683%en6 7c:c3:a1:87:16:83 UHLWI en6
fe80::7ec3:a1ff:fe87:4e0c%en6 7c:c3:a1:87:4e:c UHLWI en6
fe80::8249:71ff:fe12:156e%en6 80:49:71:12:15:6e UHLWI en6
fe80::9a5a:ebff:fec6:dcfb%en6 98:5a:eb:c6:dc:fb UHLWI en6
fe80::9eeb:e8ff:fe1e:f138%en6 9c:eb:e8:1e:f1:38 UHLWI en6
fe80::aa20:66ff:fe1c:ca1f%en6 a8:20:66:1c:ca:1f UHLWI en6
fe80::aa20:66ff:fe29:e46c%en6 a8:20:66:29:e4:6c UHLWI en6
fe80::aa20:66ff:fe2a:fa82%en6 a8:20:66:2a:fa:82 UHLWI en6
fe80::aa20:66ff:fe2b:24a3%en6 a8:20:66:2b:24:a3 UHLWI en6
fe80::aa20:66ff:fe39:d631%en6 a8:20:66:39:d6:31 UHLWI en6
fe80::aa20:66ff:fe3c:7098%en6 a8:20:66:3c:70:98 UHLWI en6
fe80::aa20:66ff:fe42:64ef%en6 a8:20:66:42:64:ef UHLWI en6
fe80::aa20:66ff:fe44:c045%en6 a8:20:66:44:c0:45 UHLWI en6
fe80::aa20:66ff:fe44:cf0e%en6 a8:20:66:44:cf:e UHLWI en6
fe80::ae87:a3ff:fe08:c081%en6 ac:87:a3:8:c0:81 UHLWI en6
fe80::ae87:a3ff:fe17:e7d9%en6 ac:87:a3:17:e7:d9 UHLWI en6
fe80::ae87:a3ff:fe22:1d09%en6 ac:87:a3:22:1d:9 UHLWI en6
fe80::ae87:a3ff:fe23:ec3f%en6 ac:87:a3:23:ec:3f UHLWI en6
fe80::ae87:a3ff:fe30:f7fa%en6 ac:87:a3:30:f7:fa UHLWI en6
fe80::ae87:a3ff:fe31:2ce3%en6 ac:87:a3:31:2c:e3 UHLWI en6
fe80::ae87:a3ff:fe31:70d1%en6 ac:87:a3:31:70:d1 UHLWI en6
fe80::ae87:a3ff:fe31:7d06%en6 ac:87:a3:31:7d:6 UHLWI en6
fe80::ae87:a3ff:fe32:3f33%en6 ac:87:a3:32:3f:33 UHLWI en6
fe80::ae87:a3ff:fe35:7b61%en6 ac:87:a3:35:7b:61 UHLWI en6
fe80::ae87:a3ff:fe35:c434%en6 ac:87:a3:35:c4:34 UHLWI en6
fe80::ae87:a3ff:fe37:9134%en6 ac:87:a3:37:91:34 UHLWI en6
fe80::ae87:a3ff:fe37:9682%en6 ac:87:a3:37:96:82 UHLWI en6
fe80::ae87:a3ff:fe37:cf5e%en6 ac:87:a3:37:cf:5e UHLWI en6
fe80::ae87:a3ff:fe37:d106%en6 ac:87:a3:37:d1:6 UHLWI en6
fe80::ae87:a3ff:fe37:f07c%en6 ac:87:a3:37:f0:7c UHLWI en6
fe80::ae87:a3ff:fe37:fa99%en6 ac:87:a3:37:fa:99 UHLWI en6
fe80::ae87:a3ff:fe38:ff5%en6 ac:87:a3:38:f:f5 UHLWI en6
fe80::ae87:a3ff:fe38:15e6%en6 ac:87:a3:38:15:e6 UHLWI en6
fe80::ae87:a3ff:fe38:1e53%en6 ac:87:a3:38:1e:53 UHLWI en6
fe80::ae87:a3ff:fe38:2926%en6 ac:87:a3:38:29:26 UHLWI en6
fe80::ae87:a3ff:fe38:308e%en6 ac:87:a3:38:30:8e UHLWI en6
fe80::ae87:a3ff:fe38:30c4%en6 ac:87:a3:38:30:c4 UHLWI en6
fe80::ae87:a3ff:fe38:7094%en6 ac:87:a3:38:70:94 UHLWI en6
fe80::ae87:a3ff:fe38:710a%en6 ac:87:a3:38:71:a UHLWI en6
fe80::ae87:a3ff:fe38:7d68%en6 ac:87:a3:38:7d:68 UHLWI en6
fe80::ae87:a3ff:fe38:8141%en6 ac:87:a3:38:81:41 UHLWI en6
fe80::ae87:a3ff:fe38:85bb%en6 ac:87:a3:38:85:bb UHLWI en6
fe80::ae87:a3ff:fe3a:439b%en6 ac:87:a3:3a:43:9b UHLWI en6
fe80::ae87:a3ff:fe3a:90bb%en6 ac:87:a3:3a:90:bb UHLWI en6
fe80::ae87:a3ff:fe3a:db3f%en6 ac:87:a3:3a:db:3f UHLWI en6
fe80::ae87:a3ff:fe3b:1935%en6 ac:87:a3:3b:19:35 UHLWI en6
fe80::ae87:a3ff:fe3b:22bf%en6 ac:87:a3:3b:22:bf UHLWI en6
fe80::ae87:a3ff:fe3c:cd39%en6 ac:87:a3:3c:cd:39 UHLWI en6
fe80::b8e8:56ff:fef3:d800%en6 ba:e8:56:f3:d8:0 UHLWI en6
fe80::ba8d:12ff:fe53:a3e6%en6 b8:8d:12:53:a3:e6 UHLWI en6
fe80::c62c:3ff:fe32:eb07%en6 c4:2c:3:32:eb:7 UHLWI en6
fe80::d2a6:37ff:fee4:1925%en6 d0:a6:37:e4:19:25 UHLWI en6
fe80::de9b:9cff:feee:605c%en6 dc:9b:9c:ee:60:5c UHLWI en6
ff01::%lo0/32 ::1 UmCI lo0
ff01::%en0/32 link#4 UmCI en0
ff01::%awdl0/32 link#8 UmCI awdl0
ff01::%utun0/32 fe80::f9c4:522:ff91:9dc9%utun0 UmCI utun0
ff01::%en6/32 link#13 UmCI en6
ff02::%lo0/32 ::1 UmCI lo0
ff02::%en0/32 link#4 UmCI en0
ff02::%awdl0/32 link#8 UmCI awdl0
ff02::%utun0/32 fe80::f9c4:522:ff91:9dc9%utun0 UmCI utun0
ff02::%en6/32 link#13 UmCI en6

Really? Your account name is “disc burner” and you’re selling cheap copies of Windows Pro? Unbranded discs with a key tossed in?
Of course, if Microsoft would stop charging a premium for the OS and bring it down to dozens of dollars instead of hundreds, this wouldn’t be as much a thing.
I recently received a notice from my kid’s after-school care provider that they had setup an online service to check on the bill and update personal information, etc. Well, that’s nice — I thought — so I hopped right on setup the account.
At first, some good signs. All the accounts were pre-setup with the registered email and a password was pre-set that was based on some information most people wouldn’t have. Not perfect, but better than most.
For a mess of reasons too boring to get into, I wanted to get a Bluetooth keyboard for my iPad Mini. After poking around for a bit I found some good candidates, but holy hell is the market for BT keyboards crap right now.
The Apple Wireless Keyboard is pretty much a desk keyboard. While I really hate wires, I hate replacing batteries for needlessly portable devices more, so I always go wired at desks when I can (my love for the Magic Touchpad is an exception to the rule). There are a dozen clones of that keyboard out there (whose manufacturers are both named and unnamed) but the design is very much for the desktop.
I Can Text You A Pile of Poo, But I Can’t Write My Name by Aditya Mukerjee | Model View Culture:
We have an unambiguous, cross-platform way to represent “PILE OF POO” (💩), while we’re still debating which of the 1.2 billion native Chinese speakers deserve to spell their own names correctly.
If you’re having trouble getting Doxygen to parse NS_ENUM
statements, here’s the config file magic:
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
PREDEFINED = "NS_ENUM(_type, _name)=enum _name : _type"
You may or may not want to enable EXPAND_ONLY_PREDEF
to only expand that one macro.
The Design Philosophy of the DARPA Internet Protocols | the morning paper:
Understanding the underlying principles behind something can turn what might on the surface seem to be simply a collection of facts into a chain of causes and consequences that makes it much easier to see how those parts fit together. Clark provides us with some of those insights for the design of the Internet Protocols, working from the goals towards the implementation consequences.
Hacker Mythologies and Mismanagement by Betsy Haibel | Model View Culture:
But these beliefs about who we are are actually about what makes us feel special.
In other words, software engineers are humans.
As humans, we lie to ourselves. We lie to ourselves about who we are. (We’re smarter than you.) We lie to ourselves about what we do. (We are changing the world, one photo-sharing app at a time.) We lie to ourselves about how best to do it. (In caves.)