posted on 2008-07-22 15:58:17
So, I've been trying to do this self-study thing for 30 weeks. I probably should've stepped back to evaluate my progress before now but I've allowed myself to be distracted with other things. You know, moving out, working my first full-time job, learning how to cook, clean and take care myself. That's no excuse though. Rather than beat around the bush some more let's just get to the heart of it:
"You got an F. What the hell's the matter with you? Ya big failure.
Final Grade: 20.786516853932586%
To be fair, you would've had to do 14.0 problems a week to finish the book in 26 weeks.
They are pretty hard problems. Just keep at it man. You may want to revise your strategy though."
We're 30 weeks into 2008 and I've only done 74 of the 356 problems in that legendary text, the Structure and Interpretation of Computer Programs
, which was the central object of my study this semester. That's about two and a half problems a week. Not my brightest shining moment. This whole experience definitely gives me new appreciation for the people that tried to structure and/or educate me in the past. Clearly, I need one of two things:
1) A good kick in the ass to really get going.
2) A new gameplan.
Personally, I'm going to try a mix of the two. Where 1) is concerned I recently wrote a self-study program
(the biggest program I've ever written, actually) to help me keep abreast of my own progress and help me chart my course a bit. Where 2) is concerned I'm going to have to start making concessions to maintain momentum and I'm not entirely comfortable with that.
What concessions do I mean? Well, some of the SICP problems are hard. Really hard. Unreasonably hard
(see Exercise 4.79 at the bottom for which a good answer is "probably worth a Ph.D."). The book has it's reputation for a reason. It's a reputation of difficulty but also of enlightenment
. A lot of very smart people say it's the best way to learn Computer Science and probably the best book on the subject yet written. I'm willing to take their word for it. Anyway, there are problems that I get hung up on and I haven't been letting myself move on to the next section of the book without solving all the problems in the current section. That just isn't scaling well. I'm already hung up on the last 4 problems in Section 2.1
. God knows what would happen come 4.4. I'll surely never finish the thing if I don't let myself move forward.
With that in mind, a week or so ago I did let myself move forward a bit and work on Section 2.2. I've already got about a third of it done. Maybe even half. I'm worried about this because I want to stay honest. I don't want to shirk the hard stuff. I won't move past problems unless I'm really
stumped and I will circle back at various points to try to work through them. Aside from SICP, I've worked on HTDP
(How To Design Programs) and CA
(Concrete Abstractions) as well this semester. I got an almost reasonable portion of HTDP done but next to nothing on CA. I'd really like to try plowing through as much of those three books and The C Programming Language
(rocking the 1st ed.) as possible before Xmas.
Semester 3 (starting in January) I'm hoping to work on Algorithms (DPV
, not CLRS
), Essentials of Programming Languages
(1st edition, baby!) and one of my Operating Systems texts. Of course, Discrete Math
(5th ed) would be more prudent and judging by this semester this could all be revised by Xmas. Well, back to work. Happy Hacking!
posted on 2008-07-18 13:12:46
I'm less than my best this morning. I woke up exhausted, I struggled towards the office. I met a Microsoft developer on the train. You could tell from the Silverlight and CodingHorror stickers on his laptop. He seemed like a nice enough guy. However, he was going south towards Downtown and the only Atlanta office listed on the microsoft site is in Alpharetta. Was he fooling me? Is there an unlisted office? Who knows.
I don't believe I have enough of a work ethic. Surely, I would be more than I am if that were the case. Enough of that talk, it tires me already. I read some Neruda a moment ago. It's beautiful enough that I'm compelled to post it. It's taken from his book Extravagaria
and titled Soliloquy at Twilight
Given that now perhaps
we are seriously alone,
I mean to ask some questions-
we'll speak man to man.
With you, with that passerby,
with those born yesterday,
with all those who died,
and with those to be born tomorrow,
I want to speak without being overheard,
without them always whispering,
without things getting changed
in ears along the way.
Well then, where from, where to?
What made you decide to be born?
Do you know that the world is small,
scarcely the size of an apple,
like a little hard stone,
and that brothers kill each other
for a fistful of dust?
For the dead there's land enough!
You know by now, or you will,
that time is scarcely one day
and a day is a single drop?
How will you be, how have you been?
Sociable, talkative, silent?
Are you going to outdistance
those who where born with you?
Or will you be sticking a pistol
grimly into their kidneys?
What will you do with so many days
left over, and even more,
with so many missing days?
Do you know there's nobody in the streets
and nobody in the houses?
There are only eyes in the windows.
If you don't have somewhere to sleep,
knock on a door and it will open,
open up to a certain point
and you'll see it's cold inside,
and that that house is empty
and wants nothing to do with you;
your stories are worth nothing,
and if you insist on being gentle,
the dog and cat will bite you.
Until later, till you forget me-
I'm going, since I don't have time
to ask the wind more questions.
I can scarcely walk properly,
I'm in such a hurry.
Somehwere they're waiting
to accuse me of something
and I have to defend myself;
nobody knows what it's about
except that it's urgent,
and if I don't go, it will close,
and how can I hold my own
if I knock and nobody opens the door?
Until later, we'll speak before then.
Or speak after, I don't remember,
or perhaps we haven't even met
or cannot communicate.
I have these crazy habits-
I speak, there is no one and I don't listen
I ask myself questions and never answer.
posted on 2008-07-16 11:48:59
Two random quotes this morning from two random sources, Andy Wingo (programmer living in spain and working three days a week. Oh, the jealousy!!!) and Paul Kedrosky (VC\Finance Guy).
"Perhaps I am more than usually jealous of my freedom. I feel that my connections with and obligations to society are at present very slight and transient. Those slight labors which afford me a livelihood, and by which I am serviceable to my contemporaries, are as yet a pleasure to me, and I am not often reminded that they are a necessity. So far I am successful, and only he is successful in his business who makes that pursuit which affords him the highest pleasure sustain him. But I foresee that if my wants should be much increased the labor required to supply them would become a drudgery. If I should sell both my forenoons and afternoons to society, neglecting my peculiar calling, there would be nothing left worth living for. I trust that I shall never thus sell my birthright for a mess of pottage.Sourced from Andy Wingo
10 January, 1851"
"To be truly challenging, a voyage, like a life, must rest on a firm foundation of financial unrest. Otherwise you are doomed to a routine traverse, the kind known to yachtsmen, who play with their boats at sea--"cruising", it is called. Voyaging belongs to seamen, and to the wanderers of the world who cannot, or will not, fit in. If you are contemplating a voyage and you have the means, abandon the venture until your fortunes change. Only then will you know what the sea is all about.
Little has been said or written about the ways a man may blast himself free. Why? I don't know, unless the answer lies in our diseased values. A man seldom hesitates to describe his work; he gladly divulges the privacies of alleged sexual conquests. But ask him how much he has in the bank and he recoils into a shocked and stubborn silence.
"I've always wanted to sail to the South Seas, but I can't afford it." What these men can't afford is not to go. They are enmeshed in the cancerous discipline of "security". And in the worship of security we fling our lives beneath the wheels of routine---and before we know it our lives are gone.
What does a man need---really need? A few pounds of food each day, heat and shelter, six feet to lie down in---and some form of working activity that will yield a sense of accomplishment. That's all---in the material sense. And we know it. But we are brainwashed by our economic system until we end up beneath a pyramid of time payments, mortgages, preposterous gadgetry, playthings that divert our attention from the sheer idiocy of the charade.
The years thunder by. The dreams of youth grow dim where they lie caked in dust on the shelves of patience. Before we know it, the tomb is sealed.
Where, then, lies the answer? In choice. Which shall it be: bankruptcy of purse or bankruptcy of life?"
From Sterling Hayden's Wanderer via Paul Kedrosky
posted on 2008-07-14 17:17:34
It's been pretty hard to maintain a positive spirit and spin on things lately. Times are hard economically, my financial margins are narrow to non-existent and new jobs are hard to find. I've also been trying to contact some people at Northeastern
to look into going to school there (mostly because it's so hard to find the time\energy for self-study at present) but the trail dead-ended. I've been unable to reach Olin Shivers
(who seems pretty awesome
[best acknowledgments ever], incidentally
) so that's all inconclusive. Really, I'm looking to see how much work it would be to get accepted. I'm fairly enamored with their program and
faculty and for one reason or another Boston sounds lovely.
I'm still hacking at SICP
when I have the energy/time but it's been really hard lately. I believe that I'm on the right path because knowing more about programming is something I have wanted for a long time but it's hard to stay the course or to stay emotionally charged up about the course. Part of that is because, as the Emerging Philosophy
posts suggest, the problems I'm really interested
in solving are not Computer Science
problems. They're social problems. The oft-heard first project suggestion for hackers to "scratch an itch" or "fill a need" falls flat for me. The computer does everything I want it to do. I'm not looking for it to do more.
I am making progress with SICP, I'm just behind schedule. I'm hung up on the last 4 problems (2.13-2.16) in Chapter 2.1 but I recently started plowing ahead
on Chapter 2.2 to get some momentum again and am about a third of the way through it. If anyone has advice or feels like working through them with me feel free to contact me via blog, IM, e-mail, etc.
posted on 2008-07-14 16:53:26
There was a fragment of Milosz stuck in my head the last 24 hours that I wanted to track down and get out of my system. It was originally printed as an Inscript in Unattainable Earth
but I found it reprinted in his New and Collected Poems
on pgs. 412-413.
What did I really want to tell them? That I labored to transcend my place and time, searching for the Real. And here is my work done (commendably?), my life fulfilled, as it was destined to be, in grief. Now I appear to myself as one who was under the delusion of being his own while he was the subject of a style. Just as they were, so what if it was a different subjection. "Do you want white peacocks?-- I will give you white peacocks." And we could have been united only by what we have in common: the same nakedness in a garden beyond time, but the moments are short when it seems to me that, at odds with time, we hold each other's hands. And I drink wine and I shake my head and say: "What man feels and thinks will never be expressed."
posted on 2008-07-14 16:18:53
I got sort of preoccupied this weekend with the question of who my Top 5 Hackers are. They're not necessarily supposed to be the world's best hackers. Rather, they're programmers who I respect both technically and individually. There are plenty of people doing great work on interesting things and that wasn't the primary motivation behind this list. I'm not going to go too deeply into my reasoning or try to order the list in any particular way. I'll just lay it on you. I'm sure it will change some over time.Aaron SwartzJohn CarmackJustin FrankelLinus TorvaldsLuke Gorrie
posted on 2008-07-07 17:47:20
Linux is a complicated beast. Unlike Windows and Mac there are literally hundreds of different competing versions or distributions vying for attention and often catering to a specific niche. Beginning Linux users are often all waved towards the two or three most popular and general-purpose distributions and with good reason. While three distributions in particular (Ubuntu, Fedora, Suse) seem to dominate and are good places to start, I have often experienced a desire to see what else exists with Linux since there is so much in the way of choice. Additionally, Linux distributions tend to have one release or more a year while Windows and Mac tend to see a new version only every few years. The three distributions I mentioned earlier all strive to issue a new release every six months and they all do so at roughly the same time often with no more than a month separating them.
While this may at first seem undesirable there is no pressure to upgrade but there is also no cost to upgrade (remember, they're free!). Some upgrades have a few more bugs or new features than others but upgrades tend to be relatively safe and easy. Moreover, because of the regular releases large changes happen gradually and there is little to no learning curve. It's also worth noting that upgrading does not require you to reinstall the operating system. It's usually just an hour or two of downloading and a reboot.
So, "Distro Release Season" comes twice a year if you use Ubuntu, Fedora, or Suse. That's even better than Christmas! However, this release cycle rather disappointed me. Ubuntu's Hardy Heron was a bit buggier than I'd like. Fedora 9 seems better and better every time but they still lack a few software packages I want. To be honest, I've never been interested in Suse much. I'd also been meaning to move to a more stripped-down version of Linux for a long time. Ubuntu and Fedora come with a lot of bells and whistles that I may not necessarily need and that slow my system down.
It was time to try something new and, this season, I decided to go with Arch Linux
. I won't go too deeply into my decision to use Arch. There are a lot of very good things about it and though it's not easy the way Ubuntu is, it's simple and worth the effort you put into it. You can make it into whatever you want it to be and that's precisely what I've done. I've spent about a week setting it up to perform as I'd like and with the programs I'd like. I've documented the entire process and will post that here as my personal "Good Easy
". A good easy, for those who haven't heard of one, is a detailed description of someone's computer configuration. One reason I'd like to do one is that it's handy in case I have to duplicate it at some point in the future. It might be nice to do a Good Easy for my server at some point as well. I detail a bit at the end how to turn your installed system into a Live CD. I plan to do a little bit more work and remove personal data to turn that Live CD into something I could distribute at some point though mostly just to a few nerd friends. I wouldn't expect, or want, to take users from the wonderful Arch Linux after all.
My Good Easy...
posted on 2008-07-07 14:24:37
I am not opposed to it.
I lived fully and well,
spending time perched in
dogwoods and chairs to
try and learn the lessons
of machines, men and dogs
in their cacophonous chorus.
I am not opposed to it.
I eventually did settle
with my own thoughts
after years of combat.
I knew rebellion, fought
a long war and nurtured
a false hope. Thankfully
in the end my carapace
had been punctured.
I am not opposed to it
though I am weary of the
dignity and the chase.
Who are we to be so presumptuous?
Who are we to assume that in our
affairs we should be entitled to
the presentation, if not the
substance, for all our days?
I am not opposed to it
though nod to a fear and
hubris that is hard-argued
as judgment. Still, if for
a year I loved and loved well
then I need not keep those
cherished ones waiting.
I am not opposed to it.
I recognized early that time was
my valued asset and treated
it accordingly. I fought for
ground in a society enamored
with the ephemeral. I won.
Mistakes were made, the wrong
losses suffered and less than
the best gains accomplished.
But in the end, I stand by my time.
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, choices, clones, coleslaw, consumption, creation, emulation, fqa, games, goals, haltandcatchfire, heroes, injustice, ironyard, linux, lisp, lists, math, melee, metapost, milosz, music, pandemic, personal, poetry, productivity, professional, programming, ragequit, recreation, reflection, research, rip, strangeloop, work, year-in-review
View content from 2024-01, 2023-12, 2023-07, 2023-02, 2022-12, 2022-06, 2022-04, 2022-03, 2022-01, 2021-12, 2021-08, 2021-03, 2020-04, 2020-02, 2020-01, 2018-08, 2018-07, 2017-09, 2017-07, 2015-09, 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