Nice roast with lumpy mashed potatoes

I cooked a roast a while back and did not record a lot of details, but there is a picture of it below.

The meat was a little overcooked, but still tasted great. (I was probably busy blogging and did not check the meat as often as I should have.)

I never peel potatoes. I leave the skins on when making mashed potatoes. Of course I scrub them first. The potatoes aren’t mashed real well (I’m not a good masher), and you can see the butter and milk on them, along with the brown potato skin. To me, lumpy mashed potatoes taste just as good with the meat.

Autogenerating HTML tables – some help

Doing complex tables in HTML can be frustrating and challenging. There is quite a bit of help on the internet including tools for helping to build tables. Some of my previous posts discuss other help that is available.

In this post, I briefly discuss a tool I have written that helps to compose HTML tables. It can take quite a bit of time but the end results can be nice also.

Read more

Web scripting and web auto-generation tools. HTML table generator.

Web scripting and web auto-generation tools. HTML table generator.

I really like the art sketch that I just posted, so I will include it again to see how it works out in this table.

Web scripting and web auto-generation tools. HTML table generator.

Web scripting and web auto-generation tools. HTML table generator.

Web scripting and web auto-generation tools. HTML table generator.

Having a good cutie pie fish background is important for doing web pages with complex tables with complex attributes and style elements.

Web scripting and web auto-generation tools. HTML table generator.

Web scripting and web auto-generation tools. HTML table generator.

I have just created a tool that helps build tables. The details of setting up the td attributes in large tables can be tedious and error prone. This tool does some of these layout functions that can help reduce errors and tedium.

You can specify attributes and style attributes for 1. the entire table, 2. each table row, 3. each table column, and 4. any individual td cell. The latter values will override any former value both for attributes and for style subattributes.

Web scripting and web auto-generation tools. HTML table generator.

Well, actually this is a tool written in c/c++ which will generate a table from a given input data file. It is hard to use, is incredibly unforgiving of errors, but once you get the input file set up (properly) you can edit the individual files that are included, and not worry any more about the table details. This can be useful for example in creating a layout or design. After that, you just edit individual input files.

This is an auto-generation tool, which I also call web scripting, in that it computes the web page table layout and includes the specified files into the individual td cells.

I first created this tool is 1994 and have worked on it in an on/off fashion since then. I have recently added a set of changes pertaining to the parsing of style sub-attributes.

The style parser is what is new here. It is implemented as a single character token parser in a state machine (switch statement in c). There is one case where a single character putback is done and otherwise it is all forward scanning of character tokens. I decided to implement this in a semi-pure sense, and I debated this implementation detail a while. It involves scanning for ';' and ':' characters and building a dictionary of style attributes that match the style names.

It does not handle errors very well and an error in the input file, such as an error in a style specification, can cause the program to crash. Usually you begin with a simple file and then work incrementally, adding more items, such as style elements, in a slow fashion.

The input file for the 2 x 2 table looks like this. It begins with a table definition, the attributes for all rows, and then the attributes for all cells. Next there are two entries for row 1 and row 2, and then two entries for columnn 1 and 2. Then style elements are specified for each row/column value and after the *end* block the matrix of files to include in each cell is specified. For example, this entry, the 1,2 table entry is contained in the file wa.txt. Well, ok, it's not that hard.

2 2
border="4" cellpadding="5" cellspacing="10" style="width: 100%; background-color: #f00000; background-image: url('http://www.georgeschils.com/ph07/css/darkpurplepat.jpg');"
style="vertical-align: top;"
style="height: 30px;"
style="background-color: #aa66ff;"
style="background-color: #fa66af;"


1 1 style="background-color: #a00000; color: #ffffff;"
1 2 style="background-color: #f00000; color: #ffffff;"
2 2 style="background-image: url('http://www.georgeschils.com/w1/sty/smv_32_r1.jpg');"
*end*
1 1 one.txt
1 2 wa.txt

I'd make this tool for sale but there won't be one person on the planet who is interested. It might not be impossible to get a no cost binary windows build if you ask (send an email). I will give out a few free copies to people who ask.

If you Google for "html table generation tools" or something similar, you will find around a ba-zillion tools, many of them free, for doing this. For example, see this on-line table generator.

Take 1, update 1.

Diffraction limited resolution for digital cameras

This blog can serve as a “front end” to the rest of my web site. I can write a short introductory paragraph that introduces another web page on my site.

I just remembered a paper that is currently not linked and I mention it here. I am always reworking my site, and this link got left out. It will get put back in eventually.

A few years ago I did some studies of the diffraction limit of lenses. This paper is here. A catchy name for this paper would be something like New Year’s Resolution. This is a matter of plugging some numbers into some formulas (well maybe a bit more), but the results are somewhat interesting. This analysis is approximate and a more exact analysis would use MTF analysis, which is not done here.

I am a big fan of resolution and I still don’t have enough and can’t get enough of it. This analysis does say that eventually we will come up upon the limit. But there are so many other fancy features in the new cameras that resolution is only part of the issue. As a general rule, the larger the detector size the higher the theoretical resolution, and this depends on the f# number, as discussed.

