text:
Help / JforC / Graphics
>> << Pri JfC LJ Phr Dic Voc !: Rel NuVoc wd Help J for C Programmers
33. Graphics
J gives you several ways to draw pictures. The Plot Package is a quick but powerful way to display datasets in 2D or 3D form. If you want to draw your own graphics, you can use the gl2 library for 2D graphics, or OpenGL for 3D.
Plot Package
The easy way to display data in J is with Plot. First, load the Plot Package:
load 'plot'
Hand your data to the plot verb:
plot 3 1 4 1 5 9
and it will give you a graph of your data.
Plot Demo
To see what J Plot can do, go to the menu bar in a J session and click down to Studio|Demos|plot. A Plot window will pop up, on whose menu bar pulldowns labeled 2D, 3D, Multi, Styles, and Gallery contain lists of demo plots. Click on one and you will immediately see the plot. When you find an interesting one, you may click Options|View Definition to see the commands that created it.
Interfaces to Plot
The Plot Package has two interfaces: lightning-fast (the plot verb) and fast (the pd verb). pd lets you build a custom plot containing multiple datasets and options. The picture described by plot 3 1 4 1 5 9 could have been built with
pd 'reset'
pd 'type line'
pd 3 1 4 1 5 9
pd 'show'
plot and pd make up the Plot Package, which I will refer to simply as Plot.
Plot has a great variety of options which you can find listed in the User Guide. Here I will give enough of an overview to get started. If you need a feature for your plot, there's a good chance it's described in the User Guide. If you need to direct your plot to PostScript or to a control on a form, the User Guide explains that too.
Plot accepts a series of commands, options, and data. Commands are actions taken independent of any data: setting the size of the plot window(s), writing annotation text, and the like. Options, which include things like axis scaling and color selection, control the interpretation of subsequent data, which is added to the plot using whatever options are in effect when the data is encountered. A single plot may contain multiple sets of data with different options.
Commands and Options
Plot Type
The most important option is the type of plot: surface or wire to display 3-D data, line to graph 2-D or 3D data, symbol and dot to plot points individually, and a variety of types to produce bar charts, pie charts, error bars, and many others.
The components of a plot have different colors which you can specify. A color is given either as a 3-item list of red,green,blue intensity in the range 0-255, or as a name taken from J's list in system\packages\color\colortab.ijs. Names of colors are not case-sensitive. The standard colors for plot are BLUE, RED, GREEN, PURPLE, FUCHSIA, OLIVE, TEAL, YELLOW, MEDIUMBLUE, AQUA, BROWN, and GRAY.
The background of the plot is made up of two parts, the graph background which is the canvas the plot is drawn on, and the frame background which surrounds the graph background, filling out the window. These colors can be set simultaneously with
backcolor color_spec
The default is backcolor 255 255 255 or, equivalently, backcolor WHITE. The components of the background can be set individually with
framebackcolor color_spec
graphbackcolor color_spec
Most plotted data is drawn with the item colors. The data is broken into sets of points, and the item colors are assigned to the sets sequentially. By default the item colors are the standard colors; they can be set by
itemcolor color_spec,color_spec...
The list of item colors can be as long as you want; it recycles as needed.
Certain plot types, such as density, derive the plotted colors from the data. For these plots you use
bandcolor color_spec,color_spec...
to specify the colors used for the bands of data.
Other components have their own colors, set by the following commands whose names are mostly self-explanatory: axiscolor, captioncolor, edgecolor (for edges of filled regions), gridcolor, keycolor (a list, used for legend boxes), rulecolor, symbolcolor (for symbol plots), textcolor, and titlecolor.
You can select the font for the different kinds of text drawing. The commands are captionfont, keyfont, labelfont, symbolfont, textfont, and titlefont. An example is
titlefont Arial 18
Postscript Type 1 fonts are also supported.
Titles, Captions, and Labels
The title of the plot is drawn above the plot. You give the title with
title title_text
titlecolor and titlefont apply to the title.
A caption is a character string displayed running parallel to an axis, and can be had with
Ccaption caption_text
(C is replaced by x, y, or z to select the coordinate), where caption_text should be enclosed in double-quotes if it contains spaces. captioncolor and captionfont apply to captions.
Labeling the axes means marking them to indicate coordinate values and is controlled by
labels xon yon [zon]
(default 1 1) to turn labeling on or off. By default the labels are just the numeric values of the coordinates at the tic marks, but you can use
Clabel label1 label2...
to specify the label at each tic. If labeln contains spaces, it should be enclosed in double-quotes. You can specify the coordinates at which labels are to be shown with
Cticpos positions
or you can apply labels at regular intervals with
Ctic label_interval tics_between_labels
which will write a label at intervals of label_interval, and add tics_between_labels unlabeled tics between labeled tics. The plot will be scaled to match the range of your data unless you specify the range of the coordinate with
Crange min max
labelcolor and labelfont apply to labels.
Annotation (Text in the Drawing Area)
Annotation text is given by the text options:
textcolor color
where color is red,green,blue or a name such as RED;
textfont font_name size
to select the font;
text xpos ypos text
textc xpos ypos text
textr xpos ypos text
to draw text at the given position, left-aligned, centered, or right-aligned.
Many other options are on view in the User Guide.
Data; Constructing a Plot with pd
Commands, options, and data are all added to the plot using the monadic pd verb. Character operands to pd are interpreted as commands or options with the format name value where name identifies the command/option, which is set to the (optional) value. Multiple commands/options can be given to pd, either as a list of boxed strings, or as one long string with semicolons used as a separator between command/options.
Numeric operands to pd are data: one or more sets of points, where a point comprises a dependent variable and one or two independent variables Normally data will be a list of boxes, x;y for 2-D data or x;y;z for 3-D data. The last item (y for 2-D, z for 3-D) is the dependent variable whose values correspond to the independent variables given by the previous items. We can distinguish 3 types of plot: 2-D line plots, 3-D line plots, and surface plots.
2-D Line Plots
The dependent variable y may be a list or an array. Each 1-cell of y gives a set of points, and each set is plotted with a different item color. x may have the same shape as y, or x may be a list with the shape of a 1-cell of y in which case it is repeated for each 1-cell of y .
3-D Line and Point Plots
The dependent variable z may be a list or an array. Each 1-cell of z gives a set of points, and each set is plotted with a different item color. x and y must each be a list, with the shape of a 1-cell of z, which is repeated for each 1-cell of z.
surface and wire Plots (3-D)
The dependent variable z is an array. x may have the same shape as z, or be a list with one atom for each row of z: the atom is repeated across the row. y may have the same shape as z, or be a list with one atom for each column of z: the atom is repeated down the column.
Unboxed operands to pd
The boxing can be omitted from a data operand to pd, in which case it gives values of the dependent variable (y for 2-D, z for 3-D) and the independent variables are taken to be integers starting at 0. Or, the operand can be a complex list in which case the real parts are x and the imaginary parts are y .
Control Commands to pd: Starting and Ending a Plot
The first command in a plot should be pd 'reset'. After you have sent all your data through pd, your last command should be pd 'show' which causes the plot to be displayed.
Quick Plots Using plot
If your plot does not require multiple datasets with different options, you can display the whole thing with one use of the plot verb:
commands_and_options plot data
plot starts a new plot, sends the commands_and_options through pd, sends the data through pd, and issues pd 'show' to display the result. The axes will be scaled to fit your data. If data is made up of a rank-2 array of boxes each of which contains a list of boxes, each box gives the data for a subplot: the plot window is divided into tiles based on the shape of data, and each atom of data is opened revealing a list of x;y[;z] boxes containing data to be plotted in corresponding tile. An example of subplots is
plot 2 1 $ (<3 1 4 1 5 9) ,&< (<2 7 1 8 2 8)
Generating Plots of Functions
Idioms for Generating Plot Operands: the steps verb
For a simple 2-D plot of the value of a function f evaluated at the values x, use
plot x ; f x
If you just want evenly-spaced values of x, you can use the steps verb:
steps initial_value final_value number_of_intervals
A plot of one period of the sine function is given by
plot (steps 0 2p1 100) ; sin steps 0 2p1 100
(2p1 is 2π). To plot two functions at the same x values, make each function's values a row of an array:
x =. steps 0 2p1 100
plot x ; (sin x) ,: cos x
Using a fork, you can express this plot as
plot (; sin,:cos) steps 0 2p1 100
For 3-D plot of a function f evaluated on a grid of x and y values, use
plot x ; y ; x f"0/ y
f"0/ is described in the "Make a Table" section of the chapter "Odds and Ends". x f"0/ y evaluates f at each combination of x and y . To plot cos(r)/(1+r) we would use
x =. y =. steps _4 4 100
f =. 4 : '(cos r) % 1 + r =. x +&:*: y'
plot x ; y ; x f"0/ y
Using a fork, this plot is given succinctly by
plot x ([ ; ] ; f"0/) y
The Simplest Function Plotting: Let Plot Evaluate Your Function
The simplest way to plot a function is to give Plot the description of the function and the domain, and let Plot decide where to evaluate the function. You do this by giving the function instead of the data as the dependent variable in the right argument to plot or pd . The plot may be 2-D or 3-D. An example is
plot 0 10 ; 'sin'
The character string instead of data tells Plot to evaluate the sin function over the interval [0,10].
The independent variable(s) are given either as intervals or as lists of points. An interval is indicated by 2 or 3 numbers, specifying start value,end value,number of steps. A list of points is indicated by a boxed argument containing the points, or by an unboxed list of more than 3 points. Multiple intervals or point-lists are allowed.
If the number of steps is omitted or 0, Plot will pick an appropriate number of points to use. It does so by repeatedly subdividing the interval until the curve is smooth or it decides that the curve is discontinous, in which case it plots continuous sections separately.
The subdivision is controlled by the plot commands Cfuncres and singtoler. Cfuncres (C is x or y) gives the subdivision resolution: an interval smaller than 1/Cfuncres of the screen will not be split. Cfuncres defaults to twice the pixel resolution of the plot. singtoler is used when the display has singularities, and controls how much of the heading-off-to-infinity tail of the curve will be shown at the singularity. You can experiment to find a good value for singtoler for your application; the default is 10 and higher numbers cause more of the tail to be displayed.
The function(s) to be displayed can be given as a list of gerunds, one for each verb to be drawn, or as a string where the verb-specifiers are separated by the ` character (use doubled ` as an escape if your verb contains a ` character). Each verb-specifier can be in either tacit or explicit form: if it contains the word y.or y it is assumed to describe an explicit verb, otherwise a tacit one.
The verbs are invoked with lists as arguments and should be able to return a list of results. If you use pd, note that the verbs are not executed until pd 'show' is processed, so the values of any public variables that are referred to by an explicit verb will use the values in effect when the pd 'show' is executed. Public variables referred to in a tacit verb are frozen (using f.) when the pd for the function is issued.
Examples of function plots:
plot _10 10 ; '%' NB. reciprocal: has a discontinuity
plot _10 10 ; 'sin`cos' NB. two curves
plot 0.001 0.1 ; 'sin % y' NB. sin(1/x), a busy function
The 3-D plot shown above can be created with
f =: 4 : '(cos r) % 1 + r =. x +&:*: y'
plot _4 4 100 ; _4 4 100 ; 'f'
Assembling a Multipart Plot with pd
A plot of a function with discontinuities, or multiple functions with different domains, can be assembled using pd. If we want to plot the function 1/x (the J primitive %) by hand rather than using function plotting as shown above, we need to plot the negative and positive sides individually:
pd 'reset'
pd 'type line'
pd 'color 0 0 255'
pd (^ steps _2 2 50) ; % (^ steps _2 2 50)
pd (- ^ steps _2 2 50) ; % (- ^ steps _2 2 50)
pd 'show'
Here we plotted the positive x values, then the negative ones. We set color to override Plot's default behavior of giving each dataset a different color. The exponential applied to the x values keeps the points spaced fairly uniformly along the curve.
Examples of Plots with Multiple Sets of Points
A 2-D plot with multiple sets of points was given above by
plot _10 10 ; 'sin`cos' NB. two curves
A 3-D line plot with 3 sets of lines:
x =. i. 5
y =. *: x
z =. 0 10 20 + 1 , x ,: *: x
'line' plot x ; y ; z
Plots of Parametric Functions
Although we often think of one variable as dependent and the others independent, this is our interpretation, not a restriction in Plot. y does not have to be a function of x: y may just represent data measurements at values of x, or x and y can both be parametric functions of something else. For example, a lovely Lissajous figure can be plotted with
plot (sin 3 * steps 0 2p1 100) ; (cos steps 0 2p1 100)
Output Options
pd 'show' creates a 480x360-pixel window and draws your plot into it. You have several other options for output, using one of the following commands in place of pd 'show':
pd 'isi [width height]' NB. items in [] are optional
creates a window of size width and height, and displays the plot in it. For normal J sessions, pd 'show' and pd 'isi' are equivalent.
pd 'eps [filename width height]'
creates a plot in EPS format. filename defaults to ~temp\plot.eps, and the default size is 480x360.
pd 'pdf [filename width height]'
creates a plot in PDF format. filename defaults to ~temp\plot.pdf, and the default size is 480x360. For Jconsole sessions, pd 'show' produces pd 'pdf', since there are no windows in a Jconsole session.
If you have created your plot in a window using plot, pd 'show', or pd 'isi', you can treat the bitmap of the plot as pixel data:
pd 'print'
sends the bitmap to the printer;
pd 'clip'
copies the bitmap to the clipboard;
pd 'save type filename'
saves the bitmap in filename encoded according to type, which may be bmp, wmf, jpg, pgm, png, ppm, or tga. All but bmp and wmf require the image3 addon to J.
2D Graphics: the gl2 Library
The gl2 Library is a set of functions for drawing 2D graphics into windows. There are many more functions in this library than can be discussed here: to see the full list, open a J session, press F1 for help, click on 'wd' at the top of the page, then click the link for 'gl2 commands'. It will be worth your time to read through the commands a few times to get an idea about what's available.
To use the gl2 commands you must include them in your program with
load 'gl2'
Because there are so many functions, they are defined in a locale of their own, called jgl2 . To have access to the functions in jgl2, you should include the line
coinsert 'jgl2'
at the top of each file using the gl2 commands. Alternatively, you could add jgl2 to the name of each gl2 function you use, but it is easier to use the coinsert.
Example of Drawing
A simple program to draw a line could look like the following:
load 'graph'
gdshow gdopen'' NB. Create drawing surface
gdcolor 255 0 0 NB. set the color
gdpen 2, PS_DASH NB. pen width 2, dashed line
gdlines 0 1 1 0 NB. draw using current pen
The graph addon is documented in the graphics lab Graph Utilities. It's also used in the graphics lab Fractals, Visualization & J and in the Live Texts lab Linear Algebra (Schaum).
Creating an isidraw Graphics Control
Graphics are drawn into an object called an isidraw control (the isi comes from Iverson Software, Inc., the original name of Jsoftware, Inc.) which resides in a window.
You can choose from several ways to create an isidraw control, depending on what features you need. The quickest way to get one is with
load 'graph'
gdshow gdopen ''
which will leave you ready for drawing with an isidraw control which might be 200 pixels high by 250 pixels wide. If you want to specify your own options for the parent window or isidraw control, you can bypass the graph package, using instead a line like
wd 'pc x closeok;setp wh 200 200;cc g isidraw;pas 0 0;pshow'
which will also leave you ready for drawing. In this example, the parent window was named x and the isidraw control was named g with a size of 200x200 pixels. The pas 0 0 caused the parent to fit tightly around the isidraw.
If you simply want a standalone window to display graphics in, either of the preceding methods is adequate. If you want your graphics to be part of a form which can contain other graphics controls as well as text, sliders, selection boxes, and the like, you will want to learn how to use the Form Editor, either by reading the User Guide or by running the Labs. Use the Form Editor to create a form, and include a child control of type isidraw Your gl2 commands will be drawn into this child control.
All isidraw controls have the same capabilities, no matter what method was used to create them.
Selecting an isidraw Control for Output
If you have simply created a single isidraw control for use as a display, it was automatically selected for output when created and you do not need to do anything more than write to it.
If you have a more complex environment, where there are perhaps several isidraw controls in a form and many forms open at once, you need to select the correct isidraw control before you write to it. gl2 commands operate on the currently-selected isidraw control.
First, you select the parent window, using
wd 'psel windowname'
and then select the isidraw you want to draw into, using
glsel 'isidrawname'
Now you are ready to push pixels.
Addressing the Screen
The glxxx verbs take integer arguments that represent pixel coordinates in the isidraw control. The top-left pixel has coordinates (0,0), and the bottom-right pixel has coordinates (xsize-1,ysize-1).
Drawing Graphics
You will issue a sequence of glxxx verbs. (The graph library defines verbs to interface to the glxxx verbs, but I recommend you avoid them in the interests of performance) The pixel-writing verbs, such as glrect and gllines, make use of the current pen (the linestyle used to draw the outline) and the current brush (the fill style used for the interior). The pen and brush commands, and some of the other glxxx verbs, use the current color, a list of RGB (red-green-blue) values from 0 to 255.
As an example, to draw a 2-pixel-wide dashed red line from the top-left corner to the bottom-right corner of the selected isidraw, use
glrgb 255 0 0 NB. set the color
glpen 2,PS_DASH NB. use that color for the pen
gllines 0 0 150 150 NB. lines use current pen
Drawing Text
Text can be mixed with graphics. First, set the font:
glfont name size styles
where styles can be any of italic, bold, underline, oem, default, and anglexxx (where xxx is the angle of the font, in tenths of a degree clockwise). size is in points. Example:
glfont "Times New Roman" 12 italic
Next, draw the background rectangle if any. Text itself is transparent, in other words the background shows though the text. If you want a solid background for the text, you must draw one. Find out how big the text will be in pixels:
extent =. glqextent textstring
then create a brush with the background color, and draw the background rectangle:
glbrush '' [ glrgb red green blue
glrect xcoord,ycoord,extent
Next, set the color for the text itself:
gltextcolor '' [ glrgb red green blue
Finally, set the text position in pixels and draw the text.
gltextxy xcoord,ycoord
gltext text
where text is the character string to draw.
The settings of the text attributes are preserved, so only the changed values need to be set for subsequent gltext calls.
The Drawing Surface
The glxxx verbs write pixels on the drawing surface, which is a memory area that has the size of your isidraw control. Changes to the drawing surface are not immediately visible, lest the user be distracted by continual painting and an incomplete picture. When you have executed enough glxxx commands to have a picture worth seeing, you issue
glpaint ''
which copies the drawing surface to the visible screen..
Screen Resizing: The paint Event
If your isidraw control never changes size, what is displayed on the screen will be whatever you put there with your last glpaint command. If, on the other hand, your isidraw can be resized by the user, the display will become invalid whenever the isidraw is resized. When this happens, the system will signal a paint event, and you will have to recreate the display surface. See below for a discussion of event handling.
Supporting a resizable isidraw window has profound effects on the design of your program. You must keep a copy of all the graphics commands needed to regenerate the display, and for most applications you need to keep these commands in a virtual screen space so that they don't suffer unsightly errors in quantization when the screen size changes.
Partial List of glxxx Drawing Commands
i j give the (i,j) coordinates of a point in logical units, where i is the horizontal coordinate and j is the vertical coordinate. x y w h specifies a rectangular region with one corner at (x,y) and the other at (x+w-1,y+h-1).
glclear clear isidraw drawing buffer to white and reset default values for graphics state variables:
glfont system default
glrgb 0 0 0
glpen 1 0
gltextxy 0 0
Display Settings That You Will Probably Never Need To Modify
glwindoworg x y default is 0 0. The x and y values are added to subsequent graphics coordinates.
glcursor n sets mouse cursor. Values are defined as IDC_... in gl2.
Setting a Clipping Window for Subsequent Drawing Primitives
glclip x y w h Only pixels inside the given rectangle will be modified by subsequent drawing commands.
glclipreset Turn off clip rectangle, allowing all pixels to be overwritten by drawing commands
Setting Colors
glrgb color ; set current color
Settings That Apply to Lines (including Borders of Filled Areas)
glpen i [style] select pen. color is taken from last glrgb command, and the lines are drawn i units wide. style is from the set (ps_solid, ps_dash, ps_dot, ps_dashdot, ps_dashdotdot, ps_null, ps_insideframe)
Drawing Lines
gllines i j i j ... draw connected lines. i j... is 2 or more points. gllines is the verb normally used for line-drawing.
Settings That Apply to Area-Filling Commands
glbrush select solid brush in current color, i. e. fill interiors with solid fill in the color of the most recent glrgb.
glbrushnull select null brush, i. e. leave interiors unfilled
Drawing Rectangles, Ellipses, and Arcs
glrect x y w h draw rectangle with current pen and current brush
glroundr x y w h rw rh (not java) draw rectangle with rounded corners defined by ellipse with width rw and height rh. Use current pen and brush.
glellipse x y w h draw a filled ellipse in the given rectangle with the current pen and brush
glarc x y w h xa ya xz yz (not wince) draw arc on the ellipse defined by the given rectangle. Arc starts at (xa,ya) and ends at (xz,yz). Start and end points need not lie on the ellipse: they define a line from the center that intersects the ellipse.
Drawing Polygons
glpolygon i j i j ... draw polygon in current pen and brush. The list of (i,j) values are the polygon vertices.. glpolygon is the verb normally used to draw polygons.
Settings That Apply to Text
glfont name size styles sets font for text commands
Drawing Text
gltext text write text using the font specified by the most recent glfont in the color saved by the most recent gltextcolor. Where and how the text is displayed is affected by the gltextalign and gltextxy commands.
gltextcolor the color set by the most recent glrgb is saved as the color to be used for text
gltextxy i j position to be used by gltext when gltexalign specifies TA_NOUPDATECP
Bitmap Operations
glpixel i j draw pixel at (i,j) in current color
glpixels x y w h pixeldata write pixels to the given rectangle. pixeldata is an integer per pixel with RGB values
Metafile Operations
glfile filename (only win32) set filename for subsequent glemfopen and glemfplay.
glemfopen (only win32) Open the file named in the most recent glfile command. This file will be an enhanced metafile, and subsequent glxxx commands will be written to this file.
glemfclose (only win32) Close the file opened by glemfopen ..
glemfplay x y [w h] (only win32) Play the enhanced metafile named in the most recent glfile command. x y gives the top-left corner of the area on which the metafile will be drawn; w h give the size of the rectangle that the metafile will be scaled to fit into, or may be omitted to display the metafile at full size.
isidraw Events
isidraw controls produce events, which like all window events result in execution of the sentence
formname_isidrawname_eventname_formlocale_ ''
where formlocale is the name of the locale the form was executed in, and the other names identify the form, isidraw, and event type. Before execution of this sentence, the variable sysdata is set with information about the event. The events and their associated sysdata are:
paint Event
The paint event is signalled whenever the isidraw control changes size. The paint event handler must redraw the drawing surface. It does not need to issue glpaint to move the display surface to the screen--that will be done automatically.
char Event
When a character is pressed while the cursor is within an isidraw control, a char event is produced. sysdata is a character list giving the key that was pressed: the character itself for printable keys, or the virtual key VK_name for a special key such as HOME or an arrow key (look in system\packages\graphics\vkeys.ijs for the VK_name definitions). For example, sysdata is 'a' if the letter-a key is pressed, and 21{a. if the up-arrow is pressed. The character in sysdata is represented in UTF-8 form, which means that it will be encoded as a multi-character sequence if the ASCII code is 128 or higher.
sysmodifiers is a single character value indicating whether CTRL or SHIFT was pressed: '0'=neither, '1'=SHIFT, '2'=CTRL, '3'=SHIFT+CTRL. No event is signaled for CTRL+ASCII-character as that is taken to be a keyboard shortcut.
Mouse Events
The mouse events are mmove, mbldown, mblup, mbldbl, mbrdown, mbrup, and mbrdbl, corresponding to mouse-move and mouse-clicks (left or right button; down, up, or double-click). sysdata contains a character string which should be converted to numeric using 0&"., after which it will be an 8-item vector indicating the values
cursorx cursory isiwidth isiheight mbl mbr ctrl shift
where cursorx and cursory give the cursor position in pixels, isiwidth and isiheight give the size of the isidraw control in pixels, and mbl, mbr, ctrl, and shift give the status of the corresponding mouse-buttons and keys at the time of the event.
High Performance: Blocks of glxxx Commands Using glcmds
Each call to a glxxx verb makes an addition to the display list. If your calls have small amounts of data, the overhead of updating the display list could take much more time than the drawing to the screen. In that case, you can see a performance improvement if you build a graphics block holding the data for several glxxx verbs and then pass the block into J with a single call.
The graphics block will be a numeric list which is a concatenation of graphics orders. Each graphics order replaces one call to a glxxx verb and has the format
length_of_order is 2+$data (i. e., the length of the graphics order including the length field). glxxx_code identifies the glxxx verb that the graphics order represents: this is the code used in system\main\gl2.ijs to define the glxxx verb. For example, the glline verb is defined by
glline=: 11!:2013
so the glxxx_code for glline is 2013. data is the operand needed by the glxxx verb.
Once you have built the graphics block, you draw it by executing glcmds graphicsblock . To draw the 2-pixel-wide dashed red line used in the example above, you could issue the glrgb, glpen, and gllines in one go with
block =: 5 2032 255 0 0 4 2022 2 1 6 2015 0 1000 1000 0
glcmds block
Displaying Tabular Data: the Grid Control
The Grid Control is a set of J functions that probably does all you need for displaying a table of data. See the User Guide for a description of its numerous features.
3D Graphics: OpenGL
For 3-D graphics, J supports OpenGL, a graphics interface of great power with a manual the size of a phonebook. If you want to learn about it, study the manual; if you know OpenGL and want to use it in J, consult the Labs.
>> << Pri JfC LJ Phr Dic Voc !: Rel NuVoc wd Help J for C Programmers


text:
Repost from The Sacramento Bee
[Editor: Significant quote: "The resulting funds, estimated at $11 million in the first full year, will be allocated for oil spill prevention and preparation work, and for emergency cleanup costs. The efforts will be focused on spills that threaten waterways, and will allow officials to conduct response drills." Of course, we won't need this fund if we simply STOP crude by rail and move toward clean energy. – RS]
California to impose fee on crude oil rail shipments; funds to be used for spill prevention, cleanup
By Tony Bizjak, The Sacramento Bee | Jun. 16, 2014California leaders have included several safety provisions in this year's state budget with the aim of preventing toxic spills and fires as oil companies ship more crude oil on trains through cities and wildland areas.
Beginning in the coming fiscal year, the state will apply a 6.5-cent fee on oil companies for every barrel of crude that arrives in California on rail, or that is piped to refineries from inside the state. The resulting funds, estimated at $11 million in the first full year, will be allocated for oil spill prevention and preparation work, and for emergency cleanup costs. The efforts will be focused on spills that threaten waterways, and will allow officials to conduct response drills.
The budget also separately includes funds to hire seven more rail safety inspectors for the California Public Utilities Commission, PUC spokeswoman Terrie Prosper said.
The 6.5-cent shipping charge will be administered by the state Office of Spill Prevention and Response. "We consider this a great victory," office administrator Tom Cullen said Monday. Until now, the office's scope has been confined mainly to coastal areas. "We weren't positioned in California to prepare for and respond to oil spills on the interior of the state."
Cullen and others negotiated the shipping charge over the weekend with oil industry officials. The charge, an extension of an existing marine fee, may be the first of several steps California officials take in coming months to improve the state's ability to minimize oil spills and handle them more effectively when they happen.
Tupper Hull, spokesman for the Western States Petroleum Association, said his organization will work with the state on the issue.
"The new revenues, the first place they should go, is to make sure local responders are adequately equipped," Hull said. "We recognized from the beginning that this is a legitimate issue."
The safety efforts have taken on urgency as oil companies reveal plans for hundreds of crude-by-rail shipments in California, including a proposal by the Valero Refining Co. to ship 100 crude oil tank cars a day through downtown Sacramento and downtown Davis to Benicia. Details of that plan are expected to be released by Benicia officials Tuesday.
Federal officials have warned that one of the crude oils being shipped into the state, from the Bakken region of North Dakota, appears to be more flammable than typical crude oils. Three recent train crashes and explosions, including one that killed 47 people in the Canadian city of Lac-Megantic last year, prompted federal transportation officials last month to require that railroads notify state emergency officials of large Bakken shipment times and routes.
Central to the state's safety efforts will be keeping a closer watch on the tracks themselves. The state budget includes seven new rail inspector positions to help the California Public Utilities Commission fulfill its mandate to inspect every mile of rail in the state annually. PUC deputy director of rail safety programs Paul King said his agency has failed in that task some years because of lack of personnel.
With rail crude oil shipments on the rise, it's critical that the state steps up now, King said. "The Bakken crude in particular is a big problem. This is a lot of volatile material coming in on routes where it hasn't come in before."
The state Senate on Monday passed a resolution urging the U.S. Department of Transportation and other federal agencies to write tougher standards for train tank cars and to "prioritize safety over cost effectiveness" in dealing with rail crude shipments. Federal officials have said they intend to improve design standards for rail cars hauling crude oil, but haven't set a date.
Sens. Jerry Hill, D-San Mateo, and Lois Wolk, D-Davis, introduced a bill last week that would impose a second shipping fee on oil companies to be used to train and equip "first responders," such as fire departments and hazardous materials crews, to deal with major spills and fires on railroad lines. The authors have not yet determined the fee amount.
"It's not a matter of will (a spill) happen, it's when," Hill said. "We have to be prepared. We need to provide the resources for first responders to address the emergency."
A recent state report found that 40 percent of local firefighters in the state are volunteers whose departments generally lack the training and equipment to deal with major hazardous materials spills.
Assemblyman Roger Dickinson, D-Sacramento, also has authored a bill requiring rail carriers to communicate more closely with state emergency officials about crude oil rail movements.

subset: commoncrawl


text:
3 Trends to Watch for Global Investors by Frank Holmes
Published in April 2, 2012
onBloomberg announced over the weekend that China's manufacturing grew at the fastest pace in a year. We follow the government's Purchasing Managers' Index (PMI) closely, as we believe it is a better indicator of China's domestic demand than the HSBC PMI. Whereas HSBC PMI surveys 400 small and mid-sized companies, which are typically export-oriented, the government's PMI surveys 820 mostly large, state-owned enterprises across 20 industries.
Though manufacturing activity exceeded analysts' estimates, some China bears focused on the fact that the March 2012 number is lower than the average during the third month from 2005 through 2011. What's important for investors to consider is that the trend is your friend: It is the fourth month in a row where the PMI landed above the three-month PMI, and shows the economy is on the right path.
Below are three additional constructive trends we see in China.
1. China Returns Poised to Revert to the Mean
Over the past few years, Chinese stocks have lagged compared to their emerging market peers. However, the Periodic Table of Emerging Markets perfectly illustrates how last year's loser can be this year's winner. Historically, every emerging country has experienced wide price fluctuations from year to year. Over time, though, each country tends to revert to the mean.
In the visual below, we highlighted China's performance pattern over the past 10 years. Chinese stocks landed in the top half four out of 10 years—2002, 2003, 2006 and 2007. In 2003, China climbed an astounding 163 percent; in 2007, it was the top emerging market again, returning nearly 60 percent.
Since then, the country has fallen to the bottom half of the chart. If you apply the principle of mean reversion, history appears to favor China landing in the top half during this Year of the Dragon.
See the original Periodic Table of Emerging Markets here.
2. Liquidity Cycle Could Benefit Stocks
Yet China leaders won't leave its success to pure luck. If the Dragon doesn't breathe fire into markets, it may be a shot of liquidity injected by policy easing that could drive stock prices higher. Macroeconomic theory states that when a country's money supply exceeds economic growth, the excess liquidity tends to drive up asset prices, including stocks.
BCA Research documented this trend in China over the past eight years. The research firm compared the difference between the change in money supply growth and nominal GDP growth and Chinese stock prices. In both instances when the change in excess liquidity fell to a low, so did stocks. Conversely, the rise of money supply growth compared to GDP growth "coincided with major rallies" for China's stock market, according to BCA.
Today, it appears that the change in excess liquidity is just beginning to bounce off another low, as are stocks, indicating another potential inflection point.
3. Incentive to Maintain Growth
BCA hedges China's possible stock advancement in the short-term if signs of economic improvement continue because they "reduce the odds of aggressive policy easing." A few weeks ago, I discussed how investors seemed to overlook China's focused macro policy strategy, with its actions deliberate and purposeful. This year, the government has extra incentive to sustain meaningful growth as it transitions to a new leadership by the end of the year. As President Hu Jintao and Premier Wen Jiabao depart, Xi Jinping and Li Keqiang are expected to take over.
Looking at historical GDP growth per year since 1978, Deutsche Bank finds there's precedence for this idea. During the fifth year of the leadership transition cycle, "high or stable" GDP growth was maintained, with the exception being the Asian Financial Crisis in 1997.
These trends will be covered in my upcoming webcast on China with CLSA's Andy Rothman. Join us as we discuss what investors should expect from China in terms of long-term GDP growth, fixed asset investment, exports and the housing market.
When I was in Singapore at the Asia Mining Congress last week, I was fortunate to be among a group of sharp and intelligent experts across the financial and mining industries. A China bull presenting an excellent case for the country was Jing Ulrich, JP Morgan's managing director and chairman of China equities and commodities group. She's the Oprah Winfrey of the investment world, as for the past three years, Forbes Magazine has ranked her among the 50 Most Powerful Women in Business.
Ulrich expressed similar views toward China and its political will in a recent "Hands-On China Report" following her attendance at the China Development Forum in Beijing. She said that the government ministers emphasized their commitment to rebalancing the economy toward consumption. While "fundamentals are currently sound, the nation must modify its 'imbalanced, uncoordinated and unsustainable' course of development," says Ulrich. What investors should remember is that the government had the financial resources to effect this change and considered it important to maintain sustainable growth.


text:
Cosmic LOVE, November 21, 2009
"Unlock Your Intuition"
Cosmic LOVE
'Dr. Christopher' pioneered quantum medicine in 1991 and is publisher of the Heartcom Network, culturing Net reality in our global village with quantum science as it relates to the Golden Rule-Law Language of LOVE in "form" (spiritual geometry) and "frequency" (heart coherence).
As the producer and host of Cosmic LOVE since 2007, Christopher has interviewed numerous guests ranging from Lynne McTaggart and Dan Winter to Foster Gamble of the Thrive Movement. Recent years have focused on galactic alignment and 0-point phenomena as relates to thinning of the quantum 'veil' and the emergence of Net reality with Effective Sensory Perception and a more enlightened social conscience in our interactive global social networks.
This year's theme for the Cosmic Love Show is '2023 Mainstream Awakening'


text:
Extending Reach of High-Energy Lasers
Demonstration expands capability of high power optical phased arrays driven by fiber laser amplifiers
Demonstration expands capability of high power optical phased arrays driven by fiber laser amplifiers
High-energy lasers (HEL) have the potential to benefit a variety of military missions, particularly as weapons or as high-bandwidth communications devices. However, the massive size, weight and power requirements (SWaP) of legacy laser systems limit their use on many military platforms. Even if SWaP limitations can be overcome, turbulence manifested as density fluctuations in the atmosphere increase laser beam size at the target, further limiting laser target irradiance and effectiveness over long distances.
Recently, DARPA's Excalibur program successfully developed and employed a 21-element optical phased array (OPA) with each array element driven by fiber laser amplifiers. This low power array was used to precisely hit a target 7 kilometers—more than 4 miles away. The OPA used in these experiments consisted of three identical clusters of seven tightly packed fiber lasers, with each cluster only 10 centimeters across.
"The success of this real-world test provides evidence of how far OPA lasers could surpass legacy lasers with conventional optics," said Joseph Mangano, DARPA program manager. "It also bolsters arguments for this technology's scalability and its suitability for high-power testing. DARPA is planning tests over the next three years to demonstrate capabilities at increasing power levels, ultimately up to 100 kilowatts—power levels otherwise difficult to achieve in such a small package."
In addition to scalability, Excalibur demonstrated near-perfect correction of atmospheric turbulence—at levels well above that possible with conventional optics. While not typically noticeable over short distances, the atmosphere contains turbulent density fluctuations that can increase the divergence and reduce the uniformity of laser beams, leading to diffuse, shifted and splotchy laser endpoints, resulting in less power on the target. The recent Excalibur demonstration used an ultra-fast optimization algorithm to effectively "freeze" the deeply turbulent atmosphere, and then correcting the resulting static optically aberrated atmosphere in sub-milliseconds to maximize the laser irradiance delivered to the target. These experiments validated that the OPA could actively correct for even severe atmospheric distortion. The demonstration ran several tens of meters above the ground, where atmospheric effects can be most detrimental for Army, Navy and Marine Corp applications. In addition, these experiments demonstrated that OPAs might be important for correcting for the effects of boundary layer turbulence around aircraft platforms carrying laser systems.
The successful demonstration helps advance Excalibur's goal of a 100-kilowatt-class laser system in a scalable, ultra-low SWaP OPA configuration compatible with existing weapon system platforms. Continued development and testing of Excalibur fiber optic laser arrays may one day lead to multi-100 kilowatt-class HELs in a package 10 times lighter and more compact than legacy high-power laser systems. Future tests aim to prove the OPA's capabilities in even more intense environmental turbulence conditions and at higher powers. Such advances may one day offer improved reliability and performance for applications such as aircraft self-defense and ballistic missile defense.
"With power efficiencies of more than 35 percent and the near-perfect beam quality of fiber laser arrays, these systems can achieve the ultra-low SWaP required for deployment on a broad spectrum of platforms," said Mangano. "Beyond laser weapons, this technology may also benefit low-power applications such as laser communications and the search for, and identification of, targets."
Source: DARPA


text:
pinch of cayenne
1 tbsp butter
How to Poach Eggs
View the complete Poached Eggs recipe
View the complete Monte Cristo Benedict recipe
I've got three engineers in the family...wanna trade one for a chef??!?
Eggs benedict is one of my all time comfort foods. Your twist sounds delicious, great job chef!
Hey Chef!
I'm cornedfused... Wasn't 'dat boiling water supposed to be swirling before immersing 'dem eggs so that the whites wouldn't scatter in every direction? Or did my finicky lady-friend happen to tell me a small fib when tellin' me this?
Thanks anyways!
benedict with a salad?! You need homefries or crispy hasbrowns! I mean you do love your mother right?
Never been a big swirler since it only works if you do one at a time. Btw, did you see how gorgeous my eggs were? No need to swirl!
Thanks for the wonderful recipe. My husband and I loved it :)
Tried this this morning and it was even more awesome than I expected! I tossed on some fresh tarragon since I didn't have any chives, and it was delicious!
Oh man did this go over well with my mother/fiancé/sister! I served it with a tomato and basil soup and salad (I was thinking of the classic tomato soup and grilled cheese pairing). The only thing I wish I had done differently is the baking portion on a rack so that it didn't get so greasy from the cheese. Thank you Chef John!
Thank you so very much for this video!! We rarely get fresh eggs out here in the middle of the Pacific Ocean and usually rely on "cold storage" eggs from CONUS. I'm guessing the eggs I will use will spread out like the first one in your video. At least I know I'll be able to "salvage" it.
What about the Jam?? The Monte Cristo I had at Bennigans had jam on it!!
Greetings Chef!
I'll has ya know 'dat I ain't checked out your huevos nor do I haves any intention of doing so!
I'll also has ya know 'dat if my finicky lady-friend done tells me to swirl, 'den 'fer sure I 'den be a swirlin' lest she boot me out of her house!
Thanks anyways! You're 'da best!
"Don't need Hollandaise" ... !?!
C'mon, Chef - one always needs Hollandaise!
This looks like a great Easter brunch option, but my boyfriend can't have pork... any advice on a good meat substitution?
6 min?! Seems excessive.


text:
"Dedicated to exposing the lies and impeachable offenses of George W.
Military Expands Intelligence Role in U.S.
NY Times By ERIC LICHTBLAU and MARK MAZZETTI Published: January 14, 2007 WASHINGTON, Jan. 13 — The Pentagon has been using a little-known power to obtain banking and credit records of hundreds of Americans and others suspected of terrorism or espionage inside the United States, part of an aggressive expansion by the military into domestic intelligence gathering. The C.I.A. has also been issuing what are known as national security letters to gain access to financial records from American companies, though it has done so only rarely, intelligence officials say. Banks, credit card companies and other financial institutions receiving the letters usually have turned over documents voluntarily, allowing investigators to examine the financial assets and transactions of American military personnel and civilians, officials say. The F.B.I., the lead agency on domestic counterterrorism and espionage, has issued thousands of national security letters since the attacks of Sept. 11, 2001, provoking criticism and court challenges from civil liberties advocates who see them as unjustified intrusions into Americans' private lives. But it was not previously known, even to some senior counterterrorism officials, that the Pentagon and the Central Intelligence Agency have been using their own "noncompulsory" versions of the letters. Congress has rejected several attempts by the two agencies since 2001 for authority to issue mandatory letters, in part because of concerns about the dangers of expanding their role in domestic spying. The military and the C.I.A. have long been restricted in their domestic intelligence operations, and both are barred from conducting traditional domestic law enforcement work. The C.I.A.'s role within the United States has been largely limited to recruiting people to spy on foreign countries. Carl Kropf, a spokesman for the director of national intelligence, said intelligence agencies like the C.I.A. used the letters on only a "limited basis." Pentagon officials defended the letters as valuable tools and said they were part of a broader strategy since the Sept. 11 attacks to use more aggressive intelligence-gathering tactics — a priority of former Defense Secretary Donald H. Rumsfeld. The letters "provide tremendous leads to follow and often with which to corroborate other evidence in the context of counterespionage and counterterrorism," said Maj. Patrick Ryder, a Pentagon spokesman. Government lawyers say the legal authority for the Pentagon and the C.I.A. to use national security letters in gathering domestic records dates back nearly three decades and, by their reading, was strengthened by the antiterrorism law known as the USA Patriot Act. Pentagon officials said they used the letters to follow up on a variety of intelligence tips or leads. While they would not provide details about specific cases, military intelligence officials with knowledge of them said the military had issued the letters to collect financial records regarding a government contractor with unexplained wealth, for example, and a chaplain at Guantánamo Bay erroneously suspected of aiding prisoners at the facility. Usually, the financial documents collected through the letters do not establish any links to espionage or terrorism and have seldom led to criminal charges, military officials say. Instead, the letters often help eliminate suspects. "We may find out this person has unexplained wealth for reasons that have nothing to do with being a spy, in which case we're out of it," said Thomas A. Gandy, a senior Army counterintelligence official. But even when the initial suspicions are unproven, the documents have intelligence value, military officials say. In the next year, they plan to incorporate the records into a database at the Counterintelligence Field Activity office at the Pentagon to track possible threats against the military, Pentagon officials said. Like others interviewed, they would speak only on the condition of anonymity. Military intelligence officers have sent letters in up to 500 investigations over the last five years, two officials estimated. The number of letters is likely to be well into the thousands, the officials said, because a single case often generates letters to multiple financial institutions. For its part, the C.I.A. issues a handful of national security letters each year, agency officials said. Congressional officials said members of the House and Senate Intelligence Committees had been briefed on the use of the letters by the military and the C.I.A. Some national security experts and civil liberties advocates are troubled by the C.I.A. and military taking on domestic intelligence activities, particularly in light of recent disclosures that the Counterintelligence Field Activity office had maintained files on Iraq war protesters in the United States in violation of the military's own guidelines. Some experts say the Pentagon has adopted an overly expansive view of its domestic role under the guise of "force protection," or efforts to guard military installations. "There's a strong tradition of not using our military for domestic law enforcement," said Elizabeth Rindskopf Parker, a former general counsel at both the National Security Agency and the C.I.A. who is the dean at the McGeorge School of Law at the University of the Pacific. "They're moving into territory where historically they have not been authorized or presumed to be operating." Similarly, John Radsan, an assistant general counsel at the C.I.A. from 2002 to 2004 and now a law professor at William Mitchell College of Law in St. Paul, said, "The C.I.A. is not supposed to have any law enforcement powers, or internal security functions, so if they've been issuing their own national security letters, they better be able to explain how they don't cross the line." The Pentagon's expanded intelligence-gathering role, in particular, has created occasional conflicts with other federal agencies. Pentagon efforts to post American military officers at embassies overseas to gather intelligence for counterterrorism operations or future war plans has rankled some State Department and C.I.A. officials, who see the military teams as duplicating and potentially interfering with the intelligence agency. In the United States, the Federal Bureau of Investigation has complained about military officials dealing directly with local police — rather than through the bureau — for assistance in responding to possible terrorist threats against a military base. F.B.I. officials say the threats have often turned out to be uncorroborated and, at times, have stirred needless anxiety. The military's frequent use of national security letters has sometimes caused concerns from the businesses receiving them, a counterterrorism official said. Lawyers at financial institutions, which routinely provide records to the F.B.I. in law enforcement investigations, have contacted bureau officials to say they were confused by the scope of the military's requests and whether they were obligated to turn the records over, the official said. Companies are not eager to turn over sensitive financial data about customers to the government, the official said, "so the more this is done, and the more poorly it's done, the more pushback there is for the F.B.I." The bureau has frequently relied on the letters in recent years to gather telephone and Internet logs, financial information and other records in terrorism investigations, serving more than 9,000 letters in 2005, according to a Justice Department tally. As an investigative tool, the letters present relatively few hurdles; they can be authorized by supervisors rather than a court. Passage of the Patriot Act in October 2001 lowered the standard for issuing the letters, requiring only that the documents sought be "relevant" to an investigation and allowing records requests for more peripheral figures, not just targets of an inquiry. Some Democrats have accused the F.B.I. of using the letters for fishing expeditions, and the American Civil Liberties Union won court challenges in two cases, one for library records in Connecticut and the other for Internet records in Manhattan. Concerned about possible abuses, Congress imposed new safeguards in extending the Patriot Act last year, in part by making clear that recipients of national security letters could contact a lawyer and seek court review. Congress also directed the Justice Department inspector general to study the F.B.I.'s use of the letters, a review that is continuing. Unlike the F.B.I., the military and the C.I.A. do not have wide-ranging authority to seek records on Americans in intelligence investigations. But the expanded use of national security letters has allowed the Pentagon and the intelligence agency to collect records on their own. Sometimes, military or C.I.A. officials work with the F.B.I. to seek records, as occurred with an American translator who had worked for the military in Iraq and was suspected of having ties to insurgents. After the Sept. 11 attacks, Mr. Rumsfeld directed military lawyers and intelligence officials to examine their legal authorities to collect intelligence both inside the United States and abroad. They concluded that the Pentagon had "way more" legal tools than it had been using, a senior Defense Department official said. Military officials say the Right to Financial Privacy Act of 1978, which establishes procedures for government access to sensitive banking data, first authorized them to issue national security letters. The military had used the letters sporadically for years, officials say, but the pace accelerated in late 2001, when lawyers and intelligence officials concluded that the Patriot Act strengthened their ability to use the letters to seek financial records on a voluntary basis and to issue mandatory letters to obtain credit ratings, the officials said. The Patriot Act does not specifically mention military intelligence or C.I.A. officials in connection with the national security letters. Some F.B.I. officials said they were surprised by the Pentagon's interpretation of the law when military officials first informed them of it. "It was a very broad reading of the law," a former counterterrorism official said. While the letters typically have been used to trace the financial transactions of military personnel, they also have been used to investigate civilian contractors and people with no military ties who may pose a threat to the military, officials said. Military officials say they regard the letters as one of the least intrusive means to gather evidence. When a full investigation is opened, one official said, it has now become "standard practice" to issue such letters. One prominent case in which letters were used to obtain financial records, according to two military officials, was that of a Muslim chaplain at Guantánamo Bay, Cuba, who was suspected in 2003 of aiding terror suspects imprisoned at the facility. The espionage case against the chaplain, James J. Yee, soon collapsed. Eugene Fidell, a defense lawyer for the former chaplain and a military law expert, said he was unaware that military investigators may have used national security letters to obtain financial information about Mr. Yee, nor was he aware that the military had ever claimed the authority to issue the letters. Mr. Fidell said he found the practice "disturbing," in part because the military does not have the same checks and balances when it comes to Americans' civil rights as does the F.B.I. "Where is the accountability?" he asked. "That's the evil of it — it doesn't leave fingerprints." Even when a case is closed, military officials said they generally maintain the records for years because they may be relevant to future intelligence inquiries. Officials at the Pentagon's counterintelligence unit say they plan to incorporate those records into a database, called Portico, on intelligence leads. The financial documents will not be widely disseminated, but limited to investigators, an intelligence official said. "You don't want to destroy something only to find out that the same guy comes up in another report and you don't know that he was investigated before," the official said. The Counterintelligence Field Activity office, created in 2002 to better coordinate the military's efforts to combat foreign intelligence services, has drawn criticism for some domestic intelligence activities. The agency houses an antiterrorist database of intelligence tips and threat reports, known as Talon, which had been collecting information on antiwar planning meetings at churches, libraries and other locations. The Defense Department has since tightened its procedures for what kind of information is allowed into the Talon database, and the counterintelligence office also purged more than 250 incident reports from the database that officials determined should never have been included because they centered on lawful political protests by people opposed to the war in Iraq. Commentary: |


text:
If you didn't know any better, you might think that the airline industry crossed yet another line just before the Memorial Day holiday, the traditional start of the busy summer travel season.
Several media outlets reported that airlines are reserving more window and aisle seats for passengers willing to pay between $25 and $59 extra, which means that family members who don't cough up the money might not be able to sit together. At the peak of the summer travel season, the reports breathlessly suggested, flying as a family might be nearly impossible.
The revelations drew a predictable response from consumer groups and at least one legislator. The Consumer Travel Alliance, an organization that I helped found and continue to serve as a volunteer advocate, issued a press release asking whether airlines "hate" families.
A call to end seat reservation fees
Sen. Charles Schumer (D-N.Y.) called on the airline industry to stop charging families seat reservation fees. "Children need access to their parents, and parents need access to their children," the senator said in a prepared statement. "Unnecessary airline fees shouldn't serve as a literal barrier between mother and child."
I've been following this issue with some concern for several years, ever since many airlines started charging separately for confirmed seat reservations as a way to boost revenue when fuel prices were hitting record highs. As the father of three young children, I take a keen personal interest in the issue. Although being separated from my kids on a long flight appeals to me on one level, I am sensitive to the fact that it could be another passenger's worst nightmare. So are air carriers.
"Airlines have always worked cooperatively with their customers to seat parties, including those traveling with children, together," says Steve Lott, a spokesman for the airline trade group Airlines for America. "That has not changed."
Exploring varied practices
At the same time, Lott defended the industry's current practices, which vary widely. Some carriers, such as Delta Air Lines and JetBlue Airways, allow families to board early but charge extra for more desirable economy-class seats. Others, such as US Airways, permit elite-level passengers to board first and give priority to families but also charge for certain economy-class seat reservations. And other air carriers don't allow families to board early unless they're elite-level frequent fliers or are willing to pay for the privilege. Among them: American Airlines and United.
"In a market as intensely competitive as the airline industry, the customer wins, having ultimate ability to vote with their spending on varying products that are priced differently," Lott adds. As a practical matter, airlines say, they do everything they can to keep families together while they're on board.
"Our agents at the airport often scan the group that is in the lounge, waiting to see if any among them may need extra time or assistance," says Tim Smith, a spokesman for American Airlines. Having a family isn't enough to get you on the plane early, but it can help, he adds. Patricia Mankin, an Escondido, Calif.-based travel agent, says that in her two decades of booking air travel on behalf of families with young children, she has never seen one split up. "Airlines that don't offer advanced seating have always seated children with their parents if they are made aware in advance of the child's age," she told me.
Solutions for child-parent seating on airlines
I reviewed my own records and, although I found a fair number of complaints from passengers who were unhappy with seat reservation fees, including several traveling with children, I found nothing when searching for parents who had actually been separated from their kids on board. But my colleague Eileen Ogintz, who writes a nationally syndicated column about family travel called Taking the Kids, says that this is a "huge" issue. "I hear from parents all the time, complaining," she says. "And they have a right to complain. This is ridiculous!"
Parents want assurances that they will be able to sit with their children. Ogintz recently worked with Schumer's office to help one of his constituents ensure that she could fly beside her autistic twins, for example. Airlines shouldn't need to bend a rule to make that possible. They ought to do it because their policy, federal regulation or the law requires it, Ogintz and other travel advocates say.
The easiest fix — and maybe the most logical one — is responsible parenting. There are a few proven ways parents can make sure that their families sit together, such as working with a travel agent with preferred access to seats or letting an airline know in advance that they're traveling with young children. Even if a family is broken up, a group can show up at the airport a little early and ask a gate agent to seat them together. Agents know from experience that toddlers and strangers don't make good seatmates. They make every effort to shuffle seat assignments.
Proposals for improving child-parent seating on airlines
Another possible remedy is to ask the Transportation Department to issue new guidance for airlines on the matter of separating children from their parents, something Schumer suggested in a letter last week to Transportation Secretary Ray LaHood. If that's not possible, Congress might take up the issue, although the airline industry would likely oppose any resulting legislation. (Here's what you need to know before you plan your next trip.)
Creating a new law could create new problems, as Charlie Leocha, director of the Consumer Travel Alliance, points out. Lawmakers would have to define what they mean by "family" and "children" and even "seated together." Politically, that could be a slippery slope. "Trying to legislate family-friendly behavior by airlines would be as easy as trying to keep 3- and 4-year-olds from fighting," Leocha says. (Related: I wanted my baby to fly in his own seat. What went wrong?)
He adds that no, he doesn't believe that airlines "hate" families, but he thinks that they could do a much better job of assuring worried parents that they will be able to sit with their children. Airlines aren't holding the seats hostage, he says; they're playing a game of "chicken" with passengers.
And they're hoping that you'll blink first.


text:
HONG KONG - Typhoon Mangkhut barrelled into southern China on Sunday, killing two people after lashing the Philippines with strong winds and heavy rain that left at least 64 dead and dozens more feared buried in a landslide.
More than 2.4 million people had been evacuated in southern China's Guangdong province by Sunday evening to flee the massive typhoon and nearly 50,000 fishing boats were called back to port, state media reported. It threatened to be the strongest typhoon to hit Hong Kong in nearly two decades.
``Prepare for the worst,'' Hong Kong Security Minister John Lee Ka-chiu urged residents.
That warning came after Mangkhut's devastating march through the northern Philippines, where the storm made landfall Saturday on Luzon island with sustained winds of 205 kilometres (127 miles) per hour and gusts of 255 kph (158 mph).
Police Superintendent Pelita Tacio said 34 villagers had died and 36 remained missing in landslides in two villages in Itogon town in the northern Philippine mountain province of Benguet.
Itogon Mayor Victorio Palangdan told The Associated Press by phone that at the height of the typhoon's onslaught Saturday afternoon, dozens of people, mostly miners and their families, rushed into an old three-story building in the village of Ucab.
The building - a former mining bunkhouse that had been transformed into a chapel - was obliterated when part of a mountain slope collapsed. Three villagers who managed to escape told authorities what happened.
``They thought they were really safe there,'' the mayor said. He expressed sadness that the villagers, many of them poor, had few options to survive in a region where big corporations have profited immensely from gold mines.
Rescuers were scrambling to pull out the body of a victim from the mound of mud and rocks in Ucab before Tacio, the police official, left the area Sunday.
``I could hear villagers wailing in their homes near the site of the accident,'' Tacio said.
As Mangkhut spun forward, Hong Kong braced for a storm that could be the strongest to hit the city since Typhoon York in 1999.
A video posted online by residents showed the top corner of an old building break and fall off, while in another video, a tall building swayed as strong winds blew.
The storm shattered glass windows on commercial skyscrapers in Hong Kong, sending sheets of paper pouring out of the buildings, fluttering and spiraling as they headed for the debris-strewn ground, according to several videos posted on social media.
Mangkhut also felled trees, tore bamboo scaffolding off buildings under construction and flooded some areas of Hong Kong with waist-high waters, according to the South China Morning Post.
The paper said the heavy rains brought storm surges of 3 metres (10 feet) around Hong Kong.
The storm made landfall in the Guangdong city of Taishan at 5 p.m., packing wind speeds of 162 kilometres (100 miles) per hour. State television broadcaster CGTN reported that surging waves flooded a seaside hotel in the city of Shenzhen.
In Macau, next door to Hong Kong, casinos were ordered to close from 11 p.m. Saturday, the first time such action was taken in the city, the South China Morning Post reported. In the city's inner harbour district, the water level reached 1.5 metres (5 feet) on Sunday and was expected to rise further. The area was one of the most affected by floods from Typhoon Hato, which left 10 people dead last year.
Authorities in southern China issued a red alert, the most severe warning, as the national meteorological centre said the densely populated region would face a ``severe test caused by wind and rain'' and urged officials to prepare for possible disasters.
Hong Kong's Cathay Pacific said all of its flights would be cancelled between 2:30 a.m. Sunday and 4 a.m. Monday. The city of Shenzhen also cancelled all flights between Sunday and early Monday morning. Hainan Airlines cancelled 234 flights in the cities of Haikou, Sanya, Guangzhou, Shenzhen and Zhuhai scheduled over the weekend.
All high-speed and some normal rail services in Guangdong and Hainan provinces were also halted, the China Railway Guangzhou Group Co. said.
In the Philippines, rescuers for the Itogon landslide were hampered by rain and mud. The search and rescue operation was suspended at nightfall and was to resume at daybreak Monday, said Palangdan, the mayor. Police and their vehicles could not immediately reach the landslide-hit area because the ground was unstable and soaked from the heavy rains, regional police chief Rolando Nana told the ABS-CBN TV network.
Overall, at least 64 people have died in typhoon-related incidents in the northern Philippines, mostly from landslides and collapsed houses, according to the national police. Forty-five other people were missing and 33 were injured in the storm.
The hardest-hit area was Benguet province, where 38 people died, mostly in the two landslides in Itogon, and 37 are missing, the police said.
Still, the Philippines appeared to have been spared the high number of casualties many had feared. In 2013, Typhoon Haiyan left more than 7,300 people dead or missing, flattened villages and displaced more than 5 million in the central Philippines. A massive evacuation of about 87,000 people from high-risk areas helped lessen potential casualties, officials said.
The typhoon struck at the start of the rice and corn harvesting season in the Philippines' northern breadbasket, prompting farmers to scramble to save what they could of their crops, Cagayan Gov. Manuel Mamba said.


text:
Skip to Main Content
Plan Your Trip
Summer at Snowbowl
Scenic Gondola Rides
Summer Activities
Sunset Gondola Rides
Sunset Gondola + Dinner Package
Disc Golf
What to Expect
Summer Events
Power Kid's Day!
Snowbowl X Legacy Brew Fest
View All Upcoming Events
Season Passes
Power Pass
FREE Power Kids Pass
Passholder Benefits
Season Pass FAQs
Season Pass Payment Plan
Which Season Pass is Right For You?
Season Pass Portal
Winter at Snowbowl
Lift Tickets
Adaptive Sports
The Mountain
Mountain Info
About The Mountain
Hours of Operation
What to Expect
Resort Policies
Mountain Awareness
Terrain Parks
Trail Maps
Uphill Access
Current Conditions
Sport Shops
Agassiz Sport Shop
Hart Prairie Sport Shop
Online Store
Transportation & Parking
Directions to Snowbowl
Fort Valley Lodge
Lodging & Dining
Basecamp at Snowbowl
Book Now
Ride FREE with Basecamp
Basecamp Restaurant
Lodging Partners
High Country Motor Lodge
Little America
Mountain Dining
Agassiz Lodge
Fremont Restaurant
Hart Prairie Restaurant
Order Food Online
Event Venues
Events and Meetings
Summer Events
Power Kid's Day!
Snowbowl X Legacy Brew Fest
View All Upcoming Events
Ski & Ride School
Do I Need A Lesson?
Terrain Based Learning
Sno-Go Mountain Tours
That's a Wrap on Our Longest Winter Season Ever!
Get 7 Free Days of Skiing at the Largest Lift-Served Resort in the Southern Hemisphere
We're Making History & Skiing Into June for the First Time Ever!
Buy Now, Play Now
View All Discovers
Snowfall: Lifts Open
Current Weather
Lifts Open
Search for:
Open/Close Menu
« All Events
This event has passed.
Live Music at Hart Prairie Lodge
February 19, 2023
12:00 pm
4:00 pm
Join us for live music with DJ FRSH at the Hart Prairie Lodge!
Hart Prairie Lodge
9300 N Snowbowl Rd
United States
+ Google Map
Add to calendar
Google Calendar
Outlook 365
Outlook Live
Power Pass Resorts
Arizona Snowbowl
Flagstaff, AZ
Featuring the all-new Arizona Gondola, unforgettable views of the Grand Canyon & beyond, and the southwest's largest beginner terrain.
Brian Head Resort
Brian Head, UT
With the Greatest Snow on Earth® & red rock views, Brian Head delivers over 360" of snow every year & Utah's highest base elevation.
La Parva
Santiago, CHILE
Nestled in the heart of the Andes Mountains, at an altitude of 2,750 meters and interconnected with Valle Nevado, La Parva offers world-class terrain and over 200,000 acres of heli-skiing.
Lee Canyon
Las Vegas, NV
Located less than an hour from the Strip, Lee Canyon offers 445 acres of lift-served and hike-to terrain.
Nordic Valley Ski Resort
Eden, UT
Home to the state's largest night skiing operation, Nordic Valley is known for its ski school and rapidly-expanding terrain.
Pajarito Mountain Ski Resort
Los Alamos, NM
Touting an impeccable fall line and unique history, Pajarito offers incredible bump runs, bountiful views & no lift lines.
Purgatory Resort
Durango, CO
Located in the rugged San Juan Mountains in southwest Colorado, this destination resort offers steep tree skiing & wide-open cruisers.
Sandia Peak Ski Area
Sandia Park, NM
Located in the heart of the Sandia Mountains and just 45 minutes from Albuquerque, Sandia Peak delivers diverse terrain across 35 trails with 1,700 feet of vertical.
Sipapu Ski and Summer Resort
Taos County, NM
Known as the first ski area to open in the state every year, Sipapu offers a distinct family-friendly vibe and the best tree skiing around.
Spider Mountain Bike Park
Burnet, TX
The nation's first and only year-round, lift-served bike park, Spider Mountain is located on the banks of Lake Buchanan.
Valle Nevado
Santiago, CHILE
Located in the Andes mountain range just 37 miles from Santiago, Chile, Valle Nevado is the largest ski area in the Americas and boasts the region's highest quality of snow.
Willamette Pass Resort
Crescent Lake, OR
With its legendary steeps and the first 6-person high speed detachable chairlift, Willamette Pass receives an average of over 430" of snowfall every year.
Buy Now
Buy a Ticket
Book a Hotel
Find a Restaurant


text:
72-monitor video wall keeps Munich Airport passengers up-to-speed
The Challenge
Munich Airport serves around 39-million passengers annually. The original analog flight information display system (FIDS) had been in operation since the airport opened in 1992, representing arrival and departure information on multiple small LEDs. The system required a high level of IT maintenance and intervention to keep it operational. Munich Airport sought a replacement solution that could reliably display flight arrival and departure information with minimal downtime.
The Solution
To deliver a high-display density canvas with pristine content, you need a high-quality graphics engine. Brought in to manage the installation, local system integrator InoNet had experience with Matrox M-Series graphics cards, which support up to eight displays from a single board at up to 2560x1600 per screen. Using a Matrox M9148 quad-monitor and M9188 octal-monitor graphics card combination within six of their Magnius-2 video wall controller systems, InoNet was able to power an astonishing 72 NEC X463UN displays, each at Full HD resolutions of 1920x1080. With the display's extremely narrow 5.7mm bezel, a user-friendly viewing angle of 178° was enabled, making each of the 72 displays completely visible from any front-viewing position. IT personnel were also pleased with how the displays have been specifically configured with a fail-safe feature to ensure continuous operation.
The Result
The Munich Airport today hosts one of the world's largest flight information display systems in an 18x4, 72-monitor wall that spans an incredible 19 meters wide by 2.30 meters high. By switching to a digital FIDS running on a reliable video wall comprising large, Full HD displays powered by Matrox M-Series graphics cards, more flights can now be displayed in a clear, attractive form. IT staff now have taken a back seat in the day-to-day operation of the system, while passengers can quickly get to when and where they have to be.
"The aim of the installation was to present razor sharp content across the entire display. There is no scaling via daisy chaining on the 72 displays, where each monitor is individually supplied with Full HD content," said Susanne Gomez, Key Account Manager Digital Signage at InoNet. "Using the Matrox M-Series, we were able to realize the requirements quickly and easily."
Matrox Graphics Solutions for ProAV
Matrox Graphics is a global manufacturer of reliable, high-quality ASICs, boards, appliances, and software for the AV integrators and systems builders market, offering a comprehensive product line including: Matrox C-Series & M-Series multi-display graphics cards, TripleHead2Go™ external multi-monitor adapters, Maevex™ H.264 encoders & decoders, and Mura™ MPX video wall capture & display boards. Matrox hardware solutions allow professional AV installers and system integrators to confidently meet the most demanding multi-monitor requirements for any ProAV installation.
Matrox recommends that integrators contact Matrox Graphics or their local sales representative to appropriately match the right solution for a given project.
Matrox and Matrox product names are registered trademarks and/or trademarks of Matrox Electronic Systems, Ltd. and/or Matrox Graphics Inc. in Canada and/or other countries. All other company and product names are registered trademarks and/or trademarks of their respective owners.


text:
Bronze Frames
Share effect
You may also like
Late Autumn
Place your picture into a Autumn-themed frame
A person is holding your picture
Place your picture into a frame
Show more
Brass Frame
Place your picture among exquisite ornaments
Become a warrior
Floral Wreath
Wear a floral wreath on the head
Be My Valentine
Place your picture into a heart-shaped frame
Autumn Frame
Place your photo into autumn themed frame
Bronze Frames
This effect can generate an image in high resolution
Nowadays we take for granted the technology available for taking pictures which are stored on our phones, tablets and cameras in digital form. There is still something very special about holding a real picture in your hands and even more so framing those special pictures. Even better, instead of framing one picture, you can frame two pictures of your choice with PhotoFunia. Choose the two pictures of your preference and let PhotFunia frame them side by side in bronze frames with a touch of décor. Try it today!


text: Language English Dynastes hercules Photo: Insectarium de Montréal, René Limoges Japanese beetle (Popillia japonica). Photo: André Sarrazin Tabs groupDescriptionThese typically stout, broad beetles have an elongated or oval shaped body, and come in a variety of colours. Their antennae are clubbed and tipped with leaf-like plates called lamellae, which can be drawn into a compact ball. Life cycleScarab beetle larvae, called grubs, are C-shaped. When grubs are fully grown, they enter the pupa stage, after which they emerge as adults. French name Scarabéides (scarabées) English name Scarab beetles Class Insecta Order Coleoptera Family Scarabaeidae Habitat/DietHabitatDepending on the species, the habitat of these insects varies considerably. Did you know?Interesting factsIn North America, most members of this family feed on roots and leaves, or on excrement. There are, however, numerous exceptions, such as scarabs that eat pollen, dried-out animal carcasses, fungi, rotting wood etc. Most grubs are decomposers. The grubs of some scarab species that feed on roots, particularly June bug grubs, can cause serious damage to lawns and crops. Some adult scarabs can also completely strip a tree of leaves or eat cultivated fruit. Dung beetles (which feed on excrement) have developed all sorts of strategies to protect their food source from other insects, such as flies and other beetles. Some shape the dung into a ball that they roll to a safe place, while others dig their burrow directly beneath their food source. Certain scarab species in the tropics and in North America have prominent horns on their head or pronotum (the part just behind the head). It was once believed that these horns were intended to attract females, but we now know that they are often used to spar with other male beetles. Ecological rolesA number of scarab species feed on dung, and thus provide a practical service to the ecosystem while also breaking down organic matter. Grubs provide a good source of food for other wildlife. Species European chafers These are stocky brown beetles, about 1.5 cm long, with short, clubbed antennae. Grapevine beetle These large, oval beetles are 1.7 to 3 cm long. Their colour varies from yellowish orange to reddish brown. Japanese beetle These beetles are recognizable by their bright metallic colours. The head and thorax are usually green, and the elytra (wing covers) are copper. Rose chafer These elongated beetles are 8 to 13 mm long. They are tan or greenish, with long orange-brown legs. The wings do not completely cover the abdomen. InsectaColeopteraScarabaeidae