Home

Teflon® Weltanschauung

Jul. 11th, 2008

10:27 am - Three Simple Ways to Not Get Strangled by Officemates

1) When the roll of paper towels is empty, replace it.
2) When the coffee pot is empty, make a new pot.
3) Understand that doughnuts are not divisble. You don't cut one in half and leave it in there like a used condom. You take a doughnut, or you go without.

Jul. 10th, 2008

03:10 pm - Music I've Been Into Lately

Somehow, I have been absolutely, positively addicted to Paramore. Fucking radio rock. I am getting old.

I'd like to recommend the Red Sparowes to everyone for an instrumental band. Paramore, Red Sparowes, and Pelican have been on absolutely constant rotation.

I decided there is no way Hayley Williams could possibly win American Idol, which is just proof that American Idol should not be. (I don't hate it, don't get me wrong.)

I still haven't completed my GWAR collection, but at least it doesn't have any gaps anymore. Since GWAR moved in a... direction guided by some fan and band member opinions, I found out about the Dave Brockie Experience, whose "Songs for the Wrong" is excellent, if you can laugh at a song like "Hard for a Tard", which is about exactly what you think it would be. "Should the Ugly Girl Blow Me" is catchy as hell. Check it out at amazon.

But, weird thing, is there something punk rock about squirrels and I missed the Maximum RocknRoll feature telling me so? Both Shellac and DBX have songs about being squirrels. I mean, I don't really think about squirrels much. Probably just for the easy nut jokes, which is more Chris Farley than Jello Biafra, but whatever.

Tags:

Jun. 25th, 2008

04:59 pm - Phrases

Been meaning to jot some of these down. Not a real post.

"Nothing happens in no time." -- physics
"Ohms law works." -- electronics
"You still have to look out the window." -- GPS
"It's all about protons." -- Bjerrum plot for acid OR base titrations, which may be confusing for non-chemistry mopes like me
"Give me a firm place to stand and I will move." -- Update of a quote from Archimedes
"It's like peeing your pants." -- A nice warm feeling, but it ain't gonna last

Tags:

Jun. 16th, 2008

01:48 pm - Never Forget

I must never forget the parable of the bitter tea. It seems particularly relevant due to my job completely, 100% sucking.

THE PARABLE OF THE BITTER TEA
by Rev. Dr. Hypocrates Magoun,
P.P. POEE PRIEST, Okinawa Cabal

When Hypoc was through meditating with St. Gulik, he went there into the kitchen where he busied himself with preparing the feast and, in his endeavor, he found that there was some old tea in a pan left standing from the night before, when he had in his weakness forgot about its making and had let it sit steeping for 24 hours.

It was dark and murky, and it was Hypoc's intention to use this old tea by diluting it with water. And again in his weakness, chose without further consideration and plunged into the physical labor of the preparations. It was then when, deeply immersed in the pleasure of that trip, he had a sudden loud clear voice in his head saying, "It is bitter tea that involves you so."

Hypoc heard the voice, but the struggle inside intensified, and the pattern, previously established with the physical laboring and the muscle messages coordinated and unified or perhaps coded, continued to exert their influence and Hypoc succummed to the pressure and he denied the voice.

And again he plunged into the physical orgy and completed the task.

And, Lo, as the voice had predicted, the tea was bitter.


Four years ago, I knew that this was not the job for me. I don't mean this line of work, I mean at this place. Rather, let me say, I suspected. But I did nothing. Now it has gotten almost intolerable here. On the way in this morning I decided to say, "Why have I stayed here all this time?" When I went down the checklist about the things I liked about this job, it became clear to me, in an instant, like the sharp bite of bitter tea first striking the tongue, that every single thing that had kept me here was gone.

I was very close to walking out today. I vowed many years ago that the first day I cried because of my job would be my last day of employment. Ladies and gentlemen of the jury, that day was very nearly today.

I try to add water, but, Lo! the tea is still bitter. I am reminded of Eris's comment to the Polyfather, shortly before She left him stranded alone with the species. "Oh, then stop." Indeed, my dearest Goddess, indeed.

Jun. 10th, 2008

11:09 pm - My Boss and Kant

I finally realized this morning what irritates me about arguing with Kantians. Basically, he just made shit up (ideal space etc). It's like arguing with religious people. There is just nothing to fall back on. When you make something up, of course you can't be wrong. But that's just because there's no way to be right.

