Start a Math Library for 50$ (and a penny)

Auto Date Sunday, December 28th, 2008

There are several great lists on well-written mathematics books on Amazon and other sites, but they all cost hundreds to thousands of dollars. There is nothing for the poor, aspiring mathematician on a budget. So here, for first time, is a collection of books that are inexpensive and meet the following criteria:

  • Extremely well-written with clear presentations
  • Easily read in discrete chunks
  • Beautiful and plentiful illustrations
  • Breadth and depth of subject matters
  • Accessible to anyone who has mastered Calculus

The different books in the library are diverse and filled with everything from brilliant expositions of modern mathematical topics, original papers by the greatest mathematicians in history, and popular mathematical puzzles and games.

Mathematics: its content, methods, and meaning. The first book on the list was the Princeton Companion to Mathematics of it’s day. With contributions from some of the greatest mathematicians of the last century, Mathematics: its content, methods, and meaning, covers everything from real analysis to group theory. At over 1000 pages and filled with illustrations, it is an extremely accessible introduction to several mathematical subjects.

Mathematics: its content, methods, and meaning

At the time it was published, Professor Morris Kline called it an ” … amazing panorama of mathematics proper … the best answer in print to what mathematics contains both on the elementary and advanced levels.” On Amazon, the Dover edition will set you back $25.71 (I purchased it for approximately $10 during a sale) and the 1963 MIT 3 Volume set will set you back $13.88.

God Created the Integers. Edited by Stephen Hawking, this 1300 page volume contains the original works of mathematicians from Euclid to Kurt Godel.

God Created the Integers

Reading the original works of great mathematicians is important for several reasons. One of the most important is that it reveals the very human and creative nature to mathematical discovery. Mathematics is more enjoyable when one interacts with the original documents with all their quirks and experiences firsthand how much art and creativity is involved in the process. I recently purchased a new copy for $3.99 at Borders. Used copies sell for the same amount on Amazon ($4.39 currently).

The Road to Reality. For applied mathematics, I originally was going to complement the above with Hawking’s “On the Shoulder of Giants” which has many of the original works of Physics. This would have kept the price under $50. Physics does not age as well as Mathematics, though, so I have substituted “The Road to Reality”. Penrose’s book provides a modern and accessible introduction to modern physics and applied mathematics.

The Road to Reality

Reading this book, one feels like a graduate student in Oxford listening to Penrose give a lecture on an English afternoon. It is beautifully illustrated and the mathematics used in modern physics is carefully and intuitively laid out. It can be purchased for $14.72 used on Amazon.

The Colossal Book of Mathematics.The most playful book on the list is by one of the greatest popular mathematics writer of this and the last century — Martin Gardner. I grew up reading his columns in old Scientific Americans in my high school. Gardner knew better than anyone how to make mathematics fun, how to recapture that moment when you first realized how beautiful and unexpected its results could be.

The Colossal Book of Mathematics

This book contains his best columns over several decades, from Surreal Numbers to the Game of Life to Penrose Tiles and the Plainiverse. It’s a wonderful book and can be purchased used for only $15.60 on Amazon. And, of course, it is filled with the same beautiful illustrations as the others.

How to Lie With Statistics.The final book on the list is not a formal introduction to statistics (see Kolmogorov in Mathematics: its content, methods, and meaning for that), but it critically teaches skepticism towards the application of mathematics. It is also very fun and can be the book in your library that you can lend to friends.

Statistics

Statistics - like many mathematical disciplines - is widely misused. Anyone who reads this book and anyone can will be able to discern when politicians are lying, even when they are talking about subjects the listener knows nothing about. In medicine, readers will be able to discern which procedures have no medicinal value even when backed up by studies. Whether the subject is crime, sports, immigration, or the environment, this book will provides a magic decoder ring to detect when numbers are being used to mislead rather than inform. It can be purchased used on Amazon for $1.42.

Altogether, the total comes to $50.01 for over 4,000 pages of mathematics if you buy used. And it’s only slightly more if you buy new. If you are on a budget, you will not regret buying any of these books, even with the free resources of Wikipedia and Arxiv.

