Chris X Edwards

A gluten allergy, eh? How did you rule out a thiamine mononitrate allergy? Or niacin? Or folic acid? And their adulterants?
2017-11-18 10:24
Wow. Just watched a police shooting from my balcony less than 100m away. Crazyland.
2017-11-17 08:43
TPMS sends pressure and temperature for each wheel which gets squandered down to just one barely useful idiot light on the dashboard. Sad.
2017-11-16 23:23
Just learned that car TPMS broadcast unique radio beacons so Big Brother can track your car at will.
2017-11-16 23:20
"Meek and obedient you follow the leader down well trodden corridors into the valley of steel..Get out of the road if you want to grow old."
2017-11-13 23:29

Scaring The Nation With Their Guns And Ammunition

2017-11-17 12:04

Here’s a surreal view of my neighborhood.


We heard some commotion outside and tons of cop cars started filling the street. I grabbed my binoculars and had a strangely perfect view of a backyard where at least six cops were carefully surrounding a house, guns drawn. A couple of them seemed to have brightly colored shotguns. Eventually there was even a tail-wagging police dog. I saw some guy in a white tee shirt hurry past my field of view into the brush. He looked like he was attempting to flee up the steep slope that typically separates SoCal yards built on hills. The cops had totally anticipated this and had all plausible paths blocked. We heard a lot of shouting. It sounded like the cops were commanding someone to "put down the…." something. Gun? Knife? Couldn’t tell. But they had definitely made contact with their quarry and had definitely been very clear that what he was holding was not going to be cool.

Then I heard a big blast that sounded to me like a shotgun or a powerful handgun. The cops were in full combat mode. Then I heard a couple more gunfire noises but they were much quieter like the sound a stick makes when you whack it on a rock. (I may have the order and number of shots a bit muddled but it was something like that.) Very soon after that none of the cops had their guns drawn. I saw the orange shotguns being carried away safely pointed skyward and not toward the bushes.

Then I realized I could see a person lying in the backyard. An ambulance and fire truck arrived and started working on the antagonist (hard to think of this guy as the "victim"). They were definitely giving too much attention for him to be dead. I even saw him moving. They cut off his shirt which appeared to be bloody. They put him in a neck brace and pretty quickly they wheeled him out and drove him away.

News crews arrived and pretty quickly reports appeared on line. Apparently the bright colored shotguns are to designate them as loaded with bean bag rounds. That name makes one think of a comfortable yet awkward piece of 1970s furniture, but in this case the word "bean" is even more misused. These guns shoot bags filled with lead shot which will not be comfortable to catch.

I have to say that for a situation involving dozens of guys running around outside my home with loaded guns drawn, this ended pretty well. Not only do San Diego police have some ability to not kill antagonists, they all seemed very professional and quite well trained for such things. After the kinds of things I heard the cops yelling at this guy, I thought he was a dead man for sure.

That fact that it is being reported that he will survive has some subtle but important secondary effects. These idiot guys (95% male) who contemplate suicide by cop will have to recalculate if cops are no longer playing along. Not only that but cowardly suicide terrorists need to be pretty damn sure they don’t want to spend a lifetime in some very bad place after recovering from a very, very bad day. When cops kill people it is usually more or less than the targets deserve. This seems to be getting the balance right for both of those problems.

The Web And Its Heroes

2017-11-11 20:26

I fell into a pretty deep rabbit hole today! Being silly, I had this idea that there sure are a lot of web developers and isn’t that funny since these days there are only a couple of web sites left. Very droll, eh?

But seriously… The BLS says there are 162,900 web developers sharing the blame. And just how many web sites are left anyway? I discovered Quantcast’s rankings of website popularity. I’m not endorsing it or saying it’s completely accurate, but it definitely is interesting. They even have a data set of the top 1 million web sites that you can download. (Of course it only contains 527614 but let’s not quibble with free data.)

Here are the top 50 web sites according to Quantcast which makes for an interesting reality check.














  14. Hidden profile


  16. Hidden profile











  27. Hidden profile




  31. Hidden profile






  37. Hidden profile



  40. Hidden profile


  42. Hidden profile


  44. Hidden profile




  48. Hidden profile



I’m not sure exactly what "Hidden profile" indicates (pr0n?). There’s nothing too shocking on that list really except at lucky 13. How can they still be in business, never mind a hot web property? Yuck! And that is pretty awful too. Otherwise I’m not shocked by this list.

Pulling the monthly distinct user counts from their web listing, I made this demonstration of a perfect example of a mathematical phenomenon known as the power law.


(Do you like how I included internet kittehs?)

