Category Archives: Adhesive

The Case of the Surfacing Effluent

We bought an old house in the country in 2009. The septic system was so old that no documents could be found describing the locations of its underground components. A professional inspector found one small tank and assumed that the drain field must be close by in the general direction of the outlet pipe. The system passed a flow test which the bank found reassuring enough that they issued us a mortgage to buy the house.

Recently we noticed a small puddle near the septic tank. This was surfacing effluent. Effluent–the watery discharge that normally flows from the tank into the drain field for natural purification by the soil–had stopped flowing through the underground pipes and found its way to the surface.

Yesterday we had the septic company come out to pump the tank so we could begin working on the problem. The technician found a surprise. The inspector had gotten it wrong. The tank he found was only the first of two. The effluent had been coming up through a gap in the lid of the second tank which was set slightly lower than the first.

We still don’t know what is causing the stoppage. It could be a collapsed line, some other kind of blockage in the pipes such as tree roots, or the soil may be suffering from reduced hydraulic capacity for any number of reasons. Not only is the cause a mystery but we don’t even know where the drain field is. I suspected there might be one about 60 feet away where two or three strips of grass thrived even during last year’s drought. However, that area was not in the direction that the outlet pointed. I decided to dig in and see what I could find before asking for professional help. Here is the hole I dug:

pipes
Septic pipes

Of interest are the terra cotta fitting, the gaps and loose joints, and the 90º elbow. (Incidentally, near the surface in the corner of the hole I found a dented wheel hub. I have no intention of moving it. Knowing this property, it would not surprise me to find it attached to a complete automobile buried upside-down.) The elbow turns the flow in the direction of the grassy patch, suggesting that our drain field actually is all the way out there.

After all of that digging by hand, I threw up my hands and called the professionals back. Tomorrow we should have a digging crew to unearth and inspect enough of the line to confirm the cause of the problem. If we get our wish, they’ll be able to fix it on sight and leave us with a reasonable bill. We really don’t want to pay for a new drain field or anything more major than a bit of digging and 4″ PVC.

Wish us luck.

How to Read Tech News

News should be read with global context and broad perspective. When you blend Techmeme headlines with Voice Of America it’s hard to get so excited about rounded corners and iPads. Try it:

Techmeme & Voice Of America

Too often we configure our news experience to focus on the safe and the comfortable. Blinders are fine until you forget that you put them on yourself. Remember to take them off sometimes and look around.

With Which to Psychoanalyse Julian Assange

Selections from Rubberhose.

Our journey begins with example code from the style guide showing a preoccupation with sex, drugs, and jail time:

	enum myheadhurts {lsd, mda, mdma, thc, peyote, women};

[...]

	if (foo1 &&
	    boo1 &&
	    (sex1 && sex2))

[...]

	if (chdir("/home/lolita" == 0)
		lolitastuff();

[...]

		struct hurricane
		{
			int years;
			char sex;
			int parole;
		}

current/src/doc/proff.style

This instructional snippet encodes a government conspiracy:

	== frazer.c ==

	bool CIA_support = TRUE;

	static int campaign_fund;
	static int frazer_dollars:
	static char *frazer_mental_state = "hopeful";

	void
	frazer(void)
	{
		frazer_dollars -= bribe_kerr(frazer_dollars);
		campaign_find -= frazer_dollars/2;
		if (dismiss_govenment &&
		    strcasecmp(dismiss_action, "care-taker"))
			frazer_mental_state = "hot doggarty dog";
	}

current/src/doc/HACKING

Before we dive into a colorful autobiographical narrative, two brief fantasies:

		onion routed block-device! yeah!
		  nb. time to lay off the weed

current/src/TODO

The story of naming the program is an entertaining read. These highlights shed light on the character of the author:

Guards. Guardians. The Greeks didn't have many with bite and I'm
loosing patience with the whole culture. Euphrosyne, Aglaia, and
Thalia do not grace me.  What I need is something that evokes
passion within my cryptographic domain. And when you come down to
it, that means something which produces copious amounts of gore
and blood, at will, from those who would dare to pass its demesne
of protection.

[...]

You had to hand it to Sigmund. He was nothing if not authoritative,
and after reading his inspiring words on the terrific serpent haired
woman, two things became clear to me. One, _Proffs_ and the Gorgon had
certain unresolved metaphorical incompatibilities and two, Sigmund was
clinically insane. I didn't want my software giving anyone a
castration complex, but I didn't want to give up snorting coke either.

[...]

If MARUTUKKU was my exquisite cryptographic good, of wit, effusive
joy, ravishing pleasure and flattering hope; then where was the
counter point? The figure to its ground - the sharper evil, the
madness, the melancholy, the most cruel lassitudes, disgusts and the
severest disappointments. Was Hume right? Because if he was, there was
only one organisation this string of hellish adjectives could
represent. The cryptographic devil with its 500,000 sq feet of office
space in Maryland. But surely there could be no reference to such an
organisation in the 4,000 year old Babylonian tablets.  The idea was
preposterous. Wasn't it?

TABLET VII OF THE ENUMA ELISH:

ESIZKUR shall sit aloft in the house of prayer;
   May the gods bring their presents before him, that from
   him they may receive their assignments; none can without
   him create artful works.  Four black-headed ones are
   among his creatures; aside from him no god knows the
   answer as to their days.

It's a cold and wintry night here in Melbourne and the gusts of wind
and rain seem to be unusually chilling. What had I, in my search for a
cryptographic mythology, stumbled onto?

I look hard at the seven letters E-S-I-Z-K-U-R. A frown turns to
a smile and then a dead pan stare. I write down:

			  IRK ZEUS

current/src/MYTHOLOGY

Finally, the quip that inspired me to compile these excerpts:

Some possible alternatives to passphrase based keying (we have some more
notes on these ideas, but no code or concrete design documentation):

[...]

	6) Colour contrast discrimination. It has been shown that individuals see
	   slightly different hues due to visual cortex and cone cell / retina
	   variation. It maybe possible to design moire or 
	   other tests on 24 bit displays which are recognisable by
	   one party but not another. Just hope no-one runs a magnet
	   over your monitor. Interestingly, one drug that this method is
	   highly likely to detect is Viagra, which intereacts with the retinal
	   environment to produce hue distortions. Rubberhose is naturally
	   arousing so we don't see this as being an issue.