December pork chop dish

I have never made a pork chop casserole before. Indeed, I have never made pork chops before either. They were on sale at the grocery store, so I embarked on another one of my fantastic forays into uncharted cooking territory.

I cooked this meal at around 300 degrees for just under 3 hours. Begin with pork chops, and chopped onions and potatoes. When it is near being done, mix in a can of seasoning soup and add a few slices of cheese. The meal sure tasted great!

  • I cooked it in an oven for 2-3 hours. But you can also microwave the dish, and this takes 15-20 minutes if you’re in a hurry. I did this the next day, and this same meal, cooked in a microwave, was also fantastic.
  • There were no special seasonings other than the cream of mushroom soup and the cheese. The cream of mushroom soup is one of the best seasoning ingredients you can find.

Read more on pork chops – including many nice photos

December end of millenium beef roast

An End of the Millenium feast of feasts.

yes I boast
yes I roast
yes, I toast
to my animal roast

This is a December holiday meal that I made, thanks to the local grocer. Sirloin tip roasts were on sale for around $4 to $5, and adding the cost of onions, kale, and soup, one could boast a holiday meal like this (or even blog it) for around 6 to 8 bucks. It’s expensive, but it’s the holidays.

Continue reading December end of millenium beef roast

Search stats for Dec. 2009

People search for strange things, and it is interesting to view the search stats, like at the end of the month. This post contains some discussion of what people searched for during the month of Dec. 2009.

  • The brachistochrome pdf was downloaded 27 times. That’s about once a day. About half the searches pertained to this write up. This droll item, a 300-year-old problem, is actually my most popular piece of work. This outranked my most popular word press post. Frankly I am amazed by this.
  • People also searched for “cooking”, “crocodile sketches”, and other things.

In the following list, we show the search phrase followed by the number of times that phrase is searched for, followed by the percent.

  • brachistochrome 2 11.7 %
  • crocodile sketches 2 11.7 %
  • chuck roast recipe -slow -cooker 1 5.8 %
  • crocodiles sketches 1 5.8 %
  • example brachistocrome 1 5.8 %
  • brachistochrome problem in maths 1 5.8 %
  • lkhydqax qws 1 5.8 %
  • black bird art 1 5.8 %
  • george dog photo 1 5.8 %
  • euler-lagrange equation for ball rolling down slope 1 5.8 %
  • problème du brachistochrome 1 5.8 %
  • photanal 1 5.8 %
  • lagrangian curve y=f x variational 1 5.8 %
  • variational problem with two independent variables solutions 1 5.8 %
  • variational minimization 1 5.8 %

Starting jQuery notes

I am a bit slow in "catching onto" some things, but I have just learned about jQuery. This has been out around 2 years. This short post contains a few thoughts on my initial experiences with it. And it contains some starting examples illustrating the use of jQuery. There is some associated discussion.

Read more

Freeze | toggle

More discussion is given in the sections below.

Before starting

This illustrates a collapsing section in a collapsing section.

This document (post) is a little mixed up. It illustrates more than one technique for collapsing sections, and also illustrates the link modification technique. More discussion is in the following sections.

This is a little bit of a show off post. Isn't it cute? It illustrates several techniques all in one post.

General comments ...

General comments. I have created some custom JavaScript using the jQuery library. This web page illustrates some of its use. I found jQuery to be fairly easy to learn and to use, as claimed. I believe a number of books are available, including an O'Reilly book on the subject. It appears to be a big topic and my discussions here are probably just introductory. But my initial experience with it is very positive.

Link modifications ...

Link modifications

The first use of this custom JavaScript is to make some modifications to the links on a web page. I created a JavaScript routine to modify all of the links that point outside of this site so that 1 (optionally) they contain an image indicating you are going out of site; 2 they have a popup title giving the URL where the link points to; 3 the destination URL will open in a new window if the link is clicked. You should see this effect in the above "jQuery" link.

The "link modifications" are done automatically by just including the JavaScript file, and require no other web page insertions.

Collapsing sections ...

Collapsing sections

A second application is to be able to expand and collapse a section by clicking on it. Clicking on the text followed by the "..." expands the section, and clicking on the section itself will collapse it into its smaller form.

Another example of using collapsing sections is found in this post, done a while back.

To use collapsing sections, as in this post, it is necessary to put some JavaScript in the web page itself. It is also necessary to put in <span> and <div> elements with unique id tags. These go around the "title" area and the "expand area". To see this in greater detail, look at the source html for this post. In general it takes some work to set up a document as seen here.