Wisława Szymborska

Auto Date Sunday, December 21st, 2008

Wislawa Szymborska has long been one of my favorite poets.

Szymborska

The Ball

As long as nothing can be known for sure
(no signals have been picked up yet),
as long as Earth is still unlike
the nearer and more distant planets,

as long as there’s neither hide nor hair
of other grasses graced by other winds,
of other treetops bearing other crowns,
other animals as well-grounded as our own,

as long as only the local echo
has been known to speak in syllables,

as long as we still haven’t heard word
of better or worse mozarts,
platos, edisons somewhere,

as long as our inhuman crimes
are still committed only between humans,

as long as our kindness
is still incomparable,
peerless even in its imperfection,

as long as our heads packed with illusions
still pass for the only heads so packed,

as long as the roofs of our mouths alone
still raise voices to high heavens–

let’s act like very special guests of honor
at the district-firemen’s ball
dance to the beat of the local oompah band,
and pretend that it’s the ball
to end all balls.

I can’t speak for others–
for me this is
misery and happiness enough:

just this sleepy backwater
where even the stars have time to burn
while winking at us
unintentionally.

~ Wislawa Szymborska ~

Sharing Open Source

Auto Date Monday, December 15th, 2008

The latest release of LINA has several new features, but the most important one is that it enables Open Source software to be shared in a new way - virally. Now, ordinary people can share Open Source programs with each other as easily as they share photographs and music.

Emailing Open Source

There is no need to worry which operating system Sandy is running because the attachment is a universal installer containing the universal Linux binaries that make up the OrangeHRM application. It will install on any operating system LINA is installed on — Windows, Mac OS X, or UNIX.

A Year with Frog

Auto Date Monday, December 15th, 2008

So, Frog and I have spent a year together and I’m pretty convinced that I have the world’s best dog. Of course, I was convinced that my last dog was the world’s best dog so I’m pretty biased.

Two of my three impressions of Frog were right - he’s amazingly sweet, still has webbed feet, but is not as fond of water as I originally thought. He does like Frisbees, though — I have no idea how he managed this:

Frog and the Frisbee

He also likes to bury bones which I had only seen in old Loony Toon cartoons before having him. I try to discourage so he plays innocent, not aware that he’s wearing the evidence.

Frog digging

Frog fell in love with the upstairs dog, Sadie, the first few months at the new house.

Frog, Sadie, and the Waterbowl

He knew she liked toys, so he would bring a toy to the top of the stairs and stay there pining for her. When that didn’t work, he would bring toy after toy to the top of the stairs in the hopes that if he produced enough she would appear. And there he would wait.

Frog Pining

And sometimes, his magical thinking would pay off:

Frog and Sadie

Lately, Frog’s been mentoring a puppy that my parents adopted, Clover. Clover is an amazing ball of energy and most resembles a mosquito the way she gets in Frog’s face. Clover worships Frog and Frog is amazingly patient with her. He’s been trying to teach her basic games like chase and tug of war. It’s fascinating to watch him dangle a rope in front of her and gently tug it away. Again and again, until she starts tugging and he gently tugs back.

Frog and Clover

Unmentioned in all this is how sweet Frog is with me and the rest of the LINA crew. I think all of us have experienced him placing his head on our foot and trying to fall asleep. The deaf dog way of saying I like you and I want to know when you’re going to leave.

The Binary is the Network

Auto Date Monday, December 3rd, 2007

One of the more enjoyable surprises we encountered making linafy - the Installer generation tool - was its transition from a service to a binary. We had originally envisioned that users would send files to a machine on our site and installers would be created on their respective Windows, Mac OS X, and Linux machines.

The first insight was that we could eliminate the Windows and Mac OS X machines by taking advantage of tools that exist on Linux. To accomplish this, we created installer templates for each operating system that comprised:

  • a Mac OS X Template DMG that contained a Templated Mac OS X pkg file
  • a self-extracting Windows installer template that could be compiled using NSIS

