Friday, July 04, 2008

Radio Songs

Listening to KDVS 90.3 on my morning commute on Thursday, I heard this song at 7:30 AM:

Sri Lanka-based Fonseka's "Kapirigna" on the 1995 compilation album "The Secret Museum of Mankind, Volume One," on the Yazoo label. You can hear it around the 90-minute mark on the KDVS "Swamp Bass" stream here: http://www.kdvs.org/listen/m3u/show_id/446/date/2008-07-03. Reminds me of the Cajun/Zydeco exuberance.

Listening to KYDS 91.5 this evening I heard Kingston, NY-based Coheed and Cambria's "Delirium Trigger" from their 2002 album "The Second Stage Turbine Blade" on the Equal Vision and Defiance labels. Video.

Sunday, June 29, 2008

Supi Udupi

After the movie, we visited Udupi Indian Restaurant on Sunrise: http://www.vegguide.org/entry/3814. I ordered the deluxe dinner, which had a smattering of everything. Minimalistic interior, but outstanding staff and a wonderful feast.

Flight of the Red Balloon

I enjoyed the long takes of this film--some as long as eight minutes. All dialogue's improvised. So much of the movie takes place within Suzanne's (Juliette Binoche) apartment that by the end I felt very much at home there--it's a cozy, bohemian Parisian loft, with an abundance of books and scattered items. When Simon went to "have a go" on his Playstation, I wanted to know what game he played. The poster on the back of the door advertised "La Ballade de la Mister Punch", a tribute to the Punch and Judy puppet show. The movie seems as though it's from Song Fang's perspective--unjudging, attentive, thoughtful, cozy. Song adapts and becomes the calm in the middle of deteriorating relationships--Marc, the downstairs tenant, who hasn't paid rent in over a year; and Pierre, Simon and Louise's father who has abandoned his family to live in Montreal. The ending comes abruptly, amidst a teacher discussion in the Musée d’Orsay over Félix Vallotton’s 1899 painting of a child chasing a red ball, "Le Ballon." The movie fades away with the song "Tchin Tchin" (French for "cheers") by singer Camille. The movie also seems like it might document the view from Simon's perspective--adrift as he floats between school, home, the cafe where he plays pinball, and piano lessons. The home becomes a womb, but without Suzanne, it also seems somewhat empty. Suzanne comes and goes freely, in her words, "making everyone happy." The end of the film seems to document how much Simon's needs aren't getting met--Louise chooses to stay in Brussels to care for her great-grandfather, leaving Simon visibly upset (sleeping with his bear). Song, as the nanny, checks in to let him know she cares, but respects his grieving and lets him rest. Suzanne, slowly but successfully restoring order to the chaos left by Pierre's departure two years earlier, struggles to keep the threads of her family together. As I mentioned, the ending comes abruptly, leaving me wanting to see more--what happens next? The chemistry seems right for thsi family though--I suspect they turn out all right, between Suzanne's passion and Song's presence.

Even though we ate before watching this movie, I felt incredibly hungry watching it. Watching Song learn to make crepes, or Suzanne offer a biscuit, or Marc prepare vegetables, or a poured glass of wine--I couldn't wait to eat.

From left to right: ? (Chinese professor), Song Fang (Song), Louise Margolin (Louise), Juliette Binoche (Suzanne), Simon Iteanu (Simon), and Hippolyte Girardot (Marc).


New York Times review.
Village Voice review.

Below: I guess this is how they did it. I imagined elaborate wind machines, fishing line, and so forth.

Thursday, June 26, 2008

Fire

The sun looked like this on the way home:


(note: not my pic, and not a pic of Sacramento)

Living in California's Central Valley means smoke from fires flows down into the "bowl" where we live from the foothills to the east, west, and north.

A few years ago, the fires produced enough ash that it looked like a light snow dusting for 24 hours.

A co-worker told me yesterday that about eight years ago, she saw the wind creating billows of smoke.

I can't smell the smoke unless I drive with the window down.

Nothing threatening or scary--a relatively minor side-effect of living in one of the safest places on earth (no hurricanes, no tsunamis, no earthquakes, minor chance of floods, no tornadoes, no snowfalls, and so forth).

Sunday, June 22, 2008

Radio Songs

Heard:
Franklin, Tennessee-based Paramore's "Misery Business" from their 2007 album "Riot!" on the Fueled By Ramen label.

