Saturday, June 30, 2007

Reflecting a new found interest in privacy


After tearing out most of the mailing list posts, I still had just shy of 20000 messages in the last two years. They're now in Mail.app, waiting to slowly be filtered through as needed.

My gmail account will likely soon forward directly to a yet-to-be-decided email address, but it shouldn't effect anyone who's mailing me.

Now time to go make my tinfoil hat...


Thursday, June 28, 2007

Can the internet do this?

Because of a very nice anonymous reply to my original Quit the Internet post, I wanted to share this story from a few months ago that really changed my views on net culture.

A few months ago I somehow ended up getting in a discussion with my brother's best friend, Tim about Second Life. I was basically talking about how amazed I was by how immersive it is, and how it is very easy to see how people see the lines blur between reality and their virtual representations.

We talked a bit about how each generation is getting farther and farther away from having to use real imagination or make real connections with the world. I was sort of taking the stance that although I didn't like where things were heading, that I can easily see why people are willing to make that leap.

Tim couldn't identify with that at all. I talked about how visually, the impact of viewing something like the Second Life environment was really stunning because you were actually seeing some strange things that you'd typically describe as exclusively human.... eye contact, body language, etc.

He was getting increasingly agitated by what I was saying, not really angry but you could tell he wasn't buying a word I was saying. He then surprised me by reaching out and grabbing the upper part of my arm and shoulder and looked at me in the eyes, and said "What about that? You'll never be able to have a computer do that, no matter how close it gets"

Now... I have a lot of faith in technology, in the sense that I don't see there to be an upper limit we'll ever find. But the closer we get to emulating pure realism, the farther away from reality we get. We can sell our minds the fantasy easier, but it only harms us more.

Maybe real life isn't as exciting as our imagination. Maybe it's becoming harder and harder to see the blurry lines between life experienced and life viewed. But you know what, Tim was right. There is a world of difference between virtual and real.








Wednesday, June 27, 2007

After nearly a month of trying to "Quit The Internet"


I can has salf discaplin?

Monday, June 25, 2007

Interesting collection of Buddhist essays

Just checked out a site that my friend Ara recommended to me. It's called Buddhist Spirituality versus Materialism and is a collection of essays about modern Buddhism, Philosophy, and Science.

It is rather strangely organized, as a big list in alphabetical order on a wide range of topics, but some of the stuff is pretty neat. The articles don't try to keep neutral point of view it seems, but I don't really mind that. Any time you read any sort of religious writing, you have to expect some degree of bias.

Here's one bit from this site I particularly liked, as I feel this is a major appeal of Buddhist practice in general.


Unlike most other religions, Buddhism isn't so much about things to believe, as things to do. It is a technology of mind improvement. This is why Buddhists often refer to themselves as practitioners rather than believers. The Buddha told his students to trust their own experience of the effectiveness of the teachings, and not believe things just because he said so.

Besides Buddhism, I wonder what other spiritual practices explicitly reject dogma. Perhaps Taoism? Are there any Western religions that do this though? I'm sure there are, but I've not investigated. Maybe someone reading this will know...

Sunday, June 24, 2007

Summary of my latest ORA article in Chinese

One thing that I find wonderful about being part of the online / open source community is that things are truly global. I had to use babelfish to get an idea of what this post actually said, but over on letrails.cn, there is a nice summary of my latest O'Reilly article "How to build simple console apps with Ruby and ActiveRecord".

I just get really excited any time I see discussions about things I've worked on in other languages. :)

Saturday, June 23, 2007

Maxima is beautiful

I just indirectly stumbled across the computer algebra system Maxima. It appears to be extremely well documented, clisp based, and reeking of awesomeness. Here are just a couple examples from the beginning of the manual.

Basics:
(%i1) factor(10!);
8 4 2
(%o1) 2 3 5 7
(%i2) expand ((x + y)^6);
6 5 2 4 3 3 4 2 5 6
(%o2) y + 6 x y + 15 x y + 20 x y + 15 x y + 6 x y + x
(%i3) factor (x^6 - 1);
2 2
(%o3) (x - 1) (x + 1) (x - x + 1) (x + x + 1)

Integration and Differentiation:

(%i1) u: expand ((x + y)^6);
6 5 2 4 3 3 4 2 5 6
(%o1) y + 6 x y + 15 x y + 20 x y + 15 x y + 6 x y + x
(%i2) diff (%, x);
5 4 2 3 3 2 4 5
(%o2) 6 y + 30 x y + 60 x y + 60 x y + 30 x y + 6 x
(%i3) integrate (1/(1 + x^3), x);
2 x - 1
2 atan(-------)
log(x - x + 1) sqrt(3) log(x + 1)
(%o3) - --------------- + ------------- + ----------
6 sqrt(3) 3

Linear and Cubic Equation Solving:

(%i1) linsolve ([3*x + 4*y = 7, 2*x + a*y = 13], [x, y]);
7 a - 52 25
(%o1) [x = --------, y = -------]
3 a - 8 3 a - 8
(%i2) solve (x^3 - 3*x^2 + 5*x = 15, x);