This list is full of interesting information. Here are the top 25 .edu sites shown with their overall rank.

  1. 465

  2. 503

  3. 518

  4. 562

  5. 599

  6. 742

  7. 786

  8. 866

  9. 901

  10. 998

  11. 1053

  12. 1106

  13. 1115

  14. 1156

  15. 1198

  16. 1250

  17. 1294

  18. 1307

  19. 1402

  20. 1406

  21. 1430

  22. 1470

  23. 1508

  24. 1527

  25. 1538

I’m pretty impressed that UCSD makes the list. Here are a couple of other interesting (for personal reasons) edu sites farther down the list.

  • 111. 5049

  • 149. 6208

  • 150. 6237

  • 254. 10439

How does on-line education compare? Here’s where these on-line education sites rank overall.

  • 347

  • 1015

  • 1114

  • 1782

  • 2128

  • 5483

  • 7438

In honor of Militarism Glorification Day I had a look at .mil sites.

  1. 2294

  2. 2333

  3. 2761

  4. 2880

  5. 5810

  6. 7359

  7. 9252

  8. 10053

  9. 10156

  10. 11290

I actually didn’t even know what was and that as a URL goes nowhere. It’s actually "Office of the Secretary of Defense" and has tricksy URLs like this. I have no idea what happened to which is definitely a real thing. It’s not even on the list at all. Maybe they use internet camouflage. There were these.

  • 3576

  • 6356

But the interesting thing to note is that there are around 10 mil sites in the top 10000 list. I think if we plotted ritual adulation of various government organizational units, we’d see another clear power law law with the military grabbing all the glory.

What about all the people serving their country peacefully? This list provides a pretty interesting look at what our tax dollars are buying. Here are the top 100 .gov web sites; these all make the top 10000 overall list.

  1. 114

  2. 230

  3. 350

  4. 366

  5. 422

  6. 441

  7. 448

  8. 624

  9. 662

  10. 687

  11. 699

  12. 717

  13. 878

  14. 931

  15. 1006

  16. 1071

  17. 1126

  18. 1139

  19. 1235

  20. 1353

  21. 1366

  22. 1390

  23. 1394

  24. 1410

  25. 1518

  26. 1525

  27. 1530

  28. 1611

  29. 1687

  30. 1722

  31. 1774

  32. 1777

  33. 1853

  34. 1910

  35. 1952

  36. 2085

  37. 2233

  38. 2246

  39. 2309

  40. 2439

  41. 2464

  42. 2528

  43. 2595

  44. 2719

  45. 2813

  46. 2852

  47. 2864

  48. 2934

  49. 2997

  50. 3092

  51. 3130

  52. 3132

  53. 3214

  54. 3224

  55. 3245

  56. 3251

  57. 3312

  58. 3362

  59. 3475

  60. 3513

  61. 3582

  62. 3735

  63. 3828

  64. 3871

  65. 4081

  66. 4122

  67. 4141

  68. 4169

  69. 4311

  70. 4317

  71. 4685

  72. 4815

  73. 4951

  74. 5111

  75. 5298

  76. 5550

  77. 5806

  78. 5938

  79. 6117

  80. 6167

  81. 6746

  82. 6799

  83. 6845

  84. 7045

  85. 7496

  86. 7750

  87. 7900

  88. 8622

  89. 9047

  90. 9136

  91. 9152

  92. 9167

  93. 9249

  94. 9493

  95. 9524

  96. 9553

  97. 9649

  98. 9828

  99. 9832

  100. 10021

(I manually removed local websites ending in .gov e.g. I’m sure they’re doing important things too but I wanted to focus on the national level.) I found this list quite interesting and full of insights. For example, I’m reminded how creepy is; why not just call it Waffen-SSS? Seriously, that would actually fit those guys.

But that’s an exception. A lot of these sites are quite uplifting. I was encouraged to see the NIH so high up. Hey, they are definitely helping me to fight the good fight on behalf of real Americans against the shady side of big pharma. People laud the courage of soldiers and that’s fine, but let’s take a moment to consider the CDC. If we’re going to talk about making Americans secure, we’d better say some good things about the CDC. I recently was in a high security medical research vivarium and the intense safety protocols remind one that if you want a job where dying a gruesome death is possible, the military isn’t the only way to go. But if you do the job well, you can maybe prevent a pandemic from killing half of humanity.

In the mainstream media’s desperate quest for lurid sensationalism you don’t hear about little things like the Thrift Savings Plan (whatever that is) helping victims of the California wildfires. Or that the SEC is righteously punching back at some pharma scumbags. Do you like having electricity? Apparently the EIA is helping by obsessively worrying about that so you don’t have to. Yea! And there are so many things on this list that are real treasures. For example, the National Park Service. Also the USGS has been a go to resource for maps and tons of other important things long before the internet existed. Same with NOAA and it’s pal And at 624, NASA is a not just an internet rock star; it is the team that scored some of humanity’s most stunning achievements.