Garry Schyman's "Praan" from the "Where the Hell is Matt?" video: http://www.vimeo.com/1211060
I also have a new radio station that I'm listening to in tandem with KYDS (91.5): KDVS, 90.3, out of Davis, CA.

Friday, June 13, 2008

Festuca Idahoensis



Link: http://www.bluestem.ca/festuca-siskiyou-blue.htm

Picnics

Local parks:
  1. Arden Park (La Sierra Blvd)
  2. McKinley Park (Alhambra & H)
  3. William Land Park (Land Park Dr & Freeport Blvd)
  4. Maddox Park (Thor & Mission)
  5. Howe Park (Howe & Cottage)
  6. River Park (Carlson, across from Sac State)
  7. Arden Bar at the American River (End of Arden Way, East of Fair Oaks Blvd)

Sunday, June 08, 2008

Radio Songs

El Paso, TX-based Sparta's "Collapse" from their 2002 album "Wiretap Scars" on the Geffen Records label.

Lubbock, TX-native Joe Ely's "Slow You Down" from his 1993 album "Love and Danger" on the MCA Records label. From the May 31 recording of A Prairie Home Companion in Las Cruces, NM.

Homework, Sections 5.1 through 5.3

My solutions to the 2nd edition Dragon Book's Exercises for chapter five:

5.1.1 a, b, c: Investigating GraphViz as a solution to presenting trees

5.1.2: Extend the SDD of Fig. 5.4 to handle expressions as in Fig. 5.1:
  1. L -> E N
    1. L.val = E.syn
  2. E -> F E'
    1. E.syn = E'.syn
    2. E'.inh = F.val
  3. E' -> + T Esubone'
    1. Esubone'.inh = E'.inh + T.syn
    2. E'.syn = Esubone'.syn
  4. T -> F T'
    1. T'.inh = F.val
    2. T.syn = T'.syn
  5. T' -> * F Tsubone'
    1. Tsubone'.inh = T'.inh * F.val
    2. T'.syn = Tsubone'.syn
  6. T' -> epsilon
    1. T'.syn = T'.inh
  7. E' -> epsilon
    1. E'.syn = E'.inh
  8. F -> digit
    1. F.val = digit.lexval
  9. F -> ( E )
    1. F.val = E.syn
  10. E -> T
    1. E.syn = T.syn
5.1.3 a, b, c: Investigating GraphViz as a solution to presenting trees

5.2.1: What are all the topological sorts for the dependency graph of Fig. 5.7?
  1. 1, 2, 3, 4, 5, 6, 7, 8, 9
  2. 1, 2, 3, 5, 4, 6, 7, 8, 9
  3. 1, 2, 4, 3, 5, 6, 7, 8, 9
  4. 1, 3, 2, 4, 5, 6, 7, 8, 9
  5. 1, 3, 2, 5, 4, 6, 7, 8, 9
  6. 1, 3, 5, 2, 4, 6, 7, 8, 9
  7. 2, 1, 3, 4, 5, 6, 7, 8, 9
  8. 2, 1, 3, 5, 4, 6, 7, 8, 9
  9. 2, 1, 4, 3, 5, 6, 7, 8, 9
  10. 2, 4, 1, 3, 5, 6, 7, 8, 9
5.2.2 a, b: Investigating GraphViz as a solution to presenting trees

5.2.3: Suppose that we have a production A -> BCD. Each of the four nonterminals A, B, C, and D have two attributes: s is a synthesized attribute, and i is an inherited attribute. For each of the sets of rules below, tell whether (1) the rules are consistent with an S-attributed definition (2) the rules are consistent with an L-attributed definition, and (3) whether the rules are consistent with any evaluation order at all?

a) A.s = B.i + C.s
  1. No--contains inherited attribute
  2. Yes--"From above or from the left"
  3. Yes--L-attributed so no cycles
b) A.s = B.i + C.s and D.i = A.i + B.s
  1. No--contains inherited attributes
  2. Yes--"From above or from the left"
  3. Yes--L-attributed so no cycles
c) A.s = B.s + D.s
  1. Yes--all attributes synthesized
  2. Yes--all attributes synthesized
  3. Yes--S- and L-attributed, so no cycles