The key to making this work was several small insights - like creating the proprietary .bom file in the preflight script on Mac OS X - and great Open Source programs like NSIS that enable us to make Windows installers on Linux.

Windows Welcome Installer

About halfway through the coding process, it became clear that - if the service only required a Linux machine, then it didn’t need to be a service at all. LINA, after all, can run Linux programs on any operating system. Since the Installer Service was a collection of Linux programs, resources, and kernel modules, that meant that if it was converted into a LINA binary, it would be able to run cross-platform on any operating system.

Linux Installer Progress Bar

And that is how the complex network of Windows, Mac OS X, and Linux machine that defined the LINA installer service became the linafy command that can run on any end-users operating system. Instead of providing access to a network of computers, we can simply send user’s a universal cross-platform Linux binary that can generate installers for any platform.

Mac OS X DMG

What I find so beautiful about this is it’s illustration of the power of the LINA platform. In many ways, LINA Package is the first program written specifically for LINA and it solves problems in a way that are very difficult to accomplish on the JAVA and .NET platforms. In particular, it integrates several resources that normally cannot run cross-platform including:

  • Linux kernel modules to mount the HFS+ DMG partition
  • The NSIS program as a native Linux C program
  • Tools like tar and gunzip that are part of the LINA Package universal binary but invisible to the end user
  • User space in which all of these programs can run and interact.

LINA enabled us to convert our initial requirements from a network of different operating systems to a single binary. The code is in our repository and can be found in the directories src/toolkit/lina-tools/lina-package, templates/installer, and src/libraries.

Testbed - Simple Distributed Builds

Auto Date Tuesday, November 20th, 2007

Tomorrow, we’re going to be performing our first test of our testbed software. Testbed creates a distributed build of LINA for several different operating systems.

The code behind Testbed is intentionally simple with a master python script, a build script, a script to send results, two shell scripts to automate key exchange, and a star topology.

Network topologies


Testbed works by sending a virtual disk image of an operating system that we are testing to one of the remote computers in the testbed network. The host computer then boots the virtual disk using a virtual machine to start up the foreign operating system that we are testing. Next, the build script is sent to the foreign virtual operating system and LINA is built on that operating system.

Foreign Virtual Operating System

Although simple, the appeal of Testbed is it’s ability to automate our builds and tests. It will enable us to scalably support new operating systems and radically increase our productivity in debugging LINA in new and existing environments.

Operating Systems

Open Source Release

Auto Date Tuesday, October 2nd, 2007

We released the source to LINA a little over a week ago, a major milestone for both our project and our company. For those who have been following, there is now:

Open Source Logo

The Roadmap enables members of the community to track releases and participate in the direction of LINA. Each release is on a short two to three week development schedule. The next three releases are:

  • Release 0.71 - fixing build bugs on different platforms, adding checkpoints during the build, and fixing a few remaining bugs from our transition to native Windows binaries
  • Release 0.72 - improving the tools used by developers to create LINA packages (we can make them radically simpler - essentially automatic - if we make them a smarter in analyzing installs).
  • Release 0.73 - a subset of the LINA APIs and developer binaries for easy installs on Windows, Mac OS X, and Linux

0.73 is the critical release for us - it’s the point at which we will have LINA to a state that the larger Open Source community can easily use LINA to create universal binaries of their programs for every platform.

Frog

Auto Date Sunday, September 16th, 2007

We’re going to be opening up our source code repository in the next three days under a GPL/commercial license. In the meantime, I have a new member of my family: Frog.

Paakwa on bag

I adopted Frog from the Bay Area Pet Fair, a wonderful annual event in which dozens of adoption agencies bring the animals they have up for adoption. I spent time with several dogs there and Frog was a sweet, smart, amazing dog that stood out. I named him “Frog” because he is very sweet, has webbed feet, and a frog-like nature towards water.

Bay Area Pet Fair

