Our small tools for running commands on multiple machines
A while back I wrote about the personal shell scripts I had forrunning commands on multiple machines . At the time,they were only personal scripts that I used myself; however, overtime they kept informally creeping into worklog entries that documented what we actually did and evensome shell scripts we have to pre-write the commands we need forconvoluted operations like migrating ZFS filesystems from serverto server. Eventually we decided to adopt them as actual officialscripts, put in our central location for such scripts.
My own versions
Some plans for migrating my workstation from MBR booting to UEFI
Today I finally assembled the machinethat is to be my new office workstation , althoughI wasn't anywhere near brave enough to change over to using it ona Friday. For the most part I expect the change over to be prettystraightforward, because I'm just going to transplant all of mycurrent disks into it (and then I'll have to make sure the networkinterface gets the right name, although I have a plan ). However,I want to switch my Fedora install from its current
Open source software licenses matter
I gave in to the temptation of some bait from a co-worker onTwitter , andit turns out that the conversation has made me want to say a coupleof things. Today's entry is about the more serious one.
There's a not uncommon attitude among (some) people that otherpeople are too religiously attached to various open source licensesand should get over it. So what if you don't like the specificlicense some project opted for? It doesn't really matter; don
Glibc and the Linux API
A while back, I wrote an entry on the overall issue of if the Cruntime and standard library were a legitimate part of the Unix API . This was sparked by Go, which triesto avoid the C library on all platforms, Linux included, and wherethis helped lead to a fun problem .Linux is an unusual Unix in this regard. Many Unixes are tightlycoupled to their standard C library, whether or not they officiallydocumented it as the API to the system in general the way Solarisdoes. OpenBSD
Linux's glibc monoculture is not a bad thing
Given yesterday's entry about glibc and the Linux API ,it's hard to avoid concluding that glibc is basically a monoculturein Linux, with no real competition or alternative. Initially Iexpected to be unhappy about this since I have a reflexive dislikeof monocultures, but after thinking about it more, I think thatglibc's monoculture is actually not a bad thing. In fact, I'll goso far as to say that it's how open source should work.
Okay, I confess that
Differences between keywords and constants in Python
Yesterday I wrote about the challenges of having true constantsin Python and said that there are othermechanisms that achieve basically the same results if all we careabout are a few builtin values like True , False , and None .The most straightforward way is what was done with None in Python2 and eventually done with True and False in Python 3, whichis to make them into keywords. This raises the obvious question,namely why the Python people waited until Python 3 to make thischange. One way of starting to
Link: Some fascinating details of cellular data transmission
Part of Ilya Grigorik’s “High Performance Browser Networking” is a fascinating section on the Radio ResourceController (RRC) :
Both 3G and 4G networks have a unique feature that is not present intethered and even WiFi networks. The Radio Resource Controller (RRC)mediates all connection management between the device in use and theradio base station. Understanding why it exists, and how it affectsthe performance of every device on a mobile network, is critical tobuilding high-performance mobile applications. The RRC
Link: The Python decorators they won't tell you about
H. Chase Stevens The decorators they won't tell you about (via Hacker News, repeatedly; it's been posted several times) is anotherview of Python decorators. I'll give you a quote that shows the flavour:
Decorators are often described as "functions which take functions andreturn functions", a description which is notable in that, technicallyspeaking, not a single word of it is true.
(H. Chase Stevens is right about this, by the way.)
If you'
The challenges of having true constants in Python
In his article What is Actually True and False in Python? ,Giedrius Statkevičius takes Python to task for not having genuineconstants in the language and making True and False into suchconstants, instead leaving them as changeable names in the builtinsmodule . This provides a convenient startingpoint for a discussion of why having true constants in Python is asurprisingly difficult thing.
One of the big divisions between programming languages is whatvariable names mean . Many languages are what Iwill call storage languages , where a variable is a
What's happening when you change True and False in Python 2
Today I read Giedrius Statkevičius' What is Actually True andFalse in Python? ( via ),which talks about the history of how True and False aren't fixedconstants until Python 3 and thus how you can change them in Python 2.But what does it really mean to do this? So let's dive right in to thedetails in an interactive Python 2 session.
As seen in Statkevičius' article, reversing True and False ispretty straightforward:
>>> int(True