d)
  • A.s = D.i
  • B.i = A.s + C.s
  • C.i = B.s
  • D.i = B.i + C.i
  1. No--contains inherited attributes
  2. No--B.i uses A.s, which depends on D.i, which depends on B.i (cycle)
  3. No--Cycle implies no topological sorts (evaluation orders) using the rules
5.2.4: This grammar generates binary numbers with a "decimal" point:
  1. S -> L . L | L
  2. L -> L B | B
  3. B -> 0 | 1
Design an L-attributed SDD to compute S.val, the decimal-number value of an input string. For example, the translation of string 101.101 should be the decimal number 5.625. Hint: use an inherited attribute L.side that tells which side of the decimal point a bit is on.
  1. S -> L . Lsubone
    1. L.inh = 0
    2. Lsubone.inh = -1
    3. S.val = L.syn + Lsubone.syn
  2. S -> L
    1. L.inh = 0
    2. S.val = L.syn
  3. L -> Lsubone B
    1. Lsubone.inh = L.inh + 1
    2. B.inh = L.inh
    3. L.syn = Lsubone.syn * B.syn
  4. L -> B
    1. L.syn = B.syn * 2^L.inh
  5. B -> 0 | 1
    1. B.syn = digit.lexval
5.2.5: Design an S-attributed SDD for the grammar and translation described in 5.2.4.
  1. S -> L . Lsubone
    1. S.val = L.lhs + Lsubone.rhs
  2. S -> L
    1. S.val = L.lhs
  3. L -> Lsubone B
    1. L.lhs = Lsubone.lhs + (2^L.lhs_exponent * B.val)
    2. L.rhs = Lsubone.rhs + (2^L.rhs_exponent * B.val)
    3. L.lhs_exponent = Lsubone.lhs_exponent + 1
    4. L.rhs_exponent = Lsubone.rhs_exponent - 1
  4. L -> B
    1. L.lhs = 2^L.lhs_exponent * B.val
    2. L.rhs = 2^L.rhs_exponent * B.val
    3. L.lhs_exponent = 0
    4. L.rhs_exponent = -1
  5. B -> 0 | 1
    1. B.val = digit.lexval
5.2.6: Link: http://schultkl.blogspot.com/2008/05/solution-to-dragon-book-second-edition.html

5.3.1: Below is a grammar for expressions involving operator + and integer or floating-point operands. Floating-point numbers are distinguished by having a decimal point.
  1. E -> E + T | T
  2. T -> num . num | num
a) Give an SDD to determine the type of each term T and expression E.
  1. E -> Esubone + T
    1. E.type = if (E.type == float || T.type == float) { E.type = float } else { E.type = integer }
  2. E -> T
    1. E.type = T.type
  3. T -> numsubone . numsubtwo
    1. T.type = float
  4. T -> num
    1. T.type = integer
b) Extend your SDD of (a) to translate expressions into postfix notation. Use the binary operator intToFloat to turn an integer into an equivalent float. Note: I use character ',' to separate floating point numbers in the resulting postfix notation. Also, the symbol "||" implies concatenation.
  1. E -> Esubone + T
    1. E.val = Esubone.val || ',' || T.val || '+'
  2. E -> T
    1. E.val = T.val
  3. T -> numsubone . numsubtwo
    1. T.val = numsubone.val || '.' || numsubtwo.val
  4. T -> num
    1. T.val = intToFloat(num.val)
5.3.2 Give an SDD to translate infix expressions with + and * into equivalent expressions without redundant parenthesis. For example, since both operators associate from the left, and * takes precedence over +, ((a*(b+c))*(d)) translates into a*(b+c)*d. Note: symbol "||" implies concatenation.
  1. S -> E
    1. E.iop = nil
    2. S.equation = E.equation
  2. E -> Esubone + T
    1. Esubone.iop = E.iop
    2. T.iop = E.iop
    3. E.equation = Esubone.equation || '+' || T.equation
    4. E.sop = '+'
  3. E -> T
    1. T.iop = E.iop
    2. E.equation = T.equation
    3. E.sop = T.sop
  4. T -> Tsubone * F
    1. Tsubone.iop = '*'
    2. F.iop = '*'
    3. T.equation = Tsubone.equation || '*' || F.equation
    4. T.sop = '*'
  5. T -> F
    1. F.iop = T.iop
    2. T.equation = F.equation
    3. T.sop = F.sop
  6. F -> char
    1. F.equation = char.lexval
    2. F.sop = nil
  7. F -> ( E )
    1. if (F.iop == '*' && E.sop == '+') { F.equation = '(' || E.equation || ')' } else { F.equation = E.equation }
    2. F.sop = nil
