Monday, December 28, 2009
Monday, December 21, 2009
gloom of this sunless winter morning
amaterusa, the sun has gone into a cave
& must be tricked to look out
light mirroring blinding light
the beginnings of a return
between darkness & dawn
a remembrance of the dead
(my mother died near Christmas
snowing at the funeral
then a shaft of sunlight
it is not the distance from the sun but the angle
maximum 23 degrees latitude
26 degrees longitude
standing still, if only for an instant
when darkness triumphs
if only for an instant
(if only in Northern latitudes)
circles of standing stone
they are for eternity
a day of reversals
“today when freeman fawns on slave—“
when the god is torn apart by his maddened followers
water into wine
a new shoot sprouts
Dies natalis solis invictus
a day for Christmas shopping
only 4 shopping days left
at the birth of winter
With a little help from Wikipedia. Amaterusa is a Japanese festival for the solstice. Other relevant ones included are the Greel Linaea, the Roman Saturnalia and Sol invictus (the victory of the sun). Kallimachos is a poet from the 2nd century BC in Alexandria. It is from the fragments of his Aetia, a long poem in elegiac metrics about the origins of certain rites and practices. The translation is my own.
Friday, December 18, 2009
Next I hope to work on my own website and get it up to the point that I can make a public announcement of its existence.
The rain has stopped.
My mind too has stopped. A blinking cursor on a white screen. More, and better, later.
Wednesday, December 16, 2009
Though, I have often been curious why a tropical plant that really only flourishes in equatorial conditions should have become a symbol for a winter holiday in the northern hemisphere. Is it perhaps a dreaming after the tropical warmth?
Today much warmer. The rain pocks the standing water in the back yard.
I hope to work on assignments for winter quarter today. I have put rewriting the chapters on hold until I hear from the editor. I want to make sure that the final format is what they want.
Saturday, December 12, 2009
So, I have been working mostly on getting things ready for school. I have 7 assignments done for the SQL class, and 4 for the Visual Basic class. I have uploaded the materials for the Database class. Students will have to log in to look at the chapters there.
I want to finish them and then work on the main personal web site. And so much other writing I want to do, but time, for this sabbatical at least, is running out. The holidays are full of activities that pull me from work. Today, for instance, after putting up the Christmas tree, we may go up to Bothell to Molbak's Nursery (a seasonal trip we do every year) and then down to Green lake for the illuminarium--paper lanterns lit along the walkway all around the lake. A lovely, if chilly, thing to do.
And there is still Christmas shopping to do. (A difficult thing without money.)
The thing is, I am not even that fond of "Christ--mass," though I am willing to celebrate the solstice, the brief triumph of night over day (in northern latitudes), and the day's slow return. A reason enough for gifts. And I love the smell of a tree in the house. (Still not sure what the conifers meant to the druids or why they were incorporated originally by the Church--ever green I guess means never dying, or at least free from the cycles of winter dying and spring renewal? I should look it up.)
Anyway, a busy time. A time for scattered incoherent blogs. . .
Wednesday, December 9, 2009
As for work, I have been working on school stuff primarily. I finished the first assignment for the visual basic class and started the second. I would like to have all the assignments ready before school starts. As for rewriting the book, I decided to hold off a bit until I have talked to the editor. I want to be sure what they want in the final manuscript. Once I know, I will begin an intensive rewrite.
I also had an idea for a another book. I have always had more ideas than I could handle at any one time. One of my problems has always been focus. I scatter my energies among many projects, rather than focusing on one of them and bring it to completion before I move on to the next.
One thing at a tme.
Monday, December 7, 2009
Today I have been mostly working on Assignments for ITC 222 SQL. I have finished the database and finished the first seven assignments. Now I think I will try to get the first several assignments for ITC 172 Visual Basic.
Otherwise the main interest of the day has been the cold. Our poor furnace struggles to keep up and we can only heat the house with a mix of space heaters and the fireplace.
Brisk mornings can shock the mind alive. Maybe I will get some work done the next couple of days.
I have decided that when I return to school, this blog will become my personal blog associated with the web site I am designing. I will start a second blog that will focus only on materials for my students and classes.
Friday, December 4, 2009
CSS can be frustrating, sometimes. I spent way too much time yesterday trying to get my columns to be of equal length with variable content. By default columns are only as long as the content in them. There is a trick you can use, but it involves making a separate container div for each column and then offsetting the columns off screen and pushing the text back on screen over the containing divs. It is complicated and messy. It results in the appearance of equal length columns, but has some other drawbacks. For one you can no longer center the outside container in the body because of its offset.
In the end, after hours of work I resorted to cheating. I set a minimum height for each column and if I needed it larger I manually set the height in the page itself. This is bad in terms of maintainability, flexibility, and extensibility. I will revisit it again. A simple solution is not to have a background color in the second column. If the background of the container is white and everything in the container is white, it looks as if both columns are the length of the container. It is just not as pretty.
Anyway, I would rather contemplate the moon, I think, waning into December.
Thursday, December 3, 2009
they went up to Olympos glorying in sweet voices
with immortal song
the black earth echoed around them as they hymned
sweet drumming rose under their feet
as they climbed to their father ruling the sky
holding the dark thunder & bolt lightning
after defeating his father Kronos by might
distributing to each of the immortals their fair portions ad privledges
these things the Muses sing who have their home
in Olympos, the nine daughters of magnanimous Zeus
Klio & Euterpe & Thalia & Melpomene & then
Terpsichore & Erato & Polumnia & Ourania & also
Kalliope, who is the most renowned
because she attends to the exalted princes & sacred kings
--and here the end of the section:
happy he whom the Muses Love
ο δ’ όλιβιος ̀’ον τινα Μουσαι φίλωνται
sweet speech flows from his mouth
even if he is full of grief
with a mourning spirit
full of fresh sorrow
his heart parched dry
yet a singer, a servant of the Muses,
singing news of past men & the Olympian gods
causes anxieties to be forgotten
the memory of them prepared for burial
the gifts of the goddesses turn away sorrow
Wednesday, December 2, 2009
With all there is to do today, my main impulse is to do nothing. Still, I will bow to my better impulses and at least work on assignments for next quarter.
Tuesday, December 1, 2009
My goals for the remaining time:
Finish the database
Create the assignments for ITC 222
Create the assignments for ITC 172
Rewrite as many chapters as I can
also continue to work on poems and my new web site
Sunday, November 29, 2009
Wednesday, November 25, 2009
Here is a picture of the mountain as a backdrop to the town
The road into Smallwood park
The fish pond in Smallwood park
The ruins of the sawmill that was once the reason for the town's existence:
Monday, November 23, 2009
Furius and Arelius, comrades of Catullus,
whether he penetrates the extremes of India
where the shore is pounded by
the waves of dawn
whether to Hyrcanus or to the soft Arabs
or to Sacus or to the archers of Parthius
whether to where the seven-mouthed Nile
colors the sea’s surface
whether he trudges across the high alps
viewing the monuments of mighty Caesar,
the Gaullic Rhine, the turbulent waters,
the furthest outposts of Briton
or whether he attempts all these simultaneously
bearing whatever heaven wills--
speak these few words to my girl
may she live & grow strong in her adulteries
may she take 300 men into her clasp at once,
not loving one in truth, but repeatedly
herniating them all
nor may she look back at my love
as before, which through her fault
has fallen like a flower at the meadow’s edge
touched by a passing plow.
In this poem Catullus exposes all his moods: the conversational, the mock heroic, the brutal invective, the delicately tender. He begins by addressing two "comrades of Catullus," opening a long rhetorical sentence that turns on the preposition "siva," "whether." Then, referring to himself in third person, he outlines an empire vast enough to get lost in. The locations he cites are not merely poetic, they map the exact delineations of the empire: India, Arabia, Egypt, the Rhine, Brittan. His hurt is as big as the empire itself. There is an ironic juxtaposition here of the personal and the politic, the intimacy of his grief vs the vastness of the Roman occupations. Concluding this sentence, he tells his comrades that he has a few words he wants them to impart to Lesbia, and he warns them they are not pleasant. Thus the invective--an art form, if you wish, for which Catullus has been remembered for 2000 years. Against the anger and brutality of his statement to Lesbia, is the the almost unbearable tenderness of the last lines, cast aside like a flower tacto arato est.
Sunday, November 22, 2009
Thursday, November 19, 2009
Wednesday, November 18, 2009
Documentation is a lot like flossing: nobody likes to do it, and far more claim to do it than actually do. Developers want to develop. The last thing they want to do, generally, is to take time out and describe what they are developing and how they are going about it. And yet, like flossing, few things are as important to a healthy database enterprise.
Imagine you have been hired to work as a data administrator for some company. They have a large and complex database, but the former administrator, who was also the developer, left no documentation. In order for you to do your job you need to understand each object in the database is meant to do. You also need to know it is supposed to work, how data is processed. Managers expect you to be able to provide them with the data they need when they need it. Some pieces probably make sense right away, but several pieces remain obscure. You try to ask people about them, but managers are not database designers and, generally, they don’t have a clue. Many of the people who were involved in the creation of the database have moved on, and it is difficult to get a clear sense of the original intentions or purpose of the database. Eventually you may solve the problems, but you will have spent countless hours in investigation, hours that could have been saved by a little documentation.
Documentation is one of the most important and one of the most neglected aspects of any database project. When you look at a database built by someone else, or even one that you may have made some time ago, it is often difficult to see why certain decisions were made, why the tables are the way they are, why certain columns were included or left out. Without documentation, it can take a great deal of research and guesswork to understand the database. You may never understand all of its original logic.
So what does it mean to document a database? There are really two main aspects that need to be documented: the structure of the database itself and the process by which the database was developed.
It is still not perfect by any means, and I don't know how the editors will react to the flossing simile, but at least it flows better than what I had before.
A brief patch of sun this morning, gold, green on the new grass of the back lawn. The mountain is clear and bright with new snow, but the weather report suggests this is a brief respit.
Tuesday, November 17, 2009
Saturday, November 14, 2009
Friday, November 13, 2009
Wednesday, November 11, 2009
Monday, November 9, 2009
It could not be said that he had ever aspired to the position of custodian. He had never said as a child to his father, "when I grow up I want to be a janitor." He had never explored the option of a vocational degree in custodial science when he had made his brief foray into the community college system.
It was something he had settled into like the dust he wipes from behind the curtains or vacuums from the heavy hair dryers in the beauty salons. He had started the cleaning business in desperation between jobs. He had hawked his expensive stereo and his TV for an industrial strength vacuum cleaner, two mops, a broom, some rags, and a bucket. He had arranged to rent a buffer when needed and set out to find some jobs. It was meant to be a stop gap to keep him fed and housed until he found some "real work," something where he sat behind a desk and had two trays, one marked IN and the other OUT. But that was 25 years ago. Cleaning jobs came easy. He had always had plenty of customers and the money hadn't been all that bad. . .
He had even come to enjoy it. There was something pleasurable in working the odd hours that others didn't work, the late nights, the early mornings in the predawn or at dawn when the gold light would melt the cold glass of the window into a warm honey. There was something pleasurable in working alone, in seeing places of business when no business was taking place, in noting the traces of the people who had worked in this place or that, but who were not here now, who were a palpable absence.
Saturday, November 7, 2009
Thursday, November 5, 2009
Here is one of the pictures:
In terms of work, I have finished all the appendixes except one of Visual Studio. I am not sure I should use the Beta. Ultimately Microsoft doesn't allow screen shots from Beta's to be published but I could use them as placeholders. The other thing that concerns me is that the ASP.Net changed a great deal between Beta1 and Beta2. I worry it may change even more before the final version.
Tuesday, November 3, 2009
Another issue I had was VS was not recognizing xhtml elements. It would underline each and give me a validation warning. It took me about an hour to figure out that if I went under Tools/Options/Text Editor/Html that there was a place to set the html target to xhtml Transitional. After that everything worked fine.
I also tried to do the ASP.Net with IIS. Again I had troubles configuring IIS to work with Windows Authentication. I got it so it would work, sort of. It still didn't work with database connections. I made an Login for the IUSER account and gave it access to a database. It worked in design, but not when running. Finally I got the connections to work by using SQL Authorization and adding the connection strings directly to IIS. It works. but I want to get the windows authorization to pass through.
Sunday, November 1, 2009
The lawn, planted at the end of September is beginning to look like a real lawn. Emerald green in the gold of morning light.
So. I feeling the urge to get down to serious work. So far I have finished two appendixes and have two to go. Then I can get into the more intense process of rewriting. I want to add a section about documentation to each chapter. I also want to create rubrics for each chapter's scenario so both students and instructors know how to evaluate their work. . .
But, first the Seahawk game. I fully expect them to lose to Dallas, but hope, however unreasonable, always champions the improbable. . .
Saturday, October 31, 2009
That may be one of the nearer origins of trick or treat and Halloween, but putting food and drink out for the dead is a very ancient tradition. There is the medieval tradition of All Hallows Eve, the night when the dead are released for a moment from their graves. The Ancient Greeks would put bread and beer out for the dead. Placating ghosts with food is one of the oldest traditions of human kind. It probably goes back to at least neolithic times when the bones of the dead were often kept under the floor of the house and disinterred when the family moved. I would not doubt that it dates back farther into the paleolithic, back to when humans became aware of themselves as human as mortal.
It is part of our core humanness to be haunted by our dead and by the fear of death itself and to try to placate them and it. Food is a fundamental of life, a necessity and a comfort. Providing the dead food is a way of reminding the dead of what it was to be alive. Food is communal. To partake is to be a part of the community. By inviting the dead in, we ward of their anger at their separation. We let them know they are not forgotten.
Friday, October 30, 2009
I remember when I was very young how a day could seem to last forever. Now they seem to race by. I think the difference is how great a percentage a day is in your life. When you are very young each day represents a larger percentage of your total experience. As you grow older each day becomes a correspondingly smaller part of the whole. I am sure it could be expressed as a simple ratio: 1 day / total number of days. At six years old each day is 1/2191 or so of your total experience. At 54 each day is 1/19898 of the total. (The calculator in Windows 7 has some great new additions including a date calculator. This number is the difference between my birth date and today's date.)
As Andrew Marvell said
At my back I always hear
Time's winged chariot hurrying near
Tuesday, October 27, 2009
Thinking about F#. I have been trying to write a small program that resolves the quadratic equation x|x>0 and x<42 where p= x*x-x+41. I found this equation in a novel by Arthur C. Clark, Rama 2. In the novel he uses it to trigger an atomic bomb. The unique thing about this equation is that it predicts a sequence of 41 prime numbers starting with 41. After the 41st prime the sequence falls apart. The equation is somewhat an anomaly, a curiosity. I see it as a metaphor for existence: a momentary expression of order in broader chaos. (I am writing a long sequence of 41 poems based on the equation called quadratic.) I have been having trouble with the syntax of the F#. Most examples show the syntax for the interactive interpreter, but I want to write it as a function in a program. I am sure I will figure it out eventually.
Thinking about my lawn which is greening in the gray light and the rain light. . .
Of such scattered things my thoughts consist these days . . .
Sunday, October 25, 2009
Some of the new features for VS include extensibility management which allows you to create applications which can easily be extended by just dropping a dll in the directory, expanded parallel computing, expanded Windows Presentation Foundation (XAML), Silverlight programming, Azure for cloud computing, F#, MVC for the web (not sure of all that that contains but it seems to be a alternate platform for web development, Expanded ADO and data binding tools, Entity Framwork, UML support and more.
I intend to work my way through many of these tutorials between reading Hegel and working on my book. (Found a bit of a Zen moment in Hegel, actually, and unexpectedly. He was saying the usual image of infinity is a line stretching both directions into infinity from some arbitrary point on that line, but that the true image of infinity must be a circle with no beginning or end.)
No Seahawk game today, thankfully. But I must attend a funeral this afternoon The sister of one of my daugter's friends died of cancer. Sad, but they don't want any dark colors. She requested that everyone wear bright colors especially yellow and light blue.
Saturday, October 24, 2009
The Internet is amazing for what it has, but it can sometimes be as amazing for what is absent. My students, my son for that matter, rarely turn to books for information. The subject map of the Internet may be the map of tomorrow's knowledge. The idea does not put me into despair. Modes of literacy change. Once knowledge was what you and your neighbors had managed to memorize. (Plato was suspicious of writing because it would mar memory by making it lazy and replace living dialog with dead text.)
Whatever the gaps, the amount and variety of information available is infinitely richer than what I had available to me when I was young searching the Coeur d' Alene Library and the local Drugstore book rack.
A second link, this one more professional. http://www.devx.com. It is a wonderful site with hundreds of articles for developers using almost any platform and language.
Thursday, October 22, 2009
Last night I worked on a translation from the Greek. I used to do a lot of translation, but haven't done any for a long time. I went to one of my favorite sites on the web.http://www.perseus.tufts.edu/hopper/. The site is amazing to me. It has hundreds of Greek and Latin texts, translations, grammatical and lexicography tools. (They also have Sanskrit, German and English Renaissance materials. It was the only place I was ever able to find Christopher Marlowe's translations of Ovid.) I realize others will probably not be as enthused, but I have spent years trying to collect classical texts. They are expensive and hard to come by. Perseus makes them available for free with a host of scholarly tools.
Despite my years of working with Greek and Latin texts, I am not that good at it. I call my efforts "Decipherments." So, last night I picked a short text, a fragment of Bacchylides, at random. It is about a formal request by the Greeks for a return of Helen before the Trojan war. There is a passage very typical of Greek sentiment:
Zues who dwells on high and sees all
is not to blame for the great sufferings of mortals
All men have it in them to reach
unwavering (straight) ἰθεῖαν justice, attendant
of holy Eunomia and prudent Themis.
Prosperous whose children live with justice.
Anyway, today I am going to work on another appendix and start making notes for rewriting the chapters.
Wednesday, October 21, 2009
I haven't actually played with it yet, but I will today.
I remember with the original SQL Server 2005 beta it wouldn't uninstall. I spent hours with the registry editor trying to get rid of every last trace of the beta, so that I could install the final product. If I was smart, I would only install betas into virtual machines. The problem with that is performance. At least on my machine, Visual studio crawls inside a VM.
Monday I had to take my son up to Puyallup to see a doctor. Yesterday I went into Seattle. Friday I have to go to Tacoma. The gist of it is, I am getting a little panicked about getting the writing done.
On the positive side, My lawn is turning green. It may actually be a lawn by spring.
Sunday, October 18, 2009
100 years to grow to about 2000 people Still, survival is survival. Over a million people pass through here on the way to Mt. Rainier each year, though I suspect most don't remember that they did.
It is a long story how I ended up here, but I will spare you for now. Suffice it to say, for now, that houses down here cost around a quarter of what they cost in Seattle. There are other compensations. We can see the mountain from our back yard. Currently the hills around the town are gold with autumn leaves. When I commute, the first twenty miles or so consist of small farms, fields and trees. I often see deer or herds of elk. The drawbacks are the distance from work and other activities. (I am really sorry not to have made it to the PostGres Conference this weekend.)
I am starting to feel a mild anxiety about all I need to get done this sabbatical. There is really a lot to do on the textbook. So far I have only finished the appendix on Access. (I finished chapters seven, eight and nine, but that was officially between summer quarter and fall quarter, not on the sabbatical itself.) I need to finish 2 more appendixes and then rewrite all the existing chapters. That, plus all the other work I want to do.
This is the week to regain my focus.
Thursday, October 15, 2009
I have been working on the appendix on Access. I was a bit surprised to learn that Access no longer supports user based security at all. (It makes sense, in a way, since user based security in older versions of Access was a nightmarish mess.) That makes it useless with my security chapter. I also realized that I will have to redo the whole ASP.Net application to work with Access since I can't use stored procedures. I was further surprised to find that the OLEDB provider doesn't work with Access 2007 but the SQL Client one does. (at least in the Wizard.)
Today, there is a break in the rain. There are tiny green shoots throughout my lawn. Maybe I will get some grass after all.
Wednesday, October 14, 2009
I just finished reading his The Graveyard Book. It is a children's book, but reads well enough for an adult. (In fact most librarians feel it reads a little too adult despite having won the Newberry award, and, fearing it might be too frightening for children, classify it as young adult. Much of his work is hard to classify, he writes everything form children's stories to books that are definitely adult. I could see children, exited by his works for kids, wandering into some of his more adult books such as American Gods. The difference is't so much the subject matter as the intensity of the violence and a little bit of adult language. ) Gaiman has a very unique sense of the world in his writings, a mix of myth and dream, nightmares and morality tales with a touch of the graphic novel or comic book (He did the Sandman series.) Very modern but very archetypal at the same time. It makes me think about my own fiction. Is there any unique slant I could develop? My stories, with a couple of exceptions, seem more Ray Bradburyish than anything.
Yesterday started with a dentist appointment and went downhill from there. Not that anything went horribly wrong. It is just that nothing really got started. I need to regain some focus today and going forward.
Monday, October 12, 2009
Finished the fraction class. All the operators are overloaded. I added a ToString() method that outputs the fraction in "1/2" form. I added a constructor that takes in a string of that format and separates out the numerator and denominator. I decided not to deal with mixed numbers.
Now what I really need to do is to finish my appendix on Access. One of these days soon I will return to my more philosophic thoughts, but today needs to be practical.
Friday, October 9, 2009
public static bool operator ==(Fraction f1, Fraction f2)
public static bool operator !=(Fraction f1, Fraction f2)
public static Fraction Reduce(Fraction fr)
if(fr.Numerator % i ==0 && fr.Denominator % i == 0)
public override int GetHashCode()
return Numerator ^ Denominator;
public override bool Equals(object obj)
if (obj == null)
if (GetType() != obj.GetType())
Fraction fr = (Fraction)obj;
fr = Reduce(fr);
Fraction fr2 = new Fraction(this.Numerator, this.Denominator);
fr2 = Reduce(fr2);
this.Numerator = fr2.Numerator;
this.Denominator = fr2.Denominator;
if (this.Numerator == fr.Numerator && this.Denominator == fr.Denominator)
result = true;
Now I just have the > and < operators to do, and to develop a good ToString method. I also want to overload the constructor.
As for the rest, I have been watering the lawn and looking forward to next weeks rain. The river poem flows on, approaching 20 pages.
Thursday, October 8, 2009
So, last evening, with nothing on TV, I worked on developing a C# class called "Fraction" that will add, subtract, multiply, divide and compare fractions. This involves overloading several operators specifically (+,-,*,/,==,>,<,!=). The class has two integer fields, "numerator" and "denominator." Here is the Use Case diagram for the class:
Here is the code for overloading the addition operator:
public static Fraction operator +(Fraction F1, Fraction f2)
if (F1.Denominator != f2.Denominator)
F1.Numerator = (F1.Numerator * f2.Denominator);
f2.Numerator = (f2.Numerator * F1.Denominator);
F1.Denominator = (F1.Denominator * f2.Denominator);
f2.Denominator = (F1.Denominator * f2.Denominator);
Fraction F3 = new Fraction();
F3.Numerator = F1.Numerator + f2.Numerator;
F3.Denominator = F1.Denominator;
I would like to refactor the greatest common denominator code into a separate method since I also need to use it for subtraction, but I am not sure how to return the results I need to the operator method. I also intend to add a method to reduce the fraction, and a ToString() method that will output the fraction in a form like "1/2" o r"2 1/3."
This program isn't purely for my own amusement. It occurred to me some time ago, that this would be a great class to give to students to test. Each operation would need testing, and with a variety of inputs. Students could design a testing schema, conduct all the tests and document the results. It might make for a good special topics sometime.
On my book, I am almost finished with the Appendix on using Access with the book instead of SQL Express, though the hardest part is still to come. Security. Access security is nothing like SQL Server's security. I am tempted to just say, if you are using Access skip that chapter. But I will try to recreate the security measures in Access.
Now to water the lawn (a two or three hour task.)
Tuesday, October 6, 2009
Reading Hegel before bed. (It does help hurry sleep.) The first principles of his logic are Being, Nothingness, and becoming. Interesting the poem IT begins in an almost identical place:
"It. That's it. That started it. It is. Goes on. Moves. Beyond. Becomes."
In terms of computers, I was looking at F#. It is a new language included in Visual Studio 2010. It is a function based language, especially useful for math intensive applications. I have played with it some but my math skills are not sufficient to take full advantage of it.
So, back to the yard. I really hope it grows.
Saturday, October 3, 2009
The question is, I guess, is this something we need to teach? Very few of our classes get beyond intermediate programming concepts. Yet, I suspect this is something that employers will be expecting of new hires in the future. Visual Studio 2010 includes some enhancements for parallel computing, such as PLINQ, that help abstract it some. Still, I really can't see, any but a very few students, being able to master these skills.
Something to think about.
Thursday, October 1, 2009
His mind resembles an ancient Greek papyrus. It is spotted and stained with old wine spills. Holes have been burnt, corners charred by the flame of certain searing events. Pieces have molded with damp misuse, collapsing into a leprosy of paper flakes each with less than a word. Insects have gnawed at the edges. Gaps. Lacunae. Often it is the essential piece that is missing. The subject of the sentence, the object of the verb. What are left are modifiers that modify nothing, subjects without actions, actions that act on nothing. He remembers a pattern, a direction, a gist, but teeters perilously at the edges of the absences, the unbridged abysses.
Tuesday, September 29, 2009
Sunday, September 27, 2009
Wednesday, September 23, 2009
Tuesday, September 22, 2009
Monday, September 21, 2009
Monday Morning. Things have not gone well so far today in terms of getting things done.
Yesterday I worked on recreating my Library application with Windows Presentation Foundation (WPF). WPF (and Silverlight) uses the xml based XAML to create forms and objects. XAML is far more flexible and powerful than the tradition text based Windows forms, but the price for that power is complexity. I must confess I find WPF frustrating at times. The controls have less immedate functionality than their Windows and Web counterparts. You can add functionality and have enormous freedom to customize, but, as I said above, at a cost. Here is an example of XAML code. It is the code for my opening window:
Title="Library Manager" Height="500" Width="597" Background="CornflowerBlue">
<RowDefinition Height="200" />
<RowDefinition Height="200" />
<Calendar Grid.RowSpan="2" Height="165" HorizontalAlignment="Left"
Margin="0,37,0,0" Name="calendar1" VerticalAlignment="Top" Width="240"
DisplayDateChanged="calendar1_DisplayDateChanged" FontSize="15" />
<DataGrid Grid.Row="1" Height="139" HorizontalAlignment="Left"
Margin="31,43,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="522"
<Label Content="Items Due" Grid.Row="1" Height="28"
HorizontalAlignment="Left" Margin="12,8,0,0" Name="label1"
VerticalAlignment="Top" Width="120" />
<Button Content="Add Checkouts" Height="23"
HorizontalAlignment="Left" Margin="258,45,0,0" Name="bubtnAdd"
VerticalAlignment="Top" Width="100" />
<Button Content="Return/Renew" Height="23"
HorizontalAlignment="Left" Margin="258,83,0,0" Name="btnReturn"
VerticalAlignment="Top" Width="100" />
<Button Content="Users" Height="23"
HorizontalAlignment="Left" Margin="258,124,0,0" Name="btnUser"
VerticalAlignment="Top" Width="100" />
<Button Content="Analysis" Height="22"
Name="btnanal" VerticalAlignment="Top" Width="100" />
I also decided to use LINQ to connect to the database. LINQ creates a class for each entity in the database and theoretically makes it easier to retrieve and manipulate the data. It uses a syntax that resembles, but is not quite, SQL. The advantage of LINQ's syntax is that it is the same no matter what the data source. It also generates intellisense and can be debugged by the compiler--unlike an SQL String. Here is the code for the Calendar date changed event:
private void calendar1_DisplayDateChanged(object sender, CalendarDateChangedEventArgs e)
LibraryDataClassesDataContext lib = new LibraryDataClassesDataContext();
var due = from d in lib.CheckOuts
where d.ReturnDate ==null && d.DueDate <= selDate
dataGrid1.ItemsSource = due.ToList();
dataGrid1.AutoGenerateColumns = true;
This works. When I click on a date in the calendar it will display all the books due or overdue as of that date. The problem is, it doesn't refresh. When I click back on an earlier date, it should show only those books overdue as of that date. But once filled, the grid does not change. This would be automatic in windows or ASP.Net. Here I am going to have to figure out how to clear and refill the grid manually.
Anyway, that's what I wasted my Sunday on when I could no longer bear to watch the Seahawks losing to San Francisco.
Addendum: I figured out the refresh problem. I was using the wrong event. I used Calendar_DisplayDateChanged when I should have used Calendar_SelectedDateChanged.
Saturday, September 19, 2009
Friday, September 18, 2009
Thursday, September 17, 2009
Tuesday, September 15, 2009
Sunday, September 13, 2009
Saturday, September 12, 2009
was a monstrous big river down there
sometimes a mile and a half wide sometimes
you could hear a sweep scraping or jumbled
voices could see a streak on the water which
you know by the look of the streak that there’s
a snag there in a swift current which breaks
on it and makes the streak look that way
we would watch the lonesomeness of the river
kind of lazy along and by and by lazy off
let her float wherever the current wanted to go
it’s lovely to live on a raft