(%o2) [x = - sqrt(5) %i, x = sqrt(5) %i, x = 3]
Non-linear Systems of Equations:
(%i1) eq_1: x^2 + 3*x*y + y^2 = 0$
(%i2) eq_2: 3*x + y = 1$
(%i3) solve ([eq_1, eq_2]);
3 sqrt(5) + 7 sqrt(5) + 3
(%o3) [[y = - -------------, x = -----------],
2 2

3 sqrt(5) - 7 sqrt(5) - 3
[y = -------------, x = - -----------]]
2 2
It also does 2d and 3d equation plotting via gnuplot. This gives me an excuse to get back into reading "God Created The Integers" and also encourages me to crack open my new issue of Mathematics Magazine.

Of course, I could also spend time on other things, like seeing friends and going outside, but who needs that! ;)

Friday, June 22, 2007

Logic can be dangerous!

My ravioli's read:

Boil 6-8 minutes or until tender

If I were to treat this as short-circuit logic, like many programming languages would, it means:

  • if the raviolis are already tender before 6 minutes, you might overcook them
  • you can choose to stop cooking after 6 minutes, whether they are tender are not
  • you must stop boiling after 8 minutes, whether they are tender are not
  • you never reach the 'until tender' condition

Of course, a human reads something to the effect of "Boil until tender. This takes approximately 6-8 minutes"

But how do you model that logically? Doesn't it just mean 'Boil until tender' ?

Maybe the reality is that the ravioli company is just giving me two possible solutions.

The first one: Boil for 6-8 minutes is the simple one. If you have a watch with a minute hand, you're good to go. Just make sure at least 6 minutes pass, and avoid cooking for more than 8 minutes. It'd be hard to screw this one up.

The second one, Boil until tender, is far more complicated. It requires you to have an objective condition called 'tenderness' that you can poll for, and the ability to detect it at any given moment.

If you're writing software, this means you need to handle concurrency, because you'll need to spin off a thread to get the water boiling, and then poll the ravioli continuously for tenderness, stopping the boiling process once tenderness has been reached.

Since it's unlikely that you'll be able to find the 'exact moment of tenderness', you'll need to define some sort of acceptable margin of error. You'll need to test this by trial and error. I suggest starting with steps of 30 minutes, and once you scrape up the burned raviolis, scale it down to maybe a check every few seconds.

Of course, this is silly. But on the same token, it goes to show you how much of a divide there is between human intuition and logical analysis. I don't envy the programmers who are going to build the magic robots that cook my food for me in 2030 by downloading and parsing my grandmothers recipe for chicken soup.

This is also just a very convoluted way of expressing why I enjoy cooking. It brings out the human side of me, because computers would probably suck at it.

Quitting The Internet Update : Struggling

A little less than three weeks ago, I announced my plan to quit the internet within 10 years. My overall net activity decreased for a couple days, and then it seemed like all of the habits just took over again. I'm supposed to stop using instant messaging by July 1st, and that has me worried...

I planned to cut off all 'purely entertainment' uses of the net weeks ago. That just didn't happen, and I'm not sure why. I think I'm going to keep trying though. Any habits this deeply ingrained can't be good for you.

Jinriksha, a typesetting project

One of my lesser-known projects has been typesetting my friend Andrea's poetry. It's mostly been an experiment with wild formatting, and it's great fun. Her original work was just done as standard formatted prose in type. I wrote it all out by hand to play around with different designs. I'm now in the process of bringing it back to print, which has required me to write some software (Ruport/PDF::Writer backed) to get the effects I need. Here's a small sample of her work with my typesetting:

If you know of software that does this type of thing, let me know. Otherwise, I'll keep working on my little tool, and if it is interesting to folks, I'll release it publicly when it's more polished.

I really find her poetry beautiful, which makes working on this a total joy. It'll be 15-20 pages long by the time it is done.

Sunday, June 17, 2007

Inebriated on Easter with my hair in some weird ponytail


Pure class.

Friday, June 15, 2007

Tautalogical Humor

Mail addressed to:

"Debbie Brown or Current Resident"

Thursday, June 14, 2007

We are always in the present

As I continue my study of Buddhist practices and ideas, I find myself discovering new ways to think about things. For example, recognizing the impermanence of phenomena has done amazing things to my outlook on life.

Though we tend to look at our lives as the aggregate of all the events we've experienced, we're really only living for exactly one moment at a time. To me, I think of this sort of like a flip book cartoon, we see animation, but it's really just a collection of frames.

I'm no expert on karmic law by any means, but it's reasonable to think that everything we do has an effect on the world around us, especially our own lives. If you don't buy that new pair of running shoes that you thinking about getting, the whole world of possibilities that revolve around you owning those shoes crashes into nonexistence. In its place, a whole new set of possibilities spring up.

Of course, that's a silly example. But the same general idea applies to more sensitive matters in life. For example: my spiritual interests haven't yet made me any less of an asshole from time to time. :)

When I say something hurtful to someone, it's expected that they'll respond somehow, usually not in a way that will make me happy. My *instinct* might be to make excuses, might be to brush them off, or to justify myself somehow. But if my mindfulness is with me, I can usually stop for a second, and realize that I had a part in agitating that person, and it's my choice whether I want to fuel that or try to disarm it. I know I feel better when I take the latter approach.