5.3.3: Give an SDD to differentiate expressions such as x * (3*x + x * x) involving the operators + and *, the variable x, and constants. Assume that no simplification occurs, so that, for example, 3*x will be translated into 3*1 + 0*x. Note: symbol "||" implies concatenation. Also, differentiation(x*y) = (x * differentiation(y) + differentiation(x) * y) and differentiation(x+y) = differentiation(x) + differentiation(y).
  1. S -> E
    1. S.d = E.d
  2. E -> T
    1. E.d = T.d
    2. E.val = T.val
  3. T -> F
    1. T.d = F.d
    2. T.val = F.val
  4. T -> Tsubone * F
    1. T.d = '(' || Tsubone.val || ") * (" || F.d || ") + (" || Tsubone.d || ") * (" || F.val || ')'
    2. T.val = Tsubone.val || '*' || F.val
  5. E -> Esubone + T
    1. E.d = '(' || Esubone.d || ") + (" || T.d || ')'
    2. E.val = Esubone.val || '+' || T.val
  6. F -> ( E )
    1. F.d = E.d
    2. F.val = '(' || E.val || ')'
  7. F -> char
    1. F.d = 1
    2. F.val = char.lexval
  8. F -> constant
    1. F.d = 0
    2. F.val = constant.lexval

Monday, June 02, 2008

Tacos Are Good



For Dawn--seen on the light rail home this afternoon. Available at Hot Topic.

Sunday, June 01, 2008

Turning the Wrong Way

I thought the nut on the p-trap under our bathroom sink turned lefty-loosey but it turns out it turns righty-loosey. How easy it is to turn when one goes in the right direction.

In other news, I've determined that the ceiling fans in our duplex (A Hunter model #21416 and a KDK model #D13YU) lack a hole made for oiling. The new Hunter fan makes a rhythmic ticking noise after about a day or so of high-speed operation, while the older KDK fan makes the same rhythmic ticking noise more consistently. My first thought--oil the bearings, per: http://www.ceiling-fans-n-more.com/ceiling-fan-oiling.php. Unfortunately, the manufacturer did not intend for customers to oil these fans, so I'm going to need some creativity to do so. It might also be a balancing issue...so who knows if I'll have time to figure it out in the coming weeks.

Saturday, May 31, 2008

Myopia, Astigmatism


General image depicting normal eye and abnormal curvature of an astigmatic eye

Results of my test on Wednesday from the CostCo Citrus Heights Pharmacy:

SRX (Spectacle Prescription)
O.D. (Oculus Dexter, my right eye):
  1. SPH: +0.25
  2. CYL: -1.00
  3. AXIS: 0.90
  4. ADD: n/a
  5. PRISM/BASE: n/a
O.S. (Oculus Sinister, my left eye):
  1. SPH: -0.50
  2. CYL: DS
  3. AXIS: n/a
  4. ADD: n/a
  5. PRISM/BASE: n/a
All measurements represented in units of dioptres, a unit that represents focusing power. More dioptres mean more focusing power--so if the numbers get big, that means you need a "stronger" prescription to see clearly.

SPH means sphere--a positive number represents farsightedness and a negative number represents nearsightedness. Why? In a farsighted eye, the curve of the cornea is flatter than the curve of a normal cornea, so the correction involves "adding" to the farsighted eye to get it back to normal. In a nearsighted eye, the curve of the cornea extends farther than the curve of the normal cornea, so the correction involves "subtracting" from that curve to bring it back to a normal curvature. The point being to get the cornea back to focusing light on the retina like a normally curved cornea does. The larger the number (positive or negative) the larger the deviation from the normal curvature of the cornea, and the blurrier the vision.

CYL means cylinder, and represents the amount of power needed to correct a cornea with astigmatism (a cornea that's oval-shaped, which causes blurring (see the picture at the top), as opposed to a normal cornea that's symmetrically round like a basketball)--DS means no astigmatism. In my right eye, I need one dioptre of focusing power correction.

