Chris X Edwards


Review: Seveneves

2015-07-03 14:39

I just finished Neil Stephenson’s latest book, Seveneves. While I completely sympathized with some of the unenthusiastic reviewers, I loved this book nonetheless. How much did I love it? Well, I finished it 3 days after checking it out which is remarkable given that it is 867 pages long. I would say that if you liked The Martian (which I’ve already reviewed) so much you wish it was about triple the size, then you’ll love the first two thirds of Seveneves. If you’re also a Neil Stephenson fan, you’ll like the final third too. And if you’re a huge Neil Stephenson fan like I am, you’ll hope he’s working on a 1000 page sequel. As many unhappy reviewers point out, this is not a book about emotional human interactions and believable psychology as it is about engineering and, literally, rocket science. If you find complex technical solutions to problems exciting and interesting, this book is a delight. Even if you’re not so into the technical aspect per se, the rigor and competence of Stephenson’s conceptions help to build a terrifically coherent and believable world.

Code Reuse Not Considered Unharmful

2015-06-17 14:58

Let’s not worry about my views on software engineering fads and frameworks because I’m nobody special. But I was pleased that I’m not the only one with the following opinion.

…almost everything I’ve ever heard associated with the term "extreme programming" sounds like exactly the wrong way to go…with one exception. The exception is the idea of working in teams and reading each other’s code. That idea is crucial, and it might even mask out all the terrible aspects of extreme programming that alarm me.

I also must confess to a strong bias against the fashion for reusable code. To me, "re-editable code" is much, much better than an untouchable black box or toolkit. I could go on and on about this. If you’re totally convinced that reusable code is wonderful, I probably won’t be able to sway you anyway, but you’ll never convince me that reusable code isn’t mostly a menace.

— Donald Knuth

I agree with that exactly, right down to the pair programming.

The topic of reusable code is brilliantly addressed in this great article. I definitely will waste time changing parameters over to a dict and iterating over their keys when just having a few parameters get the same (cut/paste) treatment would have been fine. But my sensitivity to that is nothing compared to my distrust of external dependencies. It’s not just that I have been burned so many times, but in so many different ways - code doesn’t quite work, error bombs, tiny feature quadruples the size of the project, requires its own exotic dependencies, takes longer to learn/understand than reimplementing, security issues, lack of flexibility, poor performance, license/owner changes, ad nauseum. Being lazy and using other people’s code can be a lot of work!

Cat Offers Warm Safe Place To Mice

2015-06-03 16:01

What the heck is Facebook doing? I check in every one or two months and today while trying to delete my birthday (can’t be done) from my Facebook account, I noticed a place to specify your PGP public key. What!?

Then I see that this is a new thing.

Most people have no idea what PGP is. Using it is famously difficult. There are even nagging questions about trust networks that it really doesn’t answer. As Wikipedia rightly says, "No satisfactory solution has been found for the underlying problem." I’ve had a PGP key since 1999 but because it’s so rarely used in the real world of email, even I have trouble using it.

So what’s Facebook’s game here? I’m not the only one wondering. Maybe it is a dig to murk up the snooping of competitor Gmail. But that can’t possibly be effective. It would seem that if Facebook wanted to create email privacy they could completey redesign the whole concept. It’s pretty clear that despite its technical competence, PGP is a social failure. Facebook can handle the social network part, but are they really interested in privacy? I’m doubtful.

Microsoft Slithering Towards Sanity

2015-06-02 13:03

This is amazing news. Microsoft appears to be interested in including a working native OpenSSH in some future version of Windows. I guess news of trojaned Putty actually sunk in enough to get Microsoft to consider the obvious.

The fact that this did not occur in April of 2001 immediately after OS X was released is one of the most gratuitously stupid situations in the history of systems software. But hey, Microsoft had some pretty stupid leadership which the announcement could barely conceal.

Given our changes in leadership and culture, we decided to give another try and this time, because we are able to show the clear and compelling customer value, the company is very supportive.

There it is, folks, exactly what I’ve been saying about Microsoft for 20 years, i.e. that clear and compelling customer value was not something the previous leadership cared about one bit. Or if they did care, they were too stupid to recognize it. I suspect both.

While this news is pleasantly surprising it’s not as shocking as it would have been a few years ago given Satya’s radical new policy of avoiding brazen stupidity.

But crawling out from under their rock is not going to be easy for Microsoft who still has a long way to go. Off the top of my head, here are some of the things that I require for Microsoft to be something I would even consider.

  • Now that the transport security is there with SSH, how about a proper rsync? Please do not mention Robocopy, another willfully stupid and superfluous Microsoft abomination.

  • Bash. A proper native port, maybe something like this but ready for prime time. Not the sad Cygwin experience which feels like trying to swim up a waterfall. Chance of me ever seriously using PowerShell without substantial compensation - 0%.

  • Package management for public software. Working precompiled binaries in repos (or go Portage/Ports if you like). If you need a non-Linux example, think of Homebrew. Come, Microsoft, join the civilized world.

  • A proper C compiler. Perl. Python. Like SSH, it’s not like this costs money.

  • Finally, and here’s the big one, there needs to be a free version of Windows. Alternatively, Microsoft could offer very comprehensive Wine support with official dlls and support which I will pay money for if I can run Windows games on Linux. What these two things have in common is that I will never pay to buy Microsoft’s rotten clown OS in order to use some completely unrelated software. If Microsoft is materially improving the software (I’m thinking DirectX in games could reasonably add value) then that may be worth something. But I will never be paying for the opportunity to sabotage my computer’s performance and security with a completely brain dead and unfixable OS.

Taxman In Deep Doodoo

2015-05-26 15:50

I tried to warn all my friends. I hope they listened.

Here’s Krebs covering the massive theft of data from the IRS through the mechanism I discussed previously. I feel vindicated in warning people since the IRS is now reporting 200,000 suspicious transcripts were requested and 100,000 were authenticated! That’s a 50% success rate by guessing using automated techniques. And that’s what the IRS is admitting to at this time.

I’ve always thought it was doubly rotten to borrow money from poor people (a tax refund is a loan being repaid) and then make those people, who are generally not accountants, fuss with the details of the transaction.

But hey, that’s what happens when you pay providers of an uncessary service enough to lobby congress to make the service compulsory.


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