Ali's Hive Mind |
![]() |
Richard Stallman speech in Barcelona canceled [News]
At an event on May 10th in Barcelona, Spain, FSF president Richard Stallman was not feeling well and paramedics were called.
He was taken to the hospital but did not stay overnight. He did not have a heart attack, as has been reported in some places.
He returned to Boston on his previously scheduled flight and is now home safe.
This text has been updated several times since its initial publication.
May 16, 2012 [Saturday Morning Breakfast Cereal (updated daily)]

Are you a geek in SF wanting to help out with a cool project I'm involved with? Check out this listing!
Professor Blaze Goes To Washington [Matt Blaze's Exhaustive Search]
Hearing on "ECPA Reform and the Revolution in Location-Based Technologies and Services".
I'll be the first witness at this morning's (6/24/10) House Judiciary Committee hearing on ECPA Reform and the Revolution in Location-Based Technology, which, for DC locals, will start at 10am in room 2233 of the Rayburn building.
My testimony [pdf] will focus on the technical: how modern cell phones and wireless services calculate location, and how accurately they can track and record users' positions and movements. This is all in the context of surveillance: when the government gets a pen register order against a cell phone, for example, what information do (or should) they get about the target's location and movements compared with other kinds of tracking technology?
Other witnesses will include (among others) a special agent (from the Tennessee Bureau of Investigation) who does electronic surveillance, and a federal magistrate judge who has to sort out the legal issues when the government requests tracking information about a suspect. The hearing promises to be an interesting glimpse into how location tracking actually works in criminal investigations.
No idea if the hearing will be shown via a webcast or C-SPAN coverage.
Update 6/28/10: The hearing was interesting, and I especially enjoyed Chairman Nadler's line of questions to me about how the technology works and about the records kept by carriers. Unfortunately, video of the hearing doesn't appear to be available online anywhere, at least at the moment.
Update 5/16/12: An updated version of my testimony is available at http://www.crypto.com/papers/blaze-gps-20120517.pdf, as a statement for the record at a house hearing on the "GPS Act".
May 15, 2012 [Saturday Morning Breakfast Cereal (updated daily)]

Transmission from Lord Ashby:
SUPERPALS!
So far, you've donated over $ 10,000 for our final season of sketches! THANK YOU SO MUCH! Thanks to your support, we have enough funds to make 18 brand new sketches of COMEDY GOLD! That's enough for 2 sketches a month September 2012 - May 2013! BUT WE CAN DO MORE! For every $ 600 we raise in the next week, we'll add another sketch to our season until we reach 28 sketches! Donate today!
Remember, every donation makes a HUGE difference! We want you all to have access to our SECRET CLUB! So if you haven't donated yet, please do so! And if you have donated to any of our fundraisers, thank you SO MUCH. Your support is the only thing that keeps us going!
http://www.indiegogo.com/smbcdvd
One Year Update: Jason and the Internet Archive [ASCII by Jason Scott]
I officially started work at the Internet Archive over a year ago.
Let’s remove any tension – it has been a fantastic year, where I have gotten more done in the way of preservation and computer history work than my entire previous 40 years combined. Internet Archive seems to like me, I really like them, and I’m staying.
Here I am with the boss:
Brewster and I are two rather different people, and although the Venn diagram of our interests does not intersect everywhere or even close to it, what we do share in terms of goals and passions is very similar. There’s no hidden agenda with this guy – the headquarters in SF isn’t secretly a meth lab, we’re not actually some lobbying group or anti-whatever think tank trying to destroy or anything. There is only the Mission, the goal to bring as much human knowledge as universally as possible, and to preserve and keep all matter of knowledge as reliably as possible.
Oh, there’s occasional office flare-ups and disagreements and I’m sure some clenched fists and not every day is an endless buffet of awesome, but every single person in this organization understands the Mission and pretty much 100% of the disagreement is how best to achieve that mission with what resources there are (or to gain new resources). That’s rather refreshing from, oh, let’s say, every other goddamn place I’ve worked at, where the goals of some people are “get to retirement age” combined with others who mostly have signed up for “do absolutely nothing until you either get bored and leave or get fired”. That’s not going on here. It was a shocking office culture to run into, everyone just kind of pressing in towards the overarching mission without being waylaid by one group trying to undermine the others for some other bonzo reason unrelated to what the place was going for. Again: People leave, people join this place, but they all understand that dream, that plan, that hope, that dream. Maybe this happens elsewhere, but not in my previous lines of work. So that’s somewhat mind-blowing on a daily basis.
I will feel really stupid if I start listing out names of co-workers and then miss some, so I will tell you that I have someone who is a “handler” for me, and she is far and away one of the best bosses I’ve ever had, and I’ve had a few really, really great bosses in my time. I have people I sit with when I’m in San Francisco who are brilliant, hardworking people (again, all aimed at this goal) who do stunning work. We have communication channels where various groups talk, and it’s like shoving your face into a Brilliance Fountain 24/7. I’m not making this stuff up to butter anyone.
Remember, this isn’t people all sitting around figuring out how to monetize farting or who are blowing up paradigms with slide-scale infradoobles using Ruby on Crack combined with Hibbledoo Middleware. This is a non-profit online library providing petabytes (petabytes!) of data to millions in the most efficient way possible. Speaking of which…
One of the job descriptions/goals for me was “bring in data”.
I just checked the internal tracker to see how I’ve been doing on the upload front. Very well, apparently – I have uploaded 120 terabytes of data. That’s into 82,438 individual items, which could be anything from texts or songs up through to .tar files of web captures. When I started, I said my goal was to upload a terabyte of data a month. As I am apparently doing ten times that amount, I’ll consider that goal met.
I’ve brought in so much “stuff”, in fact, that it would nearly impossible for me to tell you all of it. Let’s throw out some highlights.

I was asked to look into bringing in software. So, I started out with CD-ROM shareware discs, not dissimilar to what I have with cd.textfiles.com. Well, that has been a wild success. I am ready to declare The Internet Archive as the largest collection of shareware on the Internet. Seriously. First, there’s over 1,100 CD-ROMs and DVD-ROMs contained in the CD-ROM collection. But oh, it gets better. You see, functionality was added this year to allow you to browse inside the ISO images. Feast your eyes inside this CD-ROM, for example. You just add a slash at the end of the ISO image reference and there you are. But let’s go even further than that: Let’s take a GIF file of Winter from 1991: http://archive.org/download/SoMuchSharewareV1_918/SoMuchSharewareV1_1991.iso/GIFS/WINTER2H.GIF
You see how you can reference a file inside a CD-ROM image in a permanent URL that can be pulled from anywhere? That’s why, as far as I’m concerned, The Internet Archive now has well over four million shareware programs, artworks and documents online. At least. That’s a game changer. And this year? We’re going to double it.
Computer magazines. Lots and lots and lots of computer magazines. Out of print, fondly remembered and otherwise obscure magazines on a range of technical subjects, currently the province of attics and basements and long-unopened warehouses and a smattering of living spaces – now up and readable.
This collection of computer magazines as well as a smaller spanish-language set constitute 30 years of technical publication, and well over a thousand individual issues, many of those in the hundreds of pages rage, which means there’s a lot of history squished into all this data. I’ve already been informed of university and high school classes out there using these issues to bring up discussions of history or to point out aspects of computer technology that have shifted or changed. Some of the issues have indexes already (the Compute! Magazine collection is a shining example) and I hope more will get them over time. I’ve got lots more issues to add, too.

Manuals! Damn, do I love getting manuals up where people don’t have to search like crazy to find them. It actually saves the environment to some small amount, since people will happily buy older equipment knowing they can get the manual easily and make the use of the item. So manuals are a big deal:
Arcade manuals. DEC manuals. Synthesizer manuals. Commodore manuals. Whenever I track down a cache of these or get sent them, they go up. I want to be able to have someone grab any piece of equipment new or old and understand what exactly everything does on it, and maybe even the why.

Audio! Video! 59,000 open-licensed albums. 2,100 nights of live and club music. Hours of GET LAMP raw interviews. A complete port of 10 years of Jesse Thorn’s The Sound of Young America. Bit by Bit. There are many other such audio and video projects where I use scripts to get them into the archive as collections – part of my work has been writing stuff to inject massive amounts of data into archive.org’s servers to make it that the uploading is the least of the issues. Which brings us to:

FUCK YEAH, ARCHIVE TEAM. I can’t begin to really describe how much data Archive Team has brought in – so many people working together to take snapshots of important things that are being shut down with poor or no notice, as well as proactive “panic downloads” where we recognize things are on the outs and we grab as best a copy as we can.
Like the Internet Archive itself, Archive Team’s collections are not always meant to be short-term beneficial and in fact are pretty clunky – 50gb .tar files and the like. What they are meant to be is raw material for later efforts and rescue of lost data – the panic downloads are basically someone stepping in at the present time and running the duper just before a whole range of data disappears forever. Some of it will be absorbed into the Wayback machine. Some will be filleted for their GIFs or mp3s or who knows what else. And still others will result in data, meaningful first-generation data about how people used computers or how solutions were found to old problems. Or maybe we’ll just laugh at the hair.
I’d go off more on Archive Team but I’m scheduled for something like a half-dozen speaking engagements around the world this year related to it, so I’ll probably just link to those talks when they come out. Actually, here’s a talk I gave about it a couple months ago, which is hosted at, and took place, at the Internet archive.
As we speak, Archive Team is uploading something like 25 gigabytes an hour into the Internet Archive. Chew on that for a bit. So many good people, so much good work, on both sides of the wire.
This is getting a bit long, and I’ll split more out into entries this year to give context and meaning, but the upshot is that this has been a very successful year, a lot of amazing things are happening and continue to happen, and every single waking moment I spend related to this “job” is what I’ve always wanted to do.
And that’s pretty nice. Thanks for taking the gamble, Brewster!
FSF Job Opportunity: Operations Assistant [News]
This position is now closed for applications. Thank you to everyone who applied.
The Free Software Foundation (FSF), a 501(c)(3) charity with a worldwide mission to protect freedoms critical to the computer-using public, seeks a motivated and organized Boston-based individual to be its full-time Operations Assistant.
This position works closely with the Executive Director and Business Operations Manager to ensure all administrative functions of the FSF run smoothly and efficiently, preserving our 4-star Charity Navigator rating and boosting all areas of our work.
In addition to handling phone calls and being a friendly face for visitors to our office at the center of Boston's Downtown Crossing, these functions include:
This is a great position for a recent graduate who thrives on multitasking, has an eye for detail, lives in the Boston area, and wants to make a difference. With our small staff of ten, each person makes a clear contribution. We work hard, but offer a humane and fun work environment.
Because our mission is worldwide, language skills and a demonstrated ability to interact with people across cultures and age groups will be highly valued. While the position does not require advanced computer skills, a willingness to learn and work with new software is a must. We use free software like CiviCRM, Plone, Emacs, and LibreOffice, all running on GNU/Linux.
The FSF is a growing organization and provides great potential for advancement; existing staff get the first chance at any new job openings. Previous Operations Assistants have often gone on to hold other positions within the organization.
This job is a union position. The salary is fixed at $49,140/year and is non-negotiable. Other benefits include the following:
This position is now closed for applications. Thank you to everyone who applied.
The FSF is an equal opportunity employer and will not discriminate against any employee or application for employment on the basis of race, color, marital status, religion, age, sex, sexual orientation, national origin, handicap, or any other legally protected status recognized by federal, state or local law.
The Free Software Foundation, founded in 1985, is dedicated to promoting computer users' right to use, study, copy, modify, and redistribute computer programs. The FSF promotes the development and use of free (as in freedom) software -- particularly the GNU operating system and its GNU/Linux variants -- and free documentation for free software. The FSF also helps to spread awareness of the ethical and political issues of freedom in the use of software, and its Web sites, located at fsf.org and gnu.org, are an important source of information about GNU/Linux. Donations to support the FSF's work can be made at http://donate.fsf.org. Its headquarters are in Boston, MA, USA.
566 – All the same to me [Luke Surl Comics]
Had a fun time at Bristol Expo, hello to anyone I met there!
What Selling Out Reads Like [ASCII by Jason Scott]
Over two and a half years ago, I wrote a statement on Sockington selling out, where I basically said the following:
“I am not going to sell Socks out. Period. Drag your “proposal” or ‘touching base” or “big idea” or “possibility” to your trash icon, or I’ll kindly take the time to do it for you. The store is closed. It was never open.”
I also felt I had to clarify what “selling out” meant, and what I came up with was:
For me, “Selling Out” for something like Socks comes when the cat or myself are doing things we would never do on our own, and people give us money to convince us to do this. Oh, they may couch it as “paying for your time and effort” or “to help with your maintenance costs”, but it’s taking cash to do something otherwise never happening.
So in that spirit and knowing that, I will inform you I was contacted a month or two ago by a company that wanted me to sell Socks out. Do a promoted tweet, as they call it. As usual, I toy with these guys, so I needled them along and asked how much. $5000/tweet, they said.
Hmm.
Sockington (the actual grey cat) is now (we think) about seven. Penny (the actual orange cat) is now easily ten. Penny and Socks have both seen years of very nice health – no major issues, no overnight visits, you name it. They’re kept on a good diet and kept indoors and exercised and they’re in a rather beautiful home outside of Boston, a place of stairs to climb and rooms to run and general Cat Heaven.

But cats don’t live forever and let me tell you, being involved in the whole Sockington Twitter thing has told me an awful lot about how quickly things go with them. One day they’re purring in your lap and wondering when the next mealtime is, and the next day they’re very, very sadly meowing and you go to the Vet and the Vet suddenly drops in your lap some sort of terrible decision. And that decision is often one that, bluntly, translates to “For three thousand dollars, your cat will live for at least months and probably years, or we can kill it.”

So, call it the years piling on, but I had this rough idea in my head that it might be kind of sweet of Socks and Penny (and Tweetie, the third cat, who needed actual $1500 surgery a year or two ago) to have a couple tweets that ensured that the only decision in a future medical malady was how fast they could get back on their feet. Call it a wavering, a moment of weakness, maybe for some of you a “cold dose of reality”. But what the heck, it wouldn’t hurt to talk to these people.
It took a while, weeks really, but they eventually came back with actual things to sign. And, of course, because everyone in that sort of business is a bait-and-switch scumbag, it suddenly went from “$5000/tweet” to “$2500/two tweets”. And if that sounds awesome, it would be scripted by someone else, specifically to sell a product, a product that had nothing to do with cats.
Subsequently, I could see how this was going to go. With an Non-disclosure agreement attached, and more requirements than I could shake a stick at, it was going to be months of e-mails to get the actual money, money which, again, falls down into the “I sort of have access to that kind of money” level and which, like any such thing done, was a loss of principle and meaning in the name of some hocked-together justification. It’ll heal my cats!!!!!!!!
So while there was this tiny, tiny percentage of me going “hmm”, most of me got sickened by the entire enterprise within a day or two, and as the actual documents piled in, that pretty much settled it. So no, Socks continues to not push house cleaning products on his twitter feed. He continues to be a very strange, very odd little cat.

And as for my little bait-and-switch scumbag marketing guys, who wanted to make a cat tweet about some household product for a few bucks, and were willing to jerk me around for eyeballs? It turns out I don’t do that.
But what I will do is drop all the documents and contracts related to the deal.
So here we go, here’s everything they sent me.
Oh, it’s all in there – the kind of stuff you sign your life away with as “talent” in a promotion, the willingness to get involved in secrecy, in acting like oh, one day Socks decided to start tweeting about some sort of product, in a way unlike himself, and right off to those delicious million eyeballs.
Somewhere down there is this line:
Talent agrees that if Talent commits a material breach of any provision of this Agreement or at any time fails or refuses to fulfill Talent’s obligations hereunder, then Marketer or Agency may terminate this Agreement and Talent will not be entitled to any compensation. Talent further agrees that if Talent should die, or fail to fulfill Talent’s obligations hereunder due to illness, injury or accident so that, in Marketer’s or Agency’s judgment, Talent’s disability will preclude Talent from rendering the Services described above, then Marketer or Agency may terminate this Agreement and Talent will not be entitled to any compensation.
Since I didn’t sign, and I have told you about it, I guess that constitutes a “material pre-breach”, where I’ve already taken a big ol’ dump on the whole prospect of the cat being turned into a mouthpiece for said products. Oh well. I’ll get over it.
Enjoy the glimpse into how bad it can get.
And I’ll pet Sockington for you.

popcon graphs for tasks [see shy jo]
Last year I was able to switch tasksel to using metapackages, instead of the weird non-package task things that had been used before Debian supported Recommends fields well.
An unanticipated result of the new task packages is that I have this nice popcon data available for them, so can get graphs like these.
For new installs of testing, KDE and Xfce are neck and neck. With Gnome being the default, it's hard to say which desktop users really prefer. My feeling is that it's probably nearly evenly split now.
(I installed Xfce on my sister's laptop last week, and anticipate moving all my family to it, rather than Gnome 3.)
The above graph also shows a surprisingly large number of ssh server task installs. In fact, it's the most often manually installed task. Probably many of those are server machines, and so I'm considering having tasksel automatically select ssh on systems where it doesn't automatically select a desktop.
Language data is also available. Taskel uses language tasks internally, without exposing an interface, so this will be almost entirely users who did an install of testing localised to their language.
Interesting data can be teased out of this too. For example there seem more installs in Catalan than Chinese ... and at least 10 Esperanto users. (As with any popcon number, this is a lower bound, to be multiplied by the scaling guesstimate of your choice.)
By the way, I've got a new vanity domain for my blog and wiki: http://joeyh.name/
The old http://kitenet.net/~joey/ will continue to work, like it has since 1997. But the new is easier to type. And it let me move my site to Branchable, at last.
GNU Emacs Reference mugs now available [Recent blog posts]
GNU Press offers a limited number of GNU Emacs Reference mugs
UPDATE: ALL SOLD OUT
Unfortunately, due to the incredible popularity of our GNU Emacs Reference mugs, we have sold out our entire stock in less than 24 hours. We apologize for the inconvenience. We are in the process ordering more mugs, and if you would like to be first in line to buy one, please join our GNU Press mailing list.
Thanks to a generous donation by one of our supporters, we are now able to offer a limited set of GNU Emacs Reference mugs through the GNU Press. These ceramic mugs feature a two-color Emacs logo as well as a handy Emacs quick-reference guide. Like our Emacs Reference cards, these mugs feature all the commands needed to dive right into using Emacs. They're perfect for anyone who loves coffee (or tea!) and coding, and buying one helps support the FSF.
In addition, we are still auctioning off the remaining set of our limited-edition LibrePlanet 2012 t-shirts. If you missed out on getting a shirt at the conference, or couldn't physically make it to the venue this year, this is your last opportunity to get these shirts. They are available in regular and ladies cut styles while supplies last.
As always, if you can't find something in the store but think we should offer it, please add your suggestion to our Ideas page. And remember, associate members of the Free Software Foundation get a 20% discount on all purchases made through the GNU Press store, so if you are not a member already, join today!
How To Understand Derivatives: The Product, Power & Chain Rules [BetterExplained]
The jumble of rules for taking derivatives never truly clicked for me. The addition rule, product rule, quotient rule — how do they fit together? What are we even trying to do?
Here’s my take on derivatives:
Yes. Every part has a “point of view” about how much change it added. Combine every point of view to get the overall behavior. Each derivative rule is an example of merging various points of view.
And why don’t we analyze the entire system at once? For the same reason you don’t eat a hamburger in one bite: small parts are easier to wrap your head around.
Instead of memorizing separate rules, let’s see how they fit together:

The goal is to really grok the notion of “combining perspectives”. This installment covers addition, multiplication, powers and the chain rule. Onward!
The default calculus explanation writes “f(x) = x^2″ and shoves a graph in your face. Does this really help our intuition?
Not for me. Graphs squash input and output into a single curve, and hide the machinery that turns one into the other. But the derivative rules are about the machinery, so let’s see it!
I visualize a function as the process “input(x) => f => output(y)”.

It’s not just me. Check out this incredible, mechanical targetting computer (beginning of youtube series).
The machine computes functions like addition and multiplication with gears — you can see the mechanics unfolding!

Think of function f as a machine with an input lever “x” and an output lever “y”. As we adjust x, f sets the height for y. Another analogy: x is the input signal, f receives it, does some magic, and spits out signal y. Use whatever analogy helps it click.
The derivative is the “moment-by-moment” behavior of the function. What does that mean? (And don’t mindlessly mumble “The derivative is the slope”. See any graphs around these parts, fella?)
The derivative is how much we wiggle. The lever is at x, we “wiggle” it, and see how y changes. “Oh, we moved the input lever 1mm, and the output moved 5mm. Interesting.”
The result can be written “output wiggle per input wiggle” or “dy/dx” (5mm / 1mm = 5, in our case). This is usually a formula, not a static value, because it can depend on your current input setting.
For example, when f(x) = x^2, the derivative is 2x. Yep, you’ve memorized that. What does it mean?
If our input lever is at x = 10 and we wiggle it slightly (moving it by dx=0.1 to 10.1), the output should change by dy. How much, exactly?
And indeed, the difference between 10^2 and (10.1)^2 is about 2. The derivative estimated how far the output lever would move (a perfect, infinitely small wiggle would move 2 units; we moved 2.01).
The key to understanding the derivative rules:
The total wiggle is the sum of wiggles from each part.
Time for our first system:


What happens when the input (x) changes?
In my head, I think “Function h takes a single input. It feeds the same input to f and g and adds the output levers. f and g wiggle independently, and don’t even know about each other!”
Function f knows it will contribute some wiggle (df), g knows it will contribute some wiggle (dg), and we, the prowling overseers that we are, know their individual moment-by-moment behaviors are added:

Again, let’s describe each “point of view”:
Every change to a system is due to some part changing (f and g). If we add the contributions from each possible variable, we’ve described the entire system.
Sometimes we use df, other times df/dx — what gives? (This confused me for a while)
The generic “df” helps us see the overall behavior.
An analogy: Imagine you’re driving cross-country and want to measure the fuel efficiency of your car. You’d measure the distance traveled, check your tank to see how much gas you used, and finally do the division to compute “miles per gallon”. You measured distance and gasoline separately — you didn’t jump into the gas tank to get the rate on the go!
In calculus, sometimes we want to think about the actual change, not the ratio. Working at the “df” level gives us room to think about how the function wiggles overall. We can eventually scale it down in terms of a specific input.
And we’ll do that now. The addition rule above can be written, on a “per dx” basis, as:

Next puzzle: suppose our system multiplies parts “f” and g”. How does it behave?

Hrm, tricky — the parts are interacting more closely. But the strategy is the same: see how each part contributes from its own point of view, and combine them:
Check out this diagram:

What’s going on?
The overall change in the system (dh) is the two slices of area:

Now, like our miles per gallon example, we “divide by dx” to write this in terms of how much x changed:

(Aside: Divide by dx? Engineers will nod, mathematicians will frown. Technically, df/dx is not a fraction: it’s the entire operation of taking the derivative (with the limit and all that). But infinitesimal-wise, intuition-wise, we are “scaling by dx”. I’m a smiler.)
The key to the product rule: add two “slivers of area”, one from each point of view.
Gotcha: But isn’t there some effect from both f and g changing simultaneously (df * dg)?
Yep. However, this area is an infinitesimal * infinitesimal (a “2nd-order infinitesimal”) and invisible at the current level. It’s a tricky concept, but (df * dg) / dx vanishes compared to normal derivatives like df/dx. We vary f and g indepdendently and combine the results, and ignore results from them moving together.
Let’s say g depends on f, which depends on x:

The chain rule lets us “zoom into” a function and see how an initial change (x) can effect the final result down the line (g).
Interpretation 1: Convert the rates
A common interpretation is to multiply the rates:

x wiggles f. This creates a rate of change of df/dx, which wiggles g by dg/df. The entire wiggle is then:

This is similar to the “factor-label” method in chemistry class:

If your “miles per second” rate changes, multiply by the conversion factor to get the new “miles per hour”. The second doesn’t know about the hour directly — it goes through the second => minute conversion.
Similarly, g doesn’t know about x directly, only f. Function g knows it should scale its input by dg/df to get the output. The initial rate (df/dx) gets modified as it moves up the chain.
Interpretation 2: Convert the wiggle
I prefer to see the chain rule on the “per-wiggle” basis:
Cool. But how are they actually related? Oh yeah, the derivative! (It’s the output wiggle per input wiggle):

Remember, the derivative of f (df/dx) is how much to scale the initial wiggle. And the same happens to g:

It will scale whatever wiggle comes along its input lever (f) by dg/df. If we write the df wiggle in terms of dx:

We have another version of the chain rule: dx starts the chain, which results in some final result dg. If we want the final wiggle in terms of dx, divide both sides by dx:

The chain rule isn’t just factor-label unit cancellation — it’s the propagation of a wiggle, which gets adjusted at each step.
The chain rule works for several variables (a depends on b depends on c), just propagate the wiggle as you.
Try to imagine “zooming into” different variable’s point of view. Starting from dx and looking up, you see the entire chain of transformations needed before the impulse reaches g.
Let’s say we put a “squaring machine” in front of a “cubing machine”:
input(x) => f:x^2 => g:f^3 => output(y)
f:x^2 means f squares its input. g:f^3 means g cubes its input, the value of f. For example:
input(2) => f(2) => g(4) => output:64
Start with 2, f squares it (2^2 = 4), and g cubes this (4^3 = 64). It’s a 6th power machine:

And what’s the derivative?

The final change is:

Functions treat their inputs like a blob
In the example, g’s derivative (“x^3 = 3x^2″) doesn’t refer to the original “x”, just whatever the input was (foo^3 = 3*foo^2). The input was f, and it treats f as a single value. Later on, we scurry in and rewrite f in terms of x. But g has no involvement with that — it doesn’t care that f can be rewritten in terms of smaller pieces.
In many examples, the variable “x” is the “end of the line”.
Questions ask for df/dx, i.e. “Give me changes from x’s point of view”. Now, x could depend on something deeper variable, but that’s not being asked for. It’s like saying “I want miles per hour. I don’t care about miles per minute or miles per second. Just give me miles per hour”. df/dx means “stop looking at inputs once you get to x”.
How come we multiply derivatives with the chain rule, but add them for the others?
The regular rules are about combining points of view to get an overall picture. What change does f see? What change does g see? Add them up for the total.
The chain rule is about going deeper into a single part (like f) and seeing if it’s controlled by another variable. It’s like looking inside a clock and saying “Hey, the minute hand is controlled by the second hand!”. We’re staying inside the same part.
Sure, eventually this “per-second” perspective of f could be added to some perspective from g. Great. But the chain rule is about diving deeper into “f’s” root causes.
What’s the derivative of x^4? 4x^3? Great. You brought down the exponent and subtracted one. Now explain why!
Hrm. There’s a few approaches, but here’s my new favorite: x^4 is really x * x * x * x. It’s the multiplication of 4 “independent” variables. Each x doesn’t know about the others, it might as well be x * u * v * w.
Now think about the first x’s point of view:
Similarly,
The curtain is unveiled: x, u, v, and w are the same! The “point of view” conversion factor is 1 (du/dx = dv/dx = dw/dx = dx/dx = 1), and the total change is

In a sentence: the derivative of x^4 is 4x^3 because x^4 has four identical “points of view” which are being combined. Booyeah!
I hope you’re seeing the derivative in a new light: we have a system of parts, we wiggle our input and see how the whole thing moves. It’s about combining perspectives: what does each part add to the whole?
In the follow-up article, we’ll look at even more powerful rules (exponents, quotients, and friends). Happy math.
De Olifant in het Bad: Een interactieve iPad boek voor kinderen [FZ Blogs]
De olifant in het bad is een interactief boek voor kinderen tussen 1 en 10 jaar oud. Het verhaal gaat over een meisje, Zara en een olifant. Zara hoort een gedruppel in het huis. Vanwaar zou dit toch komen? Is er een olifant in het bad misschien? Laat je kind ermee spelen! Belletjes ploffen, de [...]
ZFS v28 [Robert Millan's blog]
ZFS v28 (finally, with deduplication) is available in latest D-I daily builds when selecting kernel of FreeBSD 9 as boot option.
Testers wanted!!
Debian GNU/kFreeBSD on production [Robert Millan's blog]
Yesterday I begun using Debian GNU/kFreeBSD “squeeze” in thorin, my main workstation.
During the last few weeks I had to work through some of the limitations that were holding me back, such automated driver load and FUSE. I was lucky enough that other people filled the missing pieces I wanted, such as NFS client support and a GRUB bugfix that broke booting from Mirrored pools.
I have to say that I’m very satisfied. Barring a pair of small nuissances here and there, the result is quite impressive:
That’s basically my personal experience as newbie Debian GNU/kFreeBSD user. Of course my perspective is very limited because I just started and yes, I am biased.
Anyway, what about yours? If you have installed Debian GNU/kFreeBSD, was it meant for production or just a “toy machine”? If you considered using it on production, did it succeed at satisfying your needs, or did something hold you back? Leave your comment!
Recent improvements with Debian GNU/kFreeBSD [Robert Millan's blog]
Debian GNU/kFreeBSD was first released with Squeeze in last february. The “technology preview” label indicated, among other things, that it had a number of limitations when compared with what users would expect: missing features, incomplete functionality, etc.
But it has seen many noteworthy improvements since then. Here are some that I would like to mention:
Diskless Debian GNU/kFreeBSD HOWTO [Robert Millan's blog]
It was completely non-obvious; In some cases I had to figure it out by reading kFreeBSD source code; I write it down here so it’s not forgotten ;-)
This is a short guide on how to boot Debian GNU/kFreeBSD via network on a diskless machine, using GRUB as the bootloader.
set timeout=1
set default=0menuentry “Debian GNU/kFreeBSD” {
echo Loading kFreeBSD …
kfreebsd /beastie/boot/kfreebsd-8.1-1-amd64.gz
echo Booting …
boot
}
192.168.1.3:/srv/netboot/beastie / nfs rw 0 0
This, however, will only work if mount_nfs(8) is in your system. And (well, too bad) it hasn’t been packaged yet. So you can copy it from a FreeBSD base tarball, along with its dependencies (/lib/libc.so.7, /libexec and /etc/netconfig).
option option-130 code 130 = text;
option option-130 “nolockd”;
Et voilà. A Debian GNU/kFreeBSD system running completely in diskless mode. Enjoy!
Finally, amd32 is taking shape [Robert Millan's blog]
When AMD launched its now widely used 64-bit architecture in year 2000, it started marketing it as a significant step forward because of it having longer word and pointer size. One just has to check the advertising material and notice those big “64″ being touted as the main improvement.
But it is commonly accepted that most applications don’t need a 64-bit address space for anything. Building them in LP64 model is just a waste of memory due to increase of pointer size. Even though this made most applications lag behind, the new architecture still was an improvement in terms of speed because of the AMD revised ISA, featuring changes like:
To summarize, most of the merit from AMD64 architecture was in fixing some of the insanity of Intel 386 ISA (instruction set architecture), rather than the increased pointer size which was a source of inefficiency most of the time.
Perhaps AMD didn’t evaluate this correctly, or perhaps its marketing side won over technical merit. However, although the new hardware is biased towards LP64 data model, it’s not actually enforced. It was a matter of time until an independent project took over and attempted to fix this, combining the AMD64 ISA with ILP32 data model.
I’ve been reading with much interest in the binutils and gcc mailing lists that such project is beginning to take shape. A port of binutils, GCC, GDB and Linux is already available. Future plans include porting Glibc which will make it possible to build a standard GNU derivative out of this.
Sadly, I don’t have the time to devote to this project myself, but I’ll continue following its progress. I’m looking forward to bringing this speed boost to my machines.
About ZFS in Squeeze (2) [Robert Millan's blog]
Sometimes it’s nice being wrong. Contrary to what I predicted, ZFS will be supported in Debian Squeeze using the official installer.
This means that Debian Squeeze will be one of the first GNU distributions to support ZFS.
In fact, even though ZFS support didn’t make it to Debian-Installer beta1 by the time it was released, it is now available in the netboot images (this happens because netboot images fetch newer installer components from the internet).
As a consequence of this my unofficial installer can now be considered obsolete.
So why did I say something that turned out to be grossly inaccurate? It’s not due to anyone’s fault really. At that time, the version of Parted that included ZFS detection hadn’t migrated to Squeeze. The unblock policy didn’t appear to allow this migration. However, the Release Team kindly decided to make an exception that allowed this, and after Parted had migrated the changes in Debian-Installer itself went in quite smoothly.
Re: The Freaky Wall [Robert Millan's blog]
Heya Sergio
Your blog doesn’t allow comments :-( so I reply here. First off, thanks for being one of the first Debian developers in trying out my modified installer with ZFS support, you guys made my day!
Some quick notes on the bugs you found:
The “missing //@ prefix” bug is #600578, fixed in upstream, in sid and in squeeze. Thanks :-)
The “boot partition stays in /target/boot in final install” bug is not in BTS. It was present in a preliminar version of partman-zfs which was never uploaded. The version currently in the archive correctly uses “altroot” option to fix this.
The “/lib/modules is needed for boot” problem was reported as #600568, but I haven’t been able to persuade the kFreeBSD maintainers that this is necessary. It’s not critical anyway.
Glad you finally got a working setup.
Generated by rawdog