His webbed feet (which go to the top of his toes like a frog or duck) are standard on Catahoula Leopard Dogs. Catahoulas are descended from Spanish war dogs and the Red Wolves of North America. They have merle coats like Australian Shepard and when they have blue eyes, eighty percent of the time they are deaf.

Blue eyes

I wasn’t planning on adopting a deaf dog, but Frog mercilessly stole my heart as I spent time with him. He’s still a puppy, but there’s a gentle, open, and protective side to him. There’s also a somewhat wild side, perhaps because he wasn’t treated well at his previous home and was a stray when he escaped. I’m working to tame that wild side and researching the ins and outs of raising a deaf dog, including sign language.

Living With A Deaf Dog
Frog is adjusting well to his new home. As an example, this is his bed which we carefully picked out together after considering several different options.

Paakwa’s bed

And this is where he really sleeps (I decided to let him because it’s nice to have him next to me when I read).

Paakwa’s Real Bed

Back from OSCON

Auto Date Sunday, July 29th, 2007

This was my second time to Portland and I still find myself wanting to move there every time that I visit. Portland has a great culture, an amazing public transportation system downtown, and of course Powell’s.

Powell’s Books

Powell’s is like Amazon in the flesh. It’s the size of an entire city block and four stories tall. Laid out like an amusement park for book lovers, I could get lost in Powell’s for hours.

I was not able to attend many sessions at OSCON this year, but I did manage to see the State of the Onion in person which I have wanted to see for years.

From OSCON 2005, (c) by Duncan Davidson under the Creative Commons Attribution License

I bumped in to Larry Wall later at a party and he’s as nice and quirky as he seems on stage. It was fun picking his brain on language design, since he brings such a different perspective to programming.

Aside from the State of the Onion and practicing our presentation, we spent most of our time at our booth, answering questions about LINA, putting our booth’s sticker on the contest sheet, and raffling off our LINA mugs.

Lina Mug

We met developers who wanted to run their Open Source applications on Windows, businesses that wanted to reach the Windows market, and dozens of people who just wanted a sticker for the contest.

Saill and I also gave a presentation on LINA - Cross-platform Linux Binaries on Thursday. Saill shined as she explained what LINA was and how we had implemented its internals.

LINA Platform Evolution

I focused on the future of LINA. As the first cross-platform Virtual Operating System, LINA opens up many possibilities in programming. We’ll post the updated presentation sometime later this week for those who were unable to attend.

LINA is not an acronym

Auto Date Thursday, June 7th, 2007

LINA Logo

On Slashdot and several blogs, many people have commented on our product name and our definition of it: LINA is not an acronym or LINA Is Not an Acronym. Most of the commentary is true - LINA is intended as a humorous pun on standard free software naming conventions (GNU’s not Unix, WINE is not an emulator, etc.) and the name LINA was chosen originally because we liked the sound of it.

LINA is also a recursive mathematical paradox about truth and is meant as a tribute to a twentieth century mathematician: Kurt Godel. Kurt Godel is famous for his incompleteness theorems, two of the deepest proofs in mathematics.

To understand their significance we have to step back in time to the city of Vienna, the cultural and intellectual center of the world in the early twentieth century. Godel was part of one of the most famous philosophy clubs in history: the Vienna Circle. Many of the great thinkers of Vienna were part of the Circle: Wittgenstein, Rudolf Carnap, and Otto Neurath among others.

Einstein and Godel

With the exception of Godel, the Vienna Circle believed in a philosophy known as logical positivism. One of the core tenets of logical positivism is that a statement could only be true if there was a finite set of steps that could verity its truth. This tenet may seem innocuous, but it was a wrecking ball to many standard metaphysical, scientific, and theological beliefs. God, numbers, and many other entities were eliminated because they could not be proven in a finite number of steps.

Godel was a skeptic of logical positivism. As a mathematical platonist, he believed the entities he worked with - integers, logical statements, irrational numbers, derivatives, curls, etc. - did not just exist in his mind, but in a separate mathematical reality. Many mathematicians, even today, are mathematical platonists. They do not believe that they are playing language games when they make mathematical discoveries, but discovering truths about the objects in this mathematical reality. The physicist Roger Penrose, whose illustration appears below, is a mathematical platonist as is Martin Gardner.