And this is just the popular stuff. There are tons of things farther down the list buried in undeserved obscurity. For example, at 13785 is the National Gallery of Art and 10064, the National Endowment for the Humanities. Why is only 10213?

In closing I’ll also mention my favorite government heroes. Some people have that urge to see the world and meet interesting people but are heroically squeamish about killing them willy-nilly. I suspect that The Peace Corps web site would be more popular (than 14528th) if they weren’t systematically sent to the places in the world least likely to have good wifi. So bravo and thanks to the Peace Corps volunteers who sacrifice so much to show the world that not all Americans are assholes.

3D Sintering

2017-11-10 17:04

In the past I have never felt much enthusiasm for 3d printing. I just discovered what El Reg calls "metal 3d printing". Although they’re missing a huge chance to cleverly call it "3d sintering" or even "3d sinting", I am actually quite optimistic about this technology.

Sintering is a very smart technique which can create very interesting results. Unlike thermoplastic resin (hot glue gun) 3d printing, metal sintering has the potential to make things that are actually useful. In a wild speculative way, I can imagine very exotic workpieces with difficult geometries and even clever tricks like different metals fused into the same part. It seems like a genuine amalgamation of the reasons for the 3d printing hype and the reasons to persist with traditional metalworking.

The company driving this technology, Desktop Metal, seems like they’ve got a sensible manufacturing product. The idea seems sound. Rather than replace traditional machine shops, I think that the bigger threat is to traditional small foundries. The Desktop Metal marketing literature suggests that you can "apply optional finishing methods such as machining or bead blasting for critical tolerances and finishes". It sounds like this would be perfect to combine with a benchtop milling machine.

But still, replacing an exotic metals foundry with a piece of office equipment is quite a trick. I have to say I never would have imagined the existence of an "…office-friendly sintering furnace with a peak temperature of 1400C, allowing for the sintering of a wide range of metals." That just sounds crazy but if it works then I’m impressed.

On the other hand, this same office sintering furnace is also described as "cloud-connected" so maybe it is nothing more than posturing and nonsense. I do think the concept seems reasonable. It will be interesting to see how this system performs in the real world. I am hopeful.

The Health Care Bug

2017-11-09 21:14

In computer science there are obvious errors that prevent software from running but there are also obvious errors where everything works reasonably well. For example, you may have a database where one of the fields is destined to always contain the same (therefore pointless) value. The program may function and seem to work properly, but that does not absolve the error.

Politics is full of such errors. The saddest one in my opinion has to do with health care in the USA. I’ve been saying for well over a decade that the bulk of America’s health care woes can largely be completely cured by correcting a tiny but devastating error. The cure is to simply prohibit employers from offering health care benefits.

At first this seems ridiculous. If we need more health care (options, etc) why would we eliminate the bulk of coverage? Employer sponsored health insurance is like opioid addiction — it was maybe well intentioned at first, but as it grows increasingly problematic, it is very hard to kick.

In this article titled "The Illogic of Employer-Sponsored Health Insurance", the problem is characterized by a brilliant analogy where the medical profession is compared to a pickpocket who steals money from you in a bar and then buys you a drink. In the current system, instead of trading your service as a worker for properly fungible money to apply in a free market economy, you get paid in two separate currencies, money and health care, which for most people are not interchangeable at all. Yet for the insurance companies and medical profession this layer of obfuscation is a windfall.

Ask yourself if life would be better if your employer paid for car insurance. If you assume that your employer will just simply deduct that cost from your salary, pretty much all you can expect will be a much more limited range of insurance options, some hidden markups, and friction changing to a better provider.

And it’s not like employers actually want to mess with your health care. It’s as huge of a hassle and impediment to market fluidity for employers as it is for employees who can feel stuck at jobs with acceptable benefits. Perhaps the most glaring example of the nonsensical nature of this system is my employer who happens to be the largest health care provider in San Diego. If they wanted to give their employees a health care benefit, why not just give them a big price break on our own health services? If you consider that obvious question, it’s easy to suspect that something rotten is going on.

There are two other industries that I can highlight that have similar errors. Today, tax preparation is an absurd and immoral business that resists proper obsolescence with massive lobbying by tax preparers. That one is extraordinary because I don’t think people even feel like the pickpocket here is buying them a drink.

The most "generous" thieves in the bar are the mortgage bankers. Thanks to the mortgage interest deduction, people think they are getting a sweet kickback on the most expensive purchase of their lives. But the reality is like anything the government subsidizes—it stimulates more business which causes demand pressure and higher prices. The losers are renters who don’t get the kickback and society in general who must dedicate more pointless resources to housing. The winners, of course, are mortgage bankers and anyone dealing with real estate who are paid in fractions of the purchase price (builders, brokers, etc). The difference between the government printing special banknotes that can only be used to pay mortgage bankers and just giving mortgage bankers a lot of money is essentially nothing.