When I mentioned that to my ex-boss tonight, he laughed and revealed a tale about my current boss. Once upon a time he was doing some experiment in the presence of some other scientist, and began to explain his results. "That can't be true," she said, "it doesn't have anything to do with anything I've ever learned."

He said, "Of course it's true, because I just invented it."

Jun. 9th, 2008

09:19 pm - Never gonna

Tell me I'm not the only one to see Vince McMahon get rickrolled on RAW. Twice. Hahaha.

Jun. 8th, 2008

10:13 pm - The Movie that Cannot Be Made

The Strangers... yet another attempt at a movie that I think cannot be made.

Let me give you the plot to The Movie That Cannot Be Made. There are protagonists that we care about. Terrible things—slasher flick things—happen to them. Because we care about the protagonists, the terrible things that happen to them deeply impact us, the viewers, in a way that no slasher flick could ever hope to accomplish.

Attempts: Hostel, Wolf Creek, and others, but now, The Strangers.

What movie has come closest? I'd give this dubious award to Twin Peaks: Fire Walk with Me. And therein lies the clue: I had about a season of getting to know Laura Palmer. The train scene is more brutal than anything in Hostel, because I know Laura. I cared about her tragic situation. I didn't care about whatever-their-names-were. I can't care about someone just because something happens to them. I don't care about them just because there's some crushing kind of love interest (Wolf Creek), or having problems (The Strangers). Terrible things happen to protagonists all the time, but it took half a season of Buffy for me to cry in Prophecy Girl.

When a movie manages to make characters we care about, they have to make them like us: our experiences stand in as a substitute for the lack of knowledge we have about the protagonists. So we have two paths to take: characters we can strongly identify with, or time to get to know the characters. When good directors and writers work the first path, they know they have to tackle terrible things that reflect the characters, so that, in a way, we even identify with the terrible things. But this means that the characters, pretty much, can't die, for what I think should be obvious reasons.

So how to make TMtCBM? I really don't know. My only guess is to have someone more traditional than David Lynch take the characters they created and brutalize them. Who would do that? And when I put it like that, why do I want to watch it? (I do.)

That said, The Strangers was the better than Hostel or Wolf Creek. And if they make more movies like this, I'll probably watch them out of some dim hope that the movie really can be made.

May. 29th, 2008

08:20 pm - Best New Expression

Well, "new" in the sense that I've never heard of it before. "Balling the queen," a means to kill an intruding or defective queen bee whereby the queen is enveloped in a mass of bees, raising the body temperature high enough to kill. I just know I will find a way to use this next time a discussion of office bullying comes up. Wikipedia has a picture of some honey bees balling a hornet. Nice.

May. 27th, 2008

08:21 pm - Solar Power Question

Something I don't quite get about solar power. In general, with the exception of dark surfaces, a lot of sunlight is reflected away from earth. (Of natural sources, I think the oceans suck up the most energy at 80%.) If we significantly utilize solar power, won't we be speeding up global warming in an entirely different way, or am I stupid? (I realize these are not mutually exclusive propositions.)

May. 16th, 2008

09:12 am - Self-Quote for the Day

Regarding one of my company's business practices that I just learned about:
Cow: "I don't know why we adopted that strategy."
Me: "Strategy? That's a strategy like Munchausen is a strategy."

May. 5th, 2008

12:24 pm - SICP, Part Two

Well I banged away at some of the first chapter this weekend, between watching the third season of Veronica Mars. Having never really gotten into program efficiency issues, except in passing at Wikipedia, it was interesting that this topic was brought up so quickly. (My C book barely mentions it, and never in any formal way.) The authors give the following exercise.

Write a recursive program and an iterative program for the following function:
f(x) = x for all x < 3; f(x) = f(x-1) + 2f(x-2) + 3f(x-3) for all x ≥ 3.

The naive recursive function was practically a one-liner, so direct is the translation. I struggled a bit unreasonably with the iterative function, but when I finally got it running the difference in speed was really amazing. f(100) was effectively unable to be calculated in the recursive form, while the answer came up instantly in the iterative form. Even f(20) showed significant runtime for the recursive form on my machine.

One thing that's a little unfortunate is that I have no answers to the exercises. They also aren't included in the instructor's manual; of course not all exercises are so amendable to answers but this one, for example, is: a question about why "if" had to be a special form and couldn't be an implementation of "cond" that I think I answered correctly (lexical scoping issues on the substitution/expansion) but there's really no way for me to tell, as far as I know. I'm slowly downloading the videos of lectures from the 80's, perhaps there is some mention of it there. The instructor's manual mentions this exercise only in passing, and only as a justification for the exercise. Grr.