There are three collapsing section techniques that I have developed.

  • Method one allows sections to be collapsed by clicking on the header. When this is done the header collapses and the section to display is shown. When this content section is clicked, it disappears, and the header again appears. Clicking the freeze button will prevent collapses from occurring, and this is done for the whole web page displayed. Clicking the toggle button will expand or collapse all sections on the web page. This technique is not illustrated in this post.
  • Method two is like method one except that the toggling and the collapsing is specified for only certain specified elements. Thus you can freeze and expand/collapse only those items in a given area (such as a post) rather than the whole web page. The first two methods allow for any section to be initially opened or collapsed.
  • Method three is a technique that allows you to put collapsing sections into collapsing sections. When the title is clicked, its content expands, and when the title is clicked again, the content disappears. The title always remains. At the moment the "freeze" and "toggle" buttons do not apply to this technique. With this technique the default is that all sections are initially collapsed. This can be overridden on a per collapsing section basis, but it takes more work.

This post uses methods 2 and 3 above. Generally one would not use a hybrid technique, such as here, unless to make a point, as I am doing. Method 1 is illustrated in this post.

I use raw HTML mode in word press to paste in the JavaScript.

More discussion ...

""When programming JavaScript, it is handy to have a manual nearby. Here are some online manual references: 1, 2, 3, 4, 5, *6, 7.

The custom solution created here works quite nicely and accomplishes the objectives that I wanted to achieve. Many other effects other than what I am using here are also possible. I wanted to get some "hands on", and my general reaction is quite favorable. This is an excellent library!

It might have been easier to use the "accordion" feature of the UI library. But I wanted to try out some of the programming for myself. It works great.

Here is a one hour YouTube video on advanced JQuery given by a 12 year old. I learned a lot watching this. This is one of the more inspiring videos I have seen in a while. If you want something simpler, try this simpler introduction.

Although this may be good jQuery, I can criticize my posting methodology in that both this post and the custom jQuery have been updated too often. Generally I am too anxious to "get stuff out". The minute after I put out a new version, I think of another thing.

This JavaScript is not free software but I will give a complimentary no-cost copy to people if they ask. If you want to use these techniques that I use here you can just ask. Note that there is no documentation, and free consulting does not come with this offer.

I point out that a large set of plug-ins are available and you may want to check out free and documented stuff before you try me. There is probably a better solution than what I created here.

The solution here should really be wrapped into a plug in. If I get time, I may work on this.

There are a few small bugs, either in my programming, the browser, or the JQuery.

This technique is still evolving and is likely to change in the future.

Summary

Summary. Although I spent a good amount of time achieving the desired effects discussed above, it is still much easier than the older approach involving using DOM directly. The jQuery library abstracts this nicely and makes the programming task much easier.

The "old fashioned" DOM approach in which callback functions are placed in tags as attributes is just that: really old fashioned. This is maybe why more object-oriented programmers have not used it. On the other hand, JQuery makes use of modern object-oriented design pattern concepts in its use of chaining (with the this pointer), event propagation chains (returning nil or not), the invocation of its functions in object style (using dotted function calls on jQuery objects), and in its other features. So a person who likes object-orientation is comfortable with jQuery. And JavaScript, in which it is programmed, is actually one of the fanciest object oriented (and functional) languages around. JQuery objectifies the older approach in a way that is easy and yet elegant. It has been a while since I have run into any serious programming and programmers, and it is refreshing that people still care about it and are keeping this wonderful art alive.

Update 3

Earle paintings

I am very moved by the paintings of Eyvind Earle.

When living in the SF/Oakland area I toured some Bay Side galleries and in 1987 I learned about Earle. I saw a beautiful “original print” for around $5000. Since then, I have paid attention to his work. A few years later I fell in love with Carmel Gold (see below). He is my favorite modern day painter.

  • I believe that the first Earle painting I saw was this one. It was in a San Francisco art gallery and the year was around 1987. I fell in love with it right away.
  • Paintings of the Santa Lucia mountain range (Big Sur) move me very much. More: 2, 3, 4.
  • I had not seen this Two Wild Horses before surfing.
  • I saw a print of Carmel Gold in later years and fell in love with it.

Seeing his paintings brings back such wonderful memories of the photography that I had done of the Big Sur area. This was when I lived in CA.

Carmel is also an incredible place, and you don’t need me to tell you that. In 1985 I attended the Carmel Bach Festival, which was extra wonderful and special – it being the 300th anniversary of one of my favorite musicians, namely J. S. Bach. When it was over I stopped to have dinner, and then drove back to Livermore. I can still see the lights on the dashboard of my 1984 Buick Skylark as I drove back. It was such a beautiful event! This is the first time I had been to Carmel, and it left a pretty wonderful memory.

Earle’s fractal-like portrayals of trees, nature, waves, and interpenetrating black and white horses struck a nerve at the time I saw them. This was a big topic for research when I worked in the Combustion Research Center at Sandia Labs. Seeing this in art was moving! This is where I worked when I attended the Bach festival and saw my first Earle art.

What made me think of Earle after lots of years? I periodically surf L. Gerbrandt’s photography. I do this because he is outstanding and because his Big Sur photography beings back such nice memories. Just last night, I saw this photo, where he mentions Earle. This then triggered the above research.

I have lots more to say about my California photography and the joys of listening to Bach while doing math and programming. Earle fits perfectly into the eternal golden braid: Godel, Earle, and Bach! [ref].