Godel wanted to prove that mathematical platonism was true. Historically, such an endeavor would have been philosophical, but Godel wanted to find a mathematical answer to the metaphysics of mathematics. This was an extraordinary goal because while the tools of mathematics are useful in discovering the properties of mathematical objects, it was not at all clear how they could be used to answer questions of their existence in an independent reality.

Mathematical Platonism

His approach was quite beautiful. If mathematical objects did not exist independently, then they should be definable solely in terms of what could be proven about them. That is, they should have no properties outside of the system being used to examine them. So if Godel could prove that that some mathematical objects always had properties that could not be proven in whatever formal system they were being examined in, then he could prove that those mathematical objects were independent of the systems being used to examine them. This proof would demonstrate, Godel believed, that mathematical objects had an independent existence.

In his incompleteness theorems, Godel began by creating a metalanguage in the natural numbers (whole numbers greater than zero) that encode proofs as arithmetical statements concerning the natural numbers. This allowed arithmetical statements to be statements about mathematics: i.e., it allowed mathematics to talk about itself. He then encoded the statement “This statement is not provable” as an arithmetical statement. The not-provable statement was a mathematical variant of the liar’s paradox (”This statement is not true”, “All Cretans are liars”, etc.). If it was provable, then there would be a contradiction in the system since it asserted it was not - a fatal flaw. If it was not provable, then the system would be incomplete (unable to prove all of the properties of its objects). Since the statement was also an arithmetical statement concerning the natural numbers, that meant that an arithmetical statement that was not provable could always be constructed in any consistent system rich enough to contain the natural numbers.

In this way, these incompleteness theorems proved that the natural numbes always had properties that could not be proven in any formal system rich enough to contain them. They directly disproved logical positivism and, as explained above, Godel believed they also demonstrated the truth of mathematical platonism. Whether or not one accepts this interpretation, Godel’s use of the tools of mathematics to make metaphysical arguments about the existence of mathematical objects is beautiful, astonishing, and utterly unique.

As a tribute to Godel, LINA uses the liar paradox, but in a different way. LINA is a recursive expansion that at each level is paradoxical in the form of a liar’s paradox (LINA Is Not an Acronym). What makes it interesting is that as the expansion of LINA approaches infinite recursion it suddenly flips and the entire definition becomes true. Let’s start with some examples to pump our intuition.

In the first expansion of LINA, we have:

LINA = LINA is not an acronym

In the second expansion:

(LINA is not an acronym) INA = (LINA)INA = LINAINA

And in the third:

(LINA is not an acronym) INAINA = (LINA)INAINA = LINAINAINA

At this point, we have a good idea what is happening. Each time we expand LINA to LINA is not an acronym, the statement is paradoxical at that point. However, at the next expansion, the L is pushed back and the statement at the previous expansion becomes true since INA != LINA.

Since the above expansions are strings not numbers, we can turn them around without loss of generality and index positions in the expansion string from right to left rather than left to right. This will allow the L to be pushed away from us positionally, rather than towards us. For example, in the second expansion of LINA, the L would be at position 7:

L I N A I N A
7 6 5 4 3 2 1

whereas in the third expansion it would be at position 10:

L I N A I N A I N A
10 9 8 7 6 5 4 3 2 1

If it helps, one can picture the expansion happening from left to right instead.

A N I A N I L
1 2 3 4 5 6 7

Escher HandsWith this positioning, it now becomes clear that as the acronym expands, the L gets pushed farther and farther out. We now have all of the pieces needed to examine LINA formally. Let’s define an acronym operator A that recursively expands an acronym. We can represent the nth expansion of LINA as:

FigureRender Error: Cache directory not writable!

FigureRender Error: Cache directory not writable!

FigureRender Error: Cache directory not writable!

By our numbering system, in the above formula, L would be at the (n*3) + 1 position. Assume now that L appears in the expansion as n approaches