May. 4th, 2008

09:46 pm - Programming and Circuits Are Closer than He Thinks

From Joel on Software, via the new stackoverflow.com, I cam across Jeff Atwood's site. An article from 2004 examines what relationship there might be between electronics and programming.

[emphasis original] Very few software engineers use UML symbols to design software,but electrical engineers regularly use circuit symbols to design electronics.... Circuit symbols are constructed into circuit diagrams-- the [sic] the visual language of electricity. If circuit diagrams are a standard, universally understood way to talk about electronics, why doesn't UML enjoy the same currency for software development?

Well, one obvious difference is that software, unlike electricity, isn't subject to God's laws.
Wrong.

What is important to realize is that when you see a circuit schematic you're looking at (almost) the end of development. He's wrong that this doesn't work for programming. A schematic is the finished code. It's the end of the process.

When I start to create a circuit, I approach it in a way that, I'd imagine, most programmers should approach a program. I draw block diagrams, make some notes about states, and so on. Something comes in at 'A', a miracle occurs, and something leaves at 'C'. An "amplifier circuit" might consist of a great many components but I draw a triangle and worry about the details later. Most things are boxes with one or two phrases on them to describe their function. Sure, most amplifiers need feedback but that's an implementation detail, forget about it, because my ideal amplifier knows exactly what it is going to do. One doesn't start a circuit at the level of flip-flops, resistors, or op amps, one draws a functional diagram very similar to a flow chart, and goes from there. Black box modules? —Same thing in electronics. (Which shouldn't be surprising when you think about the word 'module.') You design your box model that you're convinced solves the problem, then you work on the little boxes, then you worry about edge conditions, then you breadboard it, and so on. Those glyphs aren't the language of electronic circuitry, unless you mean 'int' is the language of C, or an open parenthesis is the language of Scheme. A schematic is the end result. It's the program.

I don't know anything about UML but I have watched enough programmers, and flopped around programming myself enough, to know that there's a lesson to be learned. Maybe UML isn't it (I kind of doubt it is, as I doubt any formalized tool is an appropriate model for thought), but programmers need something. Maybe Joel is right about his (not) Big Design Up Front.

May. 3rd, 2008

02:32 pm - SICP, Part One

So I picked up The Structure and Interpretation of Computer Programs recently. Taking a class in C has seriously revived my interest in programming. I guess Python is good for those who forgot programming is fun. I knew programming was fun, but it is not the easiest thing to get into deeply without someone guiding you. Sure, I could whip up an Othello game or a few console apps to solve problems that I needed solved at the time, but now that I'm getting back into electronics I'm realizing that computer technology is whipping past me at an alarming speed. I let it slip by once when I gave up computing after the Commodore 64 until Windows 98. I will not let this happen again. Computers are the present and the future. Ignore it at my peril, I tell myself.

Taking the C class made me realize a number of problems I had with C++ and Java were simply based on the fact that I fundamentally didn't understand programming the way I understand, say, math. I feel almost anyone could understand math from basic algebra to, say, calc 101. (That may not be true, I find out, after reading an interesting paper on the subject, but I digress.) With math you just have to accept that the symbols are totally vacuous (or at least as vacuous as any other language, which is a fair bit). If you have to read twenty popularizations on Gödel's Incompleteness Theorems, and the paper he presented them in itself, to get to this point—if you have to beat multi-dimensional physics popularizations and the halting problem over your head, so be it.

Ultimately I just haven't quite reached that point with programming. But my recent treble reading of Meta Math! by Chaitin drove really drove home that what goes in math goes in programming; on some level I knew this intuitively, but when it came time to sit in front of the computer and manifest this, I was hopeless.

So, enter SICP. If I can't make it through this book, well, that's life. I can't understand everything. But I am going to try to understand this one thing. I'll never be a mathematician, and I'll almost certainly never be a professional programmer, but if I don't try to understand this, I don't think I'll be able to live with myself.

01:59 am - Teach Yourself Lisp in 10 Seconds

Lisp¹ has two modes when interpreting a module: Missing Paren, and Recurse Forever. A newbie Lisp¹ programmer has two states: curse, and re-curse.

This is all there is to know about this marvelously concise language.

1. Disclaimer: actually, I'm trying to teach myself Scheme.

May. 2nd, 2008