current/src/ideas/keying

Here ends an incomplete and unrepresentative picture intended for entertainment only. Cheers to you, Julian, for making life on Earth more entertaining. I wish you liberty.

p.s. I wonder how many encrypted aspects exist in the insurance file. You wouldn’t let one key unlock the whole file, spending all of your insurance at once. The first key must expose a little bit of data while leaving the bulk of it encrypted. If it contains anything as clever as a Rubberhose extent, one can never be certain whether the insurance policy has been exhausted.

p.p.s. Love the sig':

-- 
Prof. Julian Assange  |If you want to build a ship, don't drum up people
                      |together to collect wood and don't assign them tasks
proff@iq.org          |and work, but rather teach them to long for the endless
proff@gnu.ai.mit.edu  |immensity of the sea. -- Antoine de Saint Exupery

Islamophobia is bad but it is a good step

A national ban on an architectural element seems silly but the vote to stop the construction of minarets in Switzerland is a real accomplishment. The people of a mature country have peacefully expressed a strong collective feeling against what they perceive as a grave threat. The tragedy is that they identified the threat as the Islamic religion.

The real threat is more general, more widespread, and more dangerous than Islam. It took something as extreme as Islamic extremism to trigger a cultural awareness of it. Unfortunately, like the ringing of an alarm clock, the first thing to awaken consciousness is for a time the only piece of reality about which we are aware. Islamic extremism is the alarm clock.

The supporters of the minaret ban see the growth of the Muslim population as an aggressive cultural invasion. They don’t see an immigrant minority that deserves state protection. They see settlers from a destructive culture claiming their country. They feel vilified within their homeland by outsiders and they are afraid that their politicians will continue to insist on irrational “religious tolerance” despite the intolerant attitudes spread through Islam.

National Islamophobia is a phase whose time has come. It is extreme, prejudiced, and wrong, but it is the natural reaction against the wrong actions of extremists trying to universalize Islam. Two wrongs do make a right when everyone learns a lesson. The lesson here is that no protection for status, be it religion, race, sex, or what have you, is deserved when it is used for harm.

Religions have been invoked to excuse atrocious behavior since ages before the life of Muhammad. So have other statuses such as race, color, nationality, and sex. The world tends to absolve these harmful trends after a reform and some generations. And the human race eventually learns a lesson.

I see the minaret ban as a sign that the world is just beginning to reject religion as an excuse for bad behavior. Peaceful Muslims will work with non-Muslims to prevail over the radical perversion of Islam. This time will pass into history and be replaced by a time of rational discrimination and careful tolerance. I hope I’m right, the sooner the better.

Butter-free grilled cheese

  • Bread slices, 2
  • Cheese slices, 2
  • Bacon strips, 4
  1. Fry bacon over medium heat. Remove bacon and set aside.
  2. Place bread slice in pan to absorb half of fat and set aside.
  3. Place second bread slice in pan to absorb remaining fat.
  4. Add cheese slice and cover for a few seconds to promote melting.
  5. Add bacon and second cheese slice and cover for a few seconds.
  6. Place first bread slice on top with greasy side up to make sandwich.
  7. Turn sandwich to brown both sides and remove from heat.
  8. Advise paramedics before enjoying.

Emacs creeps up on me

I have used vim for years—since I started coding PHP. (Sometimes I preferred the Zend Studio editor because nothing does a better job of cross-linking in PHP projects. Unfortunately, almost anything could do a better job of memory management. As WordPress grew, the Zend editor became too slow to be usable. Too bad. I miss it.) Now that I am writing some Erlang, I am learning to use emacs.

The credit for this switch belongs entirely to the lovely erlang-mode. (I tried TextMate’s erlang mode but I couldn’t get past TextMate’s strange navigation keys, etc. I wish there were standard navigation keys in OS X. Too bad. I’ve heard TextMate is great.) The emacs erlang-mode helps me write beautiful code. Now that I’m also learning to use emacs in php-mode I rarely become disoriented and type “:w” to save a file. (I don’t miss vim.)

Not everything about emacs is perfect. It doesn’t understand my Mac’s right-delete key. Left-delete (backspace) won’t delete a tab; it converts it the tab spaces and deletes one of them so that I have to hit backspace many times to delete a single tab. And in php-mode, the indentation rules are far more complex than the WordPress coding standards; I just want tabs in php-mode.

Even though I have these problems, you have to hand it to emacs for being customizable. It took a couple of hours to find all the solutions, but I solved all of the above problems above by adding these lines to my .emacs file:

;; Map OS X Terminal SSH delete key                                                                                                                                  
(global-set-key (read-kbd-macro "ESC [ 3 ~") 'delete-char)

;; Backspace should delete, not convert tabs to spaces                                                                                                               
(setq c-backspace-function 'backward-delete-char)

;; In PHP, never indent; always insert TAB.
(require 'php-mode)
(defun my-php-mode-hook ()
  (local-set-key (kbd "TAB") 'self-insert-command))
(add-hook 'php-mode-hook 'my-php-mode-hook)

This works for me even though I understand less than half of it. There is so much to learn.