FigureRender Error: Cache directory not writable!

. Then this must mean that there must be some position k that L is guaranteed to always appear before as the expansion occurs. But this is false, because we can simply set n to k%3+1 and that will push the L past position k. In this way, for any k in the natural numbers, we can always prove that L does not appear at that position. Thus, L is not in the infinite expansion of LINA. More formally, the limit as n approaches infinity of the nth expansion of LINA is:

FigureRender Error: Cache directory not writable!

=

FigureRender Error: Cache directory not writable!

= INAINAINAINA…

So, the paradox disappears as you approach infinity because there is no L in the expansion. LINA is not an acronym. Nor for that matter are GNU, HURD, WINE, etc. The first letter in all of these acronyms is eliminated as they approach infinite expansion for the same reasons that:

FigureRender Error: Cache directory not writable!

FigureRender Error: Cache directory not writable!

0.9999 … = 1

The most popular book on Godel - which contains some wonderful analogies - is the Pulitzer Prize winning Godel, Escher, Bach by Douglas R. Hofstadter. The Dover version of Godel’s original proof and a highly recommended exposition of the proof by Ernst Nagel et. al can be found on Amazon. Different versions and perspectives on the liar paradox can be found in this Wikipedia article. Although some have complained about its mathematical inaccuracies and speculative psychology, I nonetheless throughly enjoyed Rebecca Goldstein book on Godel and the Vienna Circle, Incompleteness.

LINA in 30 seconds

Auto Date Thursday, May 31st, 2007

We just returned from OSBC and our launch of LINA, the software that we have been developing for the past four years. We’re pretty excited about it, but we knew we were going to be the last speakers at OSBC and that everyone would already be pretty burned out from technical talks.

So, instead of ending with one more technical talk, we explained the LINA business case using stick figures and demoed the product on the Mac. Here’s the Open Source world:

Open Source World

There are thousands of open source applications. Tens of thousands depending upon how one counts them. Among them are enterprise applications like JBoss, MySQL, Linux, Apache, SugarCRM, user applications like FireFox, OpenOffice, Inkscape, Scribus, and developer tools like GCC, Subversion, and Vim. Everyday these applications and their cousins grow in functionality, their numbers increase, and they enter more and larger business ecosystems.

Open source development is accelerating, but there’s a problem: With the exception of FireFox, over 95% of users are not using open source applications because they use Windows or Mac OS X.

Everyone else

LINA began several years ago with the realization that no one in our families used open source software. Personally, my mom didn’t use it. Nor my dad. Nor my brother. Nor anyone in my extended family. We know the twenty businesses next door to us well enough that we know if we walked around the entire block, we would be the only business using open source.

And we’re located in the Bay Area. We are at the epicenter of the open source revolution, but no one outside of IT is aware that the revolution has even occurred. Because, in many ways, it hasn’t for them. The hurdles that a user has to jump over to get Open Source working on these platforms are too high and even when one of them does work, it’s seldom natively integrated. The cost savings have been extraordinary for the users that have been able to move to Linux, but the overwhelming number of user are on the other side of the chasm. The world as we looked at it four years ago appeared like this:

Open Source Chasm

Thousands of amazing open source applications, hundreds of millions of Windows and Mac OS X users, and a giant chasm between them. Only by switching to a free UNIX operating system could businesses and users experience the cost savings of open source software. But this is beyond the ability of most businesses and consumers. It is like attempting to jump across the chasm.

So we spent three years coding a bridge: LINA crosses the chasm.

LINA crosses the Chasm

LINA enables Open Source Linux applications to run with native look and feel and native integration on Windows and Mac OS X. LINA brings the massive and growing body of Open Source software to the majority of the world’s computer users now. No need to learn a new operating system. No need to know how to compile. Just download, install, and use.

Open source now. Open source everywhere. Open source for everyone.


Calendar

March 2010
M T W T F S S
« Dec    
1234567
891011121314
15161718192021
22232425262728
293031  

Polls

  • Blogroll