12:17 pm - AYB

Anyone noticed the LJ 404 page? Hee.

Apr. 29th, 2008

01:16 pm - My Boss Should Not Make Economic Decisions

"As far as the software itself being free, well.... if that were so, we would never be motivated to write a single line of code. It takes not only a lot of money to produce a software product, but the expertise needed to know how to produce the software product to begin with takes years and years to acquire. The required return-on-investment is substantial."

First, I want to stress that I didn't suggest it should be free, I suggested it should probably be like DVD prices. I wonder if he ever noticed that the price of a DVD is not really correlated with how much money it took to make the film?

In any case, he's missing the point. I agree that it is a problem that 1) people don't want to pay much for software, and 2) programmers cost money. Very true, both of these points, and, if I may say, completely reasonable points both. Indeed, I think that is the problem facing people who make software. The solution is not to stick one's fingers in one's ears and say "LA LA LA LA DEVELOPMENT COSTS." It reminds me of the infamous Bill Gates letter bitching at all the thieves of QBasic, An Open Letter to Hobbyists. Here is a good excerpt: "Who can afford to do professional work for nothing? What hobbyist can put 3-man years into programming, finding all bugs, documenting his product and distribute for free?" That is a good question, but it is not a rhetorical question as asked.

Who can afford to do professional work for nothing? Let us honestly ask this question. I think the answer is not obvious, but it needs to be tackled.

Imagine another industry entirely, like farming. Farming is currently heavily mechanized and partially automated. I don’t think it is outrageous to suggest that there is a real possibility farming could become totally automated at some point in the not-so-distant future. Then what? Automated transportation of food. Then what? Imagine life in 200 years, with free energy and automated transportation and... then what? What does food cost then? It is already amazingly cheap. Do we all just get whatever food we want for almost-free? A $25/month grocery bill?

But this is software. Sure, in the Future Farm the land cost money and the machines cost money but those really are sunk costs and anyone who prices with them in mind will be totally undercut by those who know better and in the end, the prices are at the margin. Who will pay the human designers of the machines? Well, when you sell a gazillion ears of corn at $0.000001 an ear I guess you can make up for it. But who will pay the programmers of the niche products? Who will do professional work for free?

When I buy a PCI card for some task, I don’t pay for the driver—at least, I do not pay separately for it. And I do not pay for upgrades (at least I do not pay separately for them). And the company of course could only make some guesses about the costs of developing upgrades to drivers, to try to build in expected development costs... no, no. That is madness. Whatever they do, they have to price the card at what it costs to stay in business, and that includes paying programmers, and hope that is somewhere near the right area of demand, or they are going out of business. So the question about who can afford to do professional work for nothing is easily answered: almost no one, but that doesn’t have anything to do with the price of software!

Apr. 26th, 2008

05:00 pm - Some thoughts on open source software

Let's get the assumptions out of the way first.

1) Software development is a sunk cost
2) The marginal cost of software is practically zero

Before poking around the problem, let's propose this law:

Law of Open Source software: any sufficiently interesting problem that software can solve will eventually have a free implementation.

Tackling interesting problems is fun. If it is sufficiently interesting, someone will eventually try and solve it on their own, even if a solution already exists. The question isn't how cheap something is, or isn't, but how interesting it would be to solve the problem on one's own. So it doesn't matter if Oracle charges $10000 a license or $1, if making a database presents an interesting challenge there will be a free database.

To keep your open-source competition at bay so that you can price above the margin and pay your programmers, you have to stay ahead of interesting problems and solve boring ones well. The problem is that even a bunch of boring problems can be an interesting problem. Windows can't stay ahead in user interface forever, eventually there is GNOME and KDE.

Can you rely on hardware? How? Interfacing with electronics is an interesting problem. Can you rely on proprietary APIs? How? Virtualization is an interesting problem.

Of course, open source software will, on average, lag paid-for software. But let's be realistic, how many new features do people use? Of all of the people at the place I work, exactly 0, including me, use any MS Word features that aren't done as well in Open Office. Styles were introduced in Office 2000, I think, and are an extremely potent means of document formatting, preventing the mess that invariably shows up from manually formatting documents, yet exactly no one but me knows how to use them, and Open Office has the same functionality anyway. We're a small company, and saving $300 per person could make a significant difference. GCC with Eclipse is marvelous, unless you want to develop robust Windows software using MS's APIs, then you are of course out of luck, but as more and more open window-rendering software comes into being and matures (Java's swing, Eclipse's SWT, wxwidget, etc etc) even this advantage shows its true colors.