I think what I'm trying to get at here is that theres a pretty strong link between understanding impermanence and neutralizing bad karma. From my perspective, it's a whole lot easier to nurture kindness if you are able to detach your present reactions from past events.

So many feuds go on for so long because both parties believe that they were right in the first place, whatever the dispute that caused the argument. It's so tempting to use that as justification for lasting righteousness, but that just causes suffering.

I find that you can be a whole lot more nimble if you treat every moment as if it were unique. Having goals is good for you, learning from your past is good too. But what really matters is the present, because that's all we have.

Thursday, June 7, 2007

Flash-like behaviour in Camping

In my helpers:

def display_notice
if n=get_notice
if block_given?
yield(n)
else
notice_style { h4 n }
end
end
end

def get_notice
e, @state.notice = @state.notice, nil
return e
end

def notify(string)
@state.notice = string
end

Hehehehe Haters!

I loathe OReilly Ruby blogs and in particular I don't like this guy or anyone else that that does "math for fun." -- AngryRuby


I officially have a hater. Anyone else want to be hatin' on me? ;)

I think ihategregorybrown.com is available, I should probably snap it up and sell it to the highest bidder.

UPDATE:

I actually have *two* haters. I thought this one went away by now, but I suppose not. He hates me because I'm not Hollywood enough, and because my products lack documentation.

Why don't you guy's get off your 'high perch' and write some beginner to intermediate documentation? I've approached this forum a few times and always been rebuffed when asking for some understandable examples or documentation. The term 'arrogant ?' was raised at the last Rails conference.

I can never understand why you guys' spend so much technical energy on your products and don't realize they won't be used unless you make them intellectually available? It's something like Hollywood learned when sound came out. The user experience is half visual and half sound. - BraveDave


Soon, to a Ruport near you : Singing Reports!

Sunday, June 3, 2007

Is it possible to 'quit' the Internet?

I used to be in love with the Internet. I thought that it would answer all the world's problems, linking us all together, letting us meet people from all over the world and learn basically whatever we wanted. I really believed that things like Free Software and other free culture movements would change the world forever. To some extent, they have.

But you know what? I don't love the internet anymore. It takes up too much of my time, It introduces too many distractions, and it has deceived me in innumerable tiny little insidious ways that Fox News *wishes* they could harness.

Technology is supposed to serve people, not make people serve it. It's true the potential is there for that with the resources we've built up, but that's like saying Nuclear bombs prevent a third world war.

I've made enough friends now (mostly somehow through the internet) where I feel like if I unplugged, I would not lose the social network that I've gained through things like programming groups, local music and art scenes, and other random 'hookups' the internet has provided me. I feel like I could live a normal life without the internet. I don't feel like I'd shrivel up and die without knowing what's hot on Technorati.

That having been said, as a hobbyist first and later as a professional in software development, especially being active in the Open Source community, I'm definitely pretty well stuck in the web. So here's my plan: Quit using computers and the internet entirely within 10 years. If that's not humanly possible, I'll go as far as I can with it.

Here's my vague plan for how to do it, some of this will have direct impact on people very soon:

  • Now: Stop using the computer/Internet for anything except commerce,communication, research, and work immediately. This means no YouTube videos, no pr0n, and no addictive flash games. I'll need to create some exceptions here to keep my sanity: I will still download music, and blogging is communication.

  • Stop using all forms of instant messaging after 1 month. If I make it past the first hurdle, this should be easy. I don't count IRC when used for work or for helping people as breaking this rule.

  • Withdraw from all social networks within 3 months.

  • Stop blogging after a year.

  • Find a new line of work within 5 years. Hey, with all this free time from not doing random web surfing, and with a planned *very* early retirement, this should make me a most effective freelancer for the time being! At this point, my internet usage will ideally be commerce, open source development, and email only.

  • Throw out any computers I own, grow a long beard, and live in the woods after 10 years. I mean, by then I should be fully useless to society, right? :)
Am I kidding about all of this stuff? I honestly don't know. I got really disgusted by the fact that I went to a barbecue the other day and several kids were fighting over using two laptops to check their Facebook and myspace. When I was growing up, I was considered the socially awkward one for having such a fixation with computers, it's a major WTF to see that turned on its head.

Also, I think it'd be awesome to be able to say. "Oh, the Internet? Yeah, I haven't used it in like... 14 years" :)

So let's pretend I'm serious and see how it goes. Here's how you can help me:
  • If possible, try to arrange to see me in person to talk about things rather than via the net.
  • If not possible, force me to overcome my disdain of phones
  • If you're a friend outside of the US, help me get over my fear of Skype
  • Don't email me pr0n or flash cartoons
  • Write me letters in the mail. Yeah, the postal mail. Send me code, I'll debug it, it'll come back to you in a month. I'm only half-kidding.
  • Until I'm off the IM networks, consider emailing or phoning instead of IMing me
  • I'm still happy to see blog comments until I stop blogging :)