AXIS, for astigmatic eyes, represents a line passing through the middle of the oval-shaped cornea--in my case through the longer side. In my right eye, I need minus-one dioptre of correction along the 0-/180-degree axis (see the Wikipedia article for an explanation of why it's not "090" like the prescription says)--which means the longer side of the oval-shaped cornea in my cases lies on an imaginary line drawn between my two eyes (the 9 o'clock/3 o'clock positions). I believe reducing the focusing power of the longer part of the oval-shaped cornea helps the cornea focus in a more spherical manner.

20/20 vision means the ability to read a character 8.84 mm high at a distance of 20 feet.

Fushigi Yuugi



Dawn and I made a run through the 52 episode series over the past two months. Thoughts:
  1. Japanese voices > English voices
  2. After removing the intro song (~1:30m?), intro story recap (1m?), and outro (1:30m?), the shows seemed to average ~20 minutes.
  3. 52 episodes of watching Tamahome and Miaka push apart and come together: Tamahome rejects Miaka's declaration of love; Tamahome swallows Kotuko; Miaka can't become spoiled in her quest for the shinzaho; Nakago's assault of Miaka; Tamahome decides to cut off relations to lessen the pain later; Tamahome runs off when he learns he's a character in a book; Tamahome returns to the book; finally, reunited--whew.
  4. I appreciated Miaka's use of empathy to save Mitsukake's restless lover from the sickness demon--amazing to see it played out in an anime.
  5. Always, always, always, kill the bad guys when they're down and out. It cost them the life of Chiriko and the first shinzaho.
  6. "Here, I don't know how this item will help you, but I'm sure it will advance the plot in some unknown way in the near future." For example, Hotohori's holy sword.
  7. The show didn't pull many punches with taboos regarding sexuality, abuse, and violence.
  8. Tokyo really sucks at giant monster defense. It looked like they had planes in the air to dispatch nuclear warheads, but the show left that thought unresolved.
  9. Amiboshi's story arc casts an anti-war sentiment to the show, while Miaka's story arc casts a proactive peace through strength sentiment to the show. Sentiment winner in my opinion: Miaka; Amiboshi retreats into memory-less bliss while Miaka saves the day.
  10. Characters I wish the writers had included more in the action: Mitsukake, Chiriko--these two barely get screen time. It approaches parody watching Mitsukake continually fail to save those close to him, even though he can heal people to complete health "once per day." Chiriko, boy genius and mystical musician, wanders around with the team until he gets possessed--the writers allow him the glory of stabbing himself to death with a blunt top. *sigh*
  11. The handling of homosexuality in the show surprised me--Nuriko, after the shock wears off, becomes very endearing in the story, as she takes Miaka under her wing. Tatsuke's "I don't like girls" stance doesn't resonate so much, even though he sacrifices everything in hotheaded defense of Miaka.
Overall, I appreciated Miaka's personality and the show's attempt (however short) to show the Seiryu warriors as partial products of their environment: Nakago's single minded quest for revenge, Soi's desperation for recognition, Suboshi's unrequited devotion to Yui, the wolf-man's fearfulness and anger of pain. We learn nothing of Tomo or the other magician whom Chiriko dispatches. The random decision for spirits to return to save the day for Tamahome when he fights Suboshi seemed odd to me.

Worth a watch, in my opinion.

Friday, May 30, 2008

Flea Combing


Learning as we go along how to give our cats relief. Applied a fresh batch of Promeris and Fleabusters comes next Thursday.

Sunday, May 25, 2008

Happy Towel Day



In memory of Douglas Adams: http://en.wikipedia.org/wiki/Towel_Day

I want to hang one of the above near my work desk. Link: http://www.royal-plus.de/dna/indexE.html

UPDATE:

Email from the artist, 2024-10-05: "We are unfortunately sold out. And there will be no new production of the towels. We will close the shop soon. So long, and thanks for all the fish, Kind regards, DON'T PANIC Towel Shop Uli Schuster"

I had emailed in August 2020 to inquire about ordering one, but unfortunately, "Unfortunately the US have stopped the parcel traffic from oversea, due Corona.  So, I keep it on hold, and will let you know when shipping will be possible again. " Then I forgot. So only myself to blame! Will see if one becomes available second-hand.

CSUS Tea Ceremonies


We missed the last one due to finals week, but hopefully they'll have another one in the near future. Link: http://library.csus.edu/tearoom/. From the CSUS event release:
Japanese tea ceremony planned at Sacramento State

The next tea ceremonies for Sacramento State’s Sokiku Nakatani Tea Room and Garden are 10:30 a.m., 1 p.m. and 2:30 p.m., Wednesday, May 21; and 10 a.m. and 1 p.m., Thursday, May 22.

The Sokiku Nakatani Tea Room and Garden is located on the lower level of the University Library
Sacramento State is one of only a few campuses in the United States to have a tea room that allows students, faculty and members of the community the opportunity to experience the art of tea through traditional Japanese tea ceremonies. The Sokiku Nakatani Tea Room and Garden was made possible by a gift from an anonymous donor in honor of his mother.

“The practice of tea originated in China, was introduced to Japan in the 12th century by Zen monks and became a spiritual and aesthetic discipline that has had a profound impact on Japanese civilization,” says Sally Hitchcock, University Library outreach coordinator.

She says tea was used by the monks as a mild stimulant for clearing the mind during meditation and was valued for its medicinal qualities, then enjoyed by nobility for lavish functions. Eventually tea gatherings became common among all classes of people and thus the creation of rooms designed especially for such gatherings. Today the practice of tea is still a way for people to come together to find calmness and peace of mind.

“Since the room was dedicated in June 2007, we have held more than 20 tea ceremonies and have enjoyed hosting every age group from kindergarteners to retirees,” Hitchcock says.

For more information on tea room ceremonies, contact Hitchcock at (916) 278-5954. For media assistance, contact Sacramento State’s Public Affairs office at (916) 278-6156.

Saturday, May 17, 2008

L-Attributed, Top-Down-Parsable SDD Implementation of the McNaughton-Yamada-Thompson Algorithm

My solution to the 2nd edition Dragon Book's Exercise 5.2.6:

Implement the McNaughton-Yamada-Thompson algorithm, which converts a regular expression into a nondeterministic finite automaton (NFA), by an L-attributed SDD on a top-down parsable grammar. Assume that there is a token char representing any character, and that char.lexval is the character it represents. You may also assume the existence of a function new() that returns a new state, that is, a state never before returned by this function. Use any convenient notation to specify the transitions of the NFA.

Notes
:
  1. I use the characters '{' and '}' to delimit rules, and the rules end up taking the form "{ state-x -> symbol -> state-y } ... { ... }".
  2. The symbol "||" means concatenation.
  3. Concatenation ( T -> F Tsub1 ) represented a bit of confusion for me, since it "deletes" state Tsub1.Start from the automaton (the exercise doesn't allow for deletion). McNaughton-Yamada-Thompson write, "The accepting state of N(s) and the start state of N(t) are merged into a single state, with all the transitions in or out of either state."

    My initial attempt, setting F.EndTransitions = F.EndTransitions || Tsub1.StartTransitions seems reasonable. Since state Tsub1.Start continues to exist, references to it in Tsub1.StartTransitions, Tsub1.InnerTransitions, or Tsub1.EndTransitions do not require modification.

    Everything works because from F.End the automaton may remain in F, or transition to Tsub1. Once the automaton transitions to Tsub1, however, it never returns--no references in Tsub1 point to states in F. In practical terms, this means the automaton produced contains one extra state Tsub1.Start for every concatenation in the original regular expression.
  4. Adding epsilon transitions to Start or End states requires retaining the existing StartTransitions or EndTransitions, respectively.
  5. A PDF of this solution produced via LaTeX can be found here.
Proposed solution:

S -> E
  1. S.Start = E.Start
  2. S.End = E.End
  3. S.StartTransitions = E.StartTransitions
  4. S.EndTransitions = E.EndTransitions
  5. S.InnerTransitions = E.InnerTransitions
E -> T
  1. E.Start = T.Start
  2. E.End = T.End
  3. E.StartTransitions = T.StartTransitions
  4. E.EndTransitions = T.EndTransitions
  5. E.InnerTransitions = T.InnerTransitions
E -> T '|' Esub1
  1. E.Start = new()
  2. E.End = new()
  3. E.StartTransitions = "{ " || E.Start || " -> epsilon -> " || T.Start || " } { " || E.Start || " -> epsilon -> " || Esub1.Start || " }"
  4. E.EndTransitions = Nil
  5. T.EndTransitions = T.EndTransitions || "{ " || T.End || " -> epsilon -> " || E.End || " }
  6. Esub1.EndTransitions = Esub1.EndTransitions || "{ " || Esub1.End || " -> epsilon -> " || E.End || " }
  7. E.InnerTransitions = T.StartTransitions || T.InnerTransitions || T.EndTransitions || Esub1.StartTransitions || Esub1.InnerTransitions || Esub1.EndTransitions
T -> F
  1. T.Start = F.Start
  2. T.End = F.End
  3. T.StartTransitions = F.StartTransitions
  4. T.EndTransitions = F.EndTransitions
  5. T.InnerTransitions = F.InnerTransitions
T -> F Tsub1
  1. T.Start = F.Start
  2. T.End = Tsub1.End
  3. T.StartTransitions = F.StartTransitions
  4. T.EndTransitions = Tsub1.EndTransitions
  5. F.EndTransitions = F.EndTransitions || Tsub1.StartTransitions
  6. T.InnerTransitions = F.InnerTransitions || F.EndTransitions || Tsub1.InnerTransitions
F -> G
  1. F.Start = G.Start
  2. F.End = G.End
  3. F.StartTransitions = G.StartTransitions
  4. F.EndTransitions = G.EndTransitions
  5. F.InnerTransitions = .InnerTransitions
F -> G '*' Fsub1
  1. F.Start = new()
  2. F.End = Fsub1.End
  3. F.StartTransitions = "{ " || F.Start || " -> epsilon -> " || G.Start || " } { " || F.Start || " -> epsilon -> " || Fsub1.Start || " }"
  4. F.EndTransitions = Fsub1.EndTransitions
  5. G.EndTransitions = G.EndTransitions || "{ " || G.End || " -> epsilon -> " || G.Start || " } { " || G.End || " -> epsilon -> " || Fsub1.Start || " }"
  6. F.InnerTransitions = G.StartTransitions || G.InnerTransitions || G.EndTransitions || Fsub1.StartTransitions || Fsub1.InnerTransitions
G -> '(' E ')'
  1. G.Start = E.Start
  2. G.End = E.End
  3. G.StartTransitions = E.StartTransitions
  4. G.EndTransitions = E.EndTransitions
  5. G.InnerTransitions = E.InnerTransitions
G -> epsilon
  1. G.Start = Nil
  2. G.End = Nil
  3. G.StartTransitions = Nil
  4. G.EndTransitions = Nil
  5. G.InnerTransitions = Nil
G -> char
  1. G.Start = new()
  2. G.End = new()
  3. G.StartTransitions = "{ " || G.Start || " -> " || char.lexval || " -> " || G.End || " }"
  4. G.EndTransitions = Nil
  5. G.InnerTransitions = Nil
Comments, questions, concerns welcome.

Thursday, May 15, 2008

Upload Complete!!!


Laughed uncontrollably as I watched Jeff Goldblum in the movie Independence Day upload a virus into the alien mother ship's host--Jeff's PowerBook displays "Negotiating With Host", then "Online With Host" followed by the Apple beep, followed by tappity-tappity as he enters about ten lines of code in two seconds, then "Uploading Virus", then a cut to a cent-com operator reporting, "Sir, he's Uploading the Virus", then the cent-com commander reporting, "Eagle One, The Package Is Being Delivered", then cut back to Jeff's PowerBook reporting "Uploading...Upload Complete!!!", and finally Jeff turning to Will Smith and saying, "The Virus Is In."

High camp.

Video: http://youtube.com/watch?v=LQ2ILkiCORo

Monday, May 12, 2008

Child Names

  • Anthony Flea "Your life is more than just a read-through"
  • Ellie

Saturday, May 10, 2008

Our Popular Restaurants

A list:
  1. Sunflower Natural Food Restaurant (Vegetarian/Vegan)
  2. Lido's (American)
  3. Shar-E Punjab (Indian)
  4. Opa-Opa (Greek)
  5. Addis Ababa (Ethiopian)
  6. Thai Cottage (umm...)
  7. Danielle's Creperie (French)
  8. Fox and Goose (UK)
  9. Hamburger Mary's (American)
  10. Udupi Cafe (India)
  11. Zelda's Gourmet Pizza (American)
Potential others:
  1. La Boheme (French)
  2. Carmelita's (Mexican-American)
  3. Crepe Escape (French)
  4. Rubicon Brewery (American)
  5. Jack's Urban Eats (American)
  6. Scott's Seafoood and Steaks (American)
  7. Silver Sake
  8. Pangaea Cafe (next to Vic's Ice Cream)
UPDATE, 2011-07-21:

Blog Archive