But the thought of losing this kickback for those lucky enough to claim it is enough to generate an enormous fuss. Even though this is clearly an obvious system error designed to enrich bankers, fixing it would be painfully unpopular. (So unpopular it’s practically a Green idea.)

That’s why I’m shocked to see the GOP proposing some kind of bug fix that partially corrects this sacred cash cow. I sometimes think Trump’s policy initiatives are purely random. Like a broken clock telling time twice a day, maybe this is his moment to do something extremely unpopular but constructive.

(Yes, I know, they want to take the entire kickback and divert it to their upper class twit cronies. I’m actually ok with this for the same reason I said that if the Affordable Care Act consisted only of beating people with sticks it would be worth doing — at least the new stupid system won’t be an entrenched stupid system.)

Low Level

2017-11-07 23:34

Getting some proficiency with frameworks like TensorFlow and Keras has been pretty interesting. I’m continuing my study of machine learning by trying to really understand every detail of all components. In my own mind I had the idea that I wanted to be able to understand the entire technology chain from the lowest levels to the highest, not necessarily in extreme detail but at least a rough understanding. I had the ambition to understand neural network details as well as I understood how software in general worked. Then I wondered… I do know how software works, right? I’d better check that!

I wanted to find the smallest example I could think of where a cogent change of some specific low-level ones and zeros produced a predictable change in high-level software behavior. What I came up with is a nice reminder that computers do work with just ones and zeros. Here’s my demonstration.

I start with a high level program. It is a simple program to be sure, but it is a C program just like the Linux kernel or a compiler or Quake. The way complexity increases from here is relatively well known.

$ echo "int main(int c){return c-1;}" | gcc -o p_sub -xc -

This creates a program, called p_sub, which should take arguments, count them, and return the total number of them. This requires that the argument count variable be decremented by one (c-1) because the program name is considered a part of the argument count. Don’t worry about the details.

So there’s a usable C program in 28 characters. Next I wanted to see some different behavior by fiddling with the lowest level possible. Instead of subtracting one, I will add three to the argument count. I picked through the program and found the bits that would make that happen. This command line changes the necessary bits and creates a new executable, p_add.

$ xxd p_sub | sed '/660:/s/e8 01/c0 03/' | xxd -r > p_add ; chmod 755 p_add

If your hex vision is strong you may object, this is not bits! This is bytes. It turns out that the xxd program won’t allow bit level changes; you do have to organize them by bytes. But I promised ones and zeros! The xxd program can show binary. Here is a summary of the two bytes I changed. This directly shows the changed ones and zeros that effect this behavior difference.

$ diff <(xxd -b -s1643 -l2 p_sub) <(xxd -b -s1643 -l2 p_add)
< 0000066b: 11101000 00000001                                      ..
> 0000066b: 11000000 00000011                                      ..

Let’s consider these binary numbers in the reverse order that they are listed. Binary 00000011 is a one in the ones place and a one in the twos place (one one and one two, so three). 11000000 is 128+64 which is 192. And 192 divided by 16 is 12. If hex 9 is decimal 9 and a is 10 and b is 11, then 12 must be c. Therefore 192 is c0 hex. Binary 00000001 is the same in decimal and hex, just 1. Finally 11101000 is 128+64+32+8 which is 232 or e8 hex (trust me).

So I basically changed e8 01 to c0 03. The 1 and the 3 are the ammounts I’m subtracting and adding respectively. But do the op codes for e8 and c0 mean subtract and add respectively? The objdump program can tell us.

$ objdump -d ./p_sub | grep 66a:
 66a:   83 e8 01                sub    $0x1,%eax
$ objdump -d ./p_add | grep 66a:
 66a:   83 c0 03                add    $0x3,%eax

Looks right! In fact the objdump program was how I figured out what bits to change.

Do the programs work as advertised? Let’s try them out!

$ ./p_sub x x x x x ; echo $?
$ ./p_add x x x x x ; echo $?

The first program counts the arguments (5 x’s and the program name minus one). The second program does almost the same thing but it seems to add 4 to the argument count (5 x’s, the program name, and an additional plus 3).

The point of this exercise is to show that there is no magic or mysterious hidden processes involved in general computing. One could go lower and wonder what the electrical potentials and clock pulses were doing in the chip after these bits are sent to it. But that behavior is literally carved in stone (silicon at least). Understanding that voodoo is very unlikely to have any helpful effect because there’s not much that can be done about the hardware.

Now I need to get back to studying neural networks. I don’t like the feeling that TensorFlow is fooling me into going along with something stupid simply because the details can be a little hard to understand.


For older posts and RSS feed see the blog archives.
Chris X Edwards © 1999-2017