Staying ahead of the interface issue is a mixed blessing. There is a very real trade-off between adding features and ease-of-use. Edit Pad Pro from JGSoft has to be my favorite text editor ever, but it is getting a little feature-heavy in its newer incarnations. Eventually it will be emacs ("my favorite browser, but I wish it had a text editor").

So there's a strange bit of oscillation: where open-source leads, it is viewed as excessively complicated, but where non-free software leads it tries to add more and more features and becomes excessively complicated. It is the rare application that can be both feature-rich and simple, like (*gasp*) Vim.

Paid-for software might adopt a different model: by being a service for non-technical users. I would not expect my mom to use any regex but she could easily use Regex Buddy from JGSoft. (Really, I don't work for JGSoft, they just make good software.) I wouldn't expect my mom to command-line ftp over an ssh connection, but she could use a windowed version well enough (she does, I think the Ipswitch product). The myth is that she is paying for the software; the reality is that she's paying for support.

That works, for the moment. But. (Isn't there always a 'but'?) But the marginal cost of support is also approximately zero. All you have to do is ask someone who knows, and they tell you. Witness message boards, man pages, manuals, and so on. These are all means of presenting information as seamlessly as possible. If something is popular enough, there are enough power-users to support a forum that answers questions. But that's not all. Providing support costs money for a company. To save money on that aspect, many will go so far as to provide a FAQ! Think about that.

So, in the long term, we can rule out technical users and non-technical users facing ordinary problems. The former investigate deeply, and the latter find the technical users and FAQs to answer their questions. This leaves just the difficult problems.

But difficult problems are interesting.

Tags:

Apr. 25th, 2008

08:26 am - Pepsi / Coke Challenge

For kicks we did a Pepsi/Coke challenge at school. I would have bet my life that people could distinguish the two. I really would have. To be sure that we didn't get an abundance of Dr Pepper drinkers, we separated folks based on whether or not they thought they could distinguish the two. Of course almost everyone thought they could.

Would you believe that they couldn't?

I'm dumbfounded. I wish I could have taken the test. I would swear that I could pick Coke from Pepsi, Dr Pepper from Mr Pibb, and maybe even a few other competing sodas, but it is hard to argue with data.

I'm truly surprised.

It's kind of funny, because Pepsi vs Coke is taken to be a meaningless choice, when presented metaphorically, yet almost everyone thinks they can distinguish between the two; it seems, from our limited results, that in fact they really can't distinguish between the two and Pepsi vs Coke really is a meaningless choice. Yet another little bit of my preconceived notions has fallen away.

Apr. 12th, 2008

10:05 pm - Impossible rulers

Somewhat recently I was in a conversation with a friend who asked me, somewhat innocently, "Do you think you can ever really know yourself?" After dismissing the question due to the apparently superfluous word "really," he answered the question for himself, "I don't think you can ever really know yourself."

The problem I have with this is related to the problem I have with absolutism in general (as it stands opposed to relativism). There are two main problems that I think absolutists make. The first is the question of scope. The second is the problem of measure. They are intimately related only because of the confusion of absolutism in general.

First, the problem of scope.

Negative zero. )

Which brings us to the second problem, the problem of measure. Specifically, the problem of impossible rulers.

Rulers )

Apr. 3rd, 2008

10:55 pm - Why Trade Schools Exist

A quote from a forum: "The general consensus here is that job commitments aren't an excuse for bad grades. It sucks, but one might just have to take out loans to complete school, instead of working. If school isn't one's #1 priority, then one's grades won't be at their #1 highest."

It's as if school is so damn practical that someone wouldn't have to work and take out loans. Seriously amazing.

My friend is going for his master's degree in mechanical engineering. They realize the importance of people working, that's why they're offering convenient hours for the working man. MWF 11-2. What the fuck is wrong with academia?

I remember when I was looking for some language classes at U Salem, there was absolutely nothing available worth taking at nights or on weekends. I mean, you seriously cannot give these people money. Yet I recall oh so well how much bitching there was about Bush cutting funding to education.

Here's a thought. Pay the fuck attention. People work for a living, and want to improve their education. I know, it's hard to believe, but it is true. We're not all teachers with the summer off and we're not all going to get paid by our employer to go to school. Offer schedules that make sense for someone not living with mommy.

Navigate: (Previous 20 Entries)