Content from 2008-06

Lingering Promises
posted on 2008-06-30 03:34:06

So, where the hell have I been? I mean, I haven't posted in almost two weeks? What's worse is that I've promised posts on education, governance, my attempt to nail down my own philosophical views and more programming stuff. All of them are at different stages of completion.

The fact that nothing has made it's way up here makes me feel lazy though and the fact is I've been working quite hard but on different things. As I've noted here, the real world does suck it out of you. Part of that is that my job of late has drained me rather than energized me. I'm looking to rectify that. Thankfully the 4th of July is coming up. Those long weekends are always nice.

Things are about the same at the house as they have been. I feel like I'm learning a decent amount by being on my own though and I'm constantly reminded of how wonderful the people in my life are and how much I love them. Hopefully, I'll get more time to work hard, be productive and be incredible in my own right.

Also, Wall-e is fantastic and one of the best movies I've seen in a long time. It's just beautiful so go see it. Remember to love.

Seeking a Net Win
posted on 2008-06-19 03:36:05
Things have been really crazy lately. I've been trying to do so much and it really is hard. The real world finds ways to eat most of the time you have. It makes you small. It's gotten to the point where it's hard to find time to do anything other than maintain a few precious friendships and keep the bills paid and the house clean.

That said, I'm trying to push forward. I've gotten in touch with some professors at Northeastern University where I'd very much like to study Computer Science in Fall of 2010, ideally. I also wrote code today for the first time in three weeks. It's hard to find the time, man!

More immediately I'm looking for a new job and have an interview tomorrow morning. For a variety of reasons I'm just not pleased with my current job and I think I can grow more and be happier elsewhere. Cross your fingers for me.

Finally, Jonathan Zittrain was on The Colbert Report tonight talking about his book, The Future of the Internet and How to Stop It. I heard about it in advance and was very excited to see him speak. Unfortunately, I feel that he really botched the interview and I got into a long discussion with Ben about it. I'm pretty disappointed because there are important political issues about technology but they're rarely communicated to the public coherently and concisely and I'm no good at it myself.

I'll probably try to think of a good way to present it and give a fuller update in the next few days though. If I don't get bogged down with the promised education post or the emerging philosophy post or the big easy posts that is. Or hell, SICP 2.1. Yeah, right.
A Computer Science Undergraduate Education for Under $1,000
posted on 2008-06-09 18:52:59
In the style of my former post on a Math Undergraduate Education, this post proposes a list of texts suitable for a rigorous and well-rounded foundation in Undergraduate Computer Science. A future post will cover the philosophical details and practical implementation of such an approach.

This list skews towards theory rather than practicality (or Computer Science as opposed to Programming, if you prefer) but tries to maintain a suitable balance. Consequently, outside study of particular languages (e.g. ruby, php, html, css, javascript, erlang or haskell, python or lua) is assumed. It is advised to work on practical projects (setting up source code repositories and servers, open source software contribution, web development, etc) as applicable since these subjects are covered at best loosely during the course of study.

This list of 24 texts costs about 900 dollars when bought used off of Click on the book's title to get forwarded to it's page. The ordering of the list loosely conforms to increasing difficulty but it is not a recommendation as to structure. I will probably delve into those details in the aforementioned future post.

How To Design Programs by Matthias Felleisen, Matthew Flatt, Robert Findler and Shriram Krishnamurthi
Structure and Interpretation of Computer Programs by Harold Abelson and Gerald Sussman
Paradigms of Artificial Intelligence Programming by Peter Norvig
Algorithms by Sanjoy Dasgupta, Christos Papadimitriou and Umesh Vazirani
Introduction to Algorithms by Thomas Cormen, Charles Leiserson, Ronald Rivest and Clifford Stein
Computer Networks by Andrew Tanenbaum
Programming Language Pragmatics by Michael Scott
Computer Organization and Design by David Patterson and John Hennessy
Introduction to Computing Systems by Yale Patt and Sanjay Patel
Operating System Concepts by Abraham Silberschatz, Greg Gagne and Peter Galvin
Operating Systems: Design and Implementation by Andrew Tanenbaum and Albert Woodhull
The Humane Interface by Jef Raskin
Code Complete by Steve McConnell
Real-Time Rendering by Tomas M'Oller
Artificial Intelligence by Stuart Russell and Peter Norvig
Introduction to the Theory of Computation by Michael Sipser
Modern Cryptography: Theory and Practice by Wenbo Mao
Hacker's Delight by Henry Warren
Purely Functional Data Structures by Chris Okasaki
Compilers: Principles, Techniques, and Tools by Alfred Aho, Monica Lam, Ravi Sethi and Jeffrey Ullman
Lisp In Small Pieces by Christian Queinnec
Programming Languages: Application and Interpretation by Sriram Krishnamurthi
Types and Programming Languages by Benjamin Pierce
Concepts, Techniques, and Models of Computer Programming by Peter Van Roy and Seif Haridi

There are a few caveats to this list that should be noted.

1) As mentioned it does not presume to teach language-specific or platform-specific knowledge. It is slanted towards theory and books on how to write C or HTML, do Linux Kernel Development or learn the Win32 API, or work with OpenGL or TCP/IP should be purchased separately.

2) Since it does not deal heavily with specific languages, it does not make any prescriptions about what languages one should know. Generally, I believe it's good to know a language which epitomizes each of the major programming paradigms whether these paradigms are valid or not (as Krishnamurthi posits in PLAI). This means at least one OO language, one stack-based language, one functional language, and one logic/constraint language. I'd recommend Smalltalk for Object Orientation, Forth for a stack language, Erlang or Haskell for a functional language, and Prolog for a constraint language. Beyond that it would probably be reasonable to learn C as a good representation of the von Neumann architecture and "for culture" and hypothetically python, perl, or ruby to learn a web/glue/scripting language.

3) The list could certainly be shorter. It leans towards functional programming, lisp, and programming languages due to my own personal interests and some material could be omitted from those areas correspondingly. Notably, Distributed Systems and Databases are conspicuous absences from my list. This is because I have yet to find any sort of consensus about quality books on either subject. I'm not interested in Databases but I'm certainly interested in Distributed Systems. Computer Networks is about as close as this list gets.

The beauty of this list, if there is one, is that the basis is strong enough that one could jump off in any direction after it's completion. If you were interested in video games get more books on rendering and physics, if you're interested in cryptography and security get more books on that, etc, but the foundation should be strong enough for any direction you'd like to go in. This list may get updated in the future. It's far from perfect but it does seem to me like a pretty reasonable place to start.
A Math Undergraduate Education for Under $1,000
posted on 2008-06-09 15:21:48
In the next few days, I'm hoping to write an article about education that serves as a follow up to Towards a new HR and Secondhand Standards. It will explain a bit more about the feasibility and philosophy behind this post.

All this post is meant to do is propose a list of texts that are rigorous and provide a well-rounded foundation in Undergraduate Mathematics. Be forewarned that it leans more towards Algebraists than Topologists. Lest anyone think I'm a total quack I plan to eventually work through all of these myself and have been researching which math texts are good on and off for a few months now. Autodidacticism (to my thinking) doesn't work without good books. I also have a list for an Undergraduate Computer Science education but I'm not quite done with it.

There are 20 texts and their total cost is about 700 dollars when they're bought used off Amazon. This also covers most all of what you would learn in High School Mathematics. Click on the book's title to get forwarded to it's page. The ordering of the list loosely conforms to increasing difficulty but it is not a recommendation as to structure. I'll probably go into such details at a later date.

What is Mathematics? by Richard Courant and Herbert Robbins
How to Solve It by G. Polya
How to Prove It by Daniel Velleman
Algebra by I.M. Gelfand and Alexander Shen
Functions and Graphs by I.M. Gelfand, E.G. Glagoleva and E.E. Shnol
The Method of Coordinates by I.M. Gelfand, E.G. Glagoleva and A.A. Kirilov
Trigonometry by I.M. Gelfand and Mark Saul
Calculus by Michael Spivak
Discrete Mathematics and it's Applications by Kenneth Rosen
Introduction to Probability by Dimitri Bertsekas and John Tsitsiklis
Introduction to Linear Algebra by Serge Lang
Linear Algebra by Serge Lang
A Mathematical Introduction to Logic by Herbert Enderton
A Classical Introduction to Modern Number Theory by Kenneth Ireland and Michael Rosen
Topology by James Munkres
Topics In Algebra by I.N. Herstein
Algebra by Michael Artin
Ordinary Differential Equations by Morris Tenenbaum and Henry Pollard
Principles of Mathematical Analysis by Walter Rudin
Concrete Mathematics by Ronald Graham, Donald Knuth and Oren Patashnik
Rilke via O’Reilly
posted on 2008-06-09 14:22:25
I haven't posted, read or written much poetry in a while. I've been focused on other things and while I'm happy about how I've chosen to focus my energies I miss poetry. With that in mind, I stumbled across a Rilke poem this morning thanks to Tim O'Reilly and decided to reproduce it here.

Archaic Torso of Apollo
We have no idea what his fantastic head
was like, where the eyeballs were slowly swelling. But
his body now is glowing like a lamp
whose inner eyes, only turned down a little,

hold their flame, shine. If there weren't light, the curve
of the breast wouldn't blind you, and in the swerve
of the thighs a smile wouldn't keep on going
toward the place where the seeds are.

If there weren't light, this stone would look cut off
where it drops so clearly from the shoulders,
its skin wouldn't gleam like the fur of a wild animal,

and the body wouldn't send out light from every edge
as a star does...for there is no place at all
that isn't looking at you. You must change your life.
The Obligatory New House Post
posted on 2008-06-04 19:36:53
Well, I've been talking about doing this for a while but I'm just now getting the time to sit down and do it. For reasons of security, this will not be a full photo tour of the house. Only a few photos of the interior and exterior. If you want to know where I live (the address to drop by or what have you), do feel free to ask. Particularly, It's easier to get me to tell you if I already know you somehow.

So, living in the house is really nice. I like my roommates, I like the location, I like the price, I like the Static IP from my ISP that keeps this website up. I'm in the basement of the house and I think that's awesome. One reason is that it stays pretty cold down there and I like it relatively cold. Another is that the downstairs is just a bedroom, bathroom, and a combination kitchen/living room with a washer/dryer room off to the side. I think of it almost like a studio apartment separate from the upstairs and that's perfect for me. We also have newer appliances than the upstairs folks. The biggest problem is just keeping it clean, mostly because my roommate Ben has some...deficiencies when it comes to taking care of himself (cooking + cleaning, frankly). I knew that from rooming with him at Oglethorpe though so it hasn't been a surprise. Any messiness in these photos beyond the floors needing to be mopped I attribute to him. :-)

Beyond here there be dragons...or something like that. Click for the photo tour.

So, this is the house from the outside. Innocent Home

It's a cozy place to hang your head. While you're wondering about the exterior I'll just mention that we have a fabulous screened in porch and patio in the back...


And the basement generally looks something like this when I come home. At least the couch and chair are comfortable.

Perhaps my favorite thing in the house and certainly something my roommate and I have enjoyed discussion and heated debate over is the library. We have a bookshelf each stocked with pure goodness (according to our own tastes, of course). We've argued about more than books though. I recently attempted to rigorously argue that books should be sorted categorically on the shelves as opposed to by size or author. Clearly, we have way too much fun being nerds. For future reference, his bookshelf is on the right and mine is on the left.

Sexy Shelves

Clearly, mine is better. The top shelf is devoted to The Watchmen (Don I've contemplated buying you a copy. You should definitely read it...), skateboarding photo annuals, video game strategy guides, novels and biographical works of individuals and companies. The second shelf from the top is devoted to popular science, political science and philosophy, essays, short stories and poetry.

Top 2 Shelves

The third and fourth shelves are quite excellent themselves. The fourth is certainly the pride and joy of my collection thus far being my programming shelf. The gold book that's somewhat difficult to read is Dasgupta et al's Algorithms, by the way. The third shelf is devoted to Open Source, Intellectual Property Law and Mathematics. I'm planning to write articles soon on "ideal" self-study undergraduate book collections for Computer Science and Mathematics. Keep an eye out.

Bottom 2 Shelves

With that out of the way let's proceed into the bedroom dungeon.

The Bedroom Dungeon...

To be honest, I sleep here maybe once every few weeks hence my bed being unmade. I'm mostly upstairs with one of my, er, roommates whom you ought to know by now... (hint). I have the far bed and Ben has the near one. It's hard to tell in this shot but his side is vastly dirtier than mine especially with regards to things on the floor. I'm omitting other photos to avoid embarrassing him (read: BANDWIDTH USAGE!!!). Let's proceed to the kitchenette thingy...

Kitchenette thingy...

And from here the fridge is behind you and the kitchen sink is to your right (I'll spare you). The bathroom I've succeeded in keeping clean but you don't get to see it unless you come over. What you will see, in all likelihood, is me trying to stay productive and have fun at my usual workstation spot. I look forward to seeing you.

The Usual Spot...
A Gaping Conditional (Void)
posted on 2008-06-03 18:06:47
If (hierarchy == Corporate Heirarchy) { //then...

Same Cross, Different Nails;}

I actually like my job a good deal. I've been meaning to post this for a while though. I just felt like you could do conditional statements with the gapingvoid comics. It's frightening stuff and I've never been quite sure what to make of it.

This blog covers 2015, Books, Butler, C, Dad, Discrete Math, Displays, Education, Erlang, Essay, Gaming, Gapingvoid, HTDP, Hardware, IP Law, LISP, Lecture, Lessig, Linkpost, Linux, Lists, MPAA, Milosz, Music, Neruda, Open Source, Operating Systems, Personal, Pics, Poetry, Programming, Programming Languages, Project Euler, Quotes, Reddit, SICP, Self-Learning, Uncategorized, Webcomic, XKCD, Xmas, \"Real World\", adulthood, apple, careers, coleslaw, consumption, creation, fqa, games, goals, heroes, injustice, linux, lisp, math, melee, metapost, milosz, personal, poetry, programming, ragequit, recreation, rip, strangeloop, work

View content from 2015-05, 2015-03, 2015-02, 2015-01, 2014-11, 2014-09, 2014-07, 2014-05, 2014-01, 2013-10, 2013-09, 2013-07, 2013-06, 2013-05, 2013-04, 2013-03, 2013-01, 2012-12, 2012-10, 2012-09, 2012-08, 2012-06, 2012-05, 2012-04, 2012-03, 2012-01, 2011-10, 2011-09, 2011-08, 2011-07, 2011-06, 2011-05, 2011-04, 2011-02, 2011-01, 2010-11, 2010-10, 2010-09, 2010-08, 2010-07, 2010-05, 2010-04, 2010-03, 2010-02, 2010-01, 2009-12, 2009-11, 2009-10, 2009-09, 2009-08, 2009-07, 2009-06, 2009-05, 2009-04, 2009-03, 2009-02, 2009-01, 2008-12, 2008-11, 2008-10, 2008-09, 2008-08, 2008-07, 2008-06, 2008-05, 2008-04, 2008-03, 2008-02, 2008-01, 2007-12, 2007-11, 2007-10, 2007-09, 2007-08, 2007-07, 2007-06, 2007-05

Unless otherwise credited all material Creative Commons License by Brit Butler