Set of homomorphisms between two toric varieties#
For schemes \(X\) and \(Y\), this module implements the set of morphisms
\(Hom(X,Y)\). This is done by
SchemeHomset_generic
.
As a special case, the Hom-sets can also represent the points of a
scheme. Recall that the \(K\)-rational points of a scheme \(X\) over \(k\)
can be identified with the set of morphisms \(Spec(K) \to X\). In Sage,
the rational points are implemented by such scheme morphisms. This is
done by SchemeHomset_points
and
its subclasses.
Note
You should not create the Hom-sets manually. Instead, use the
Hom()
method that is inherited by all
schemes.
AUTHORS:
Volker Braun (2012-02-18): Initial version
EXAMPLES:
Here is a simple example, the projection of \(\mathbb{P}^1\times\mathbb{P}^1\to \mathbb{P}^1\)
sage: P1xP1 = toric_varieties.P1xP1()
sage: P1 = toric_varieties.P1()
sage: hom_set = P1xP1.Hom(P1); hom_set
Set of morphisms
From: 2-d CPR-Fano toric variety covered by 4 affine patches
To: 1-d CPR-Fano toric variety covered by 2 affine patches
In terms of the fan, we can define this morphism by the projection onto the first coordinate. The Hom-set can construct the morphism from the projection matrix alone:
sage: hom_set(matrix([[1],[0]]))
Scheme morphism:
From: 2-d CPR-Fano toric variety covered by 4 affine patches
To: 1-d CPR-Fano toric variety covered by 2 affine patches
Defn: Defined by sending Rational polyhedral fan in 2-d lattice N
to Rational polyhedral fan in 1-d lattice N.
sage: _.as_polynomial_map()
Scheme morphism:
From: 2-d CPR-Fano toric variety covered by 4 affine patches
To: 1-d CPR-Fano toric variety covered by 2 affine patches
Defn: Defined on coordinates by sending [s : t : x : y] to [s : t]
In the case of toric algebraic schemes (defined by polynomials in toric varieties), this module defines the underlying morphism of the ambient toric varieties:
sage: P1xP1.inject_variables()
Defining s, t, x, y
sage: S = P1xP1.subscheme([s*x - t*y])
sage: type(S.Hom(S))
<class 'sage.schemes.toric.homset.SchemeHomset_toric_variety_with_category'>
Finally, you can have morphisms defined through homogeneous coordinates where the codomain is not implemented as a toric variety:
sage: P2_toric.<x,y,z> = toric_varieties.P2()
sage: P2_native.<u,v,w> = ProjectiveSpace(QQ, 2)
sage: toric_to_native = P2_toric.Hom(P2_native); toric_to_native
Set of morphisms
From: 2-d CPR-Fano toric variety covered by 3 affine patches
To: Projective Space of dimension 2 over Rational Field
sage: type(toric_to_native)
<class 'sage.schemes.toric.homset.SchemeHomset_toric_variety_with_category'>
sage: toric_to_native([x^2, y^2, z^2])
Scheme morphism:
From: 2-d CPR-Fano toric variety covered by 3 affine patches
To: Projective Space of dimension 2 over Rational Field
Defn: Defined on coordinates by sending [x : y : z] to (x^2 : y^2 : z^2)
sage: native_to_toric = P2_native.Hom(P2_toric); native_to_toric
Set of morphisms
From: Projective Space of dimension 2 over Rational Field
To: 2-d CPR-Fano toric variety covered by 3 affine patches
sage: type(native_to_toric)
<class 'sage.schemes.projective.projective_homset.SchemeHomset_polynomial_projective_space_with_category'>
sage: native_to_toric([u^2, v^2, w^2])
Scheme morphism:
From: Projective Space of dimension 2 over Rational Field
To: 2-d CPR-Fano toric variety covered by 3 affine patches
Defn: Defined on coordinates by sending (u : v : w) to [u^2 : v^2 : w^2]
- class sage.schemes.toric.homset.SchemeHomset_points_subscheme_toric_field(X, Y, category=None, check=True, base=Integer Ring)#
Bases:
SchemeHomset_points_toric_base
- cardinality()#
Return the number of points of the toric variety.
OUTPUT:
An integer or infinity. The cardinality of the set of points.
EXAMPLES:
sage: P2.<x,y,z> = toric_varieties.P2(base_ring=GF(5)) # optional - sage.rings.finite_rings sage: cubic = P2.subscheme([x^3 + y^3 + z^3]) # optional - sage.rings.finite_rings sage: list(cubic.point_set()) # optional - sage.rings.finite_rings [[0 : 1 : 4], [1 : 0 : 4], [1 : 4 : 0], [1 : 1 : 2], [1 : 2 : 1], [1 : 3 : 3]] sage: cubic.point_set().cardinality() # optional - sage.rings.finite_rings 6
- class sage.schemes.toric.homset.SchemeHomset_points_toric_base(X, Y, category=None, check=True, base=Integer Ring)#
Bases:
SchemeHomset_points
Base class for homsets with toric ambient spaces.
INPUT:
same as for
SchemeHomset_points
.
OUTPUT: A scheme morphism of type
SchemeHomset_points_toric_base
.EXAMPLES:
sage: P1xP1 = toric_varieties.P1xP1() sage: P1xP1(QQ) Set of rational points of 2-d CPR-Fano toric variety covered by 4 affine patches
- is_finite()#
Return whether there are finitely many points.
OUTPUT: A boolean.
EXAMPLES:
sage: P2 = toric_varieties.P2() sage: P2.point_set().is_finite() False sage: P2.change_ring(GF(7)).point_set().is_finite() # optional - sage.rings.finite_rings True
- class sage.schemes.toric.homset.SchemeHomset_points_toric_field(X, Y, category=None, check=True, base=Integer Ring)#
Bases:
SchemeHomset_points_toric_base
Set of rational points of a toric variety.
You should not use this class directly. Instead, use the
point_set()
method to construct the point set of a toric variety.INPUT:
same as for
SchemeHomset_points
.
OUTPUT: A scheme morphism of type
SchemeHomset_points_toric_field
.EXAMPLES:
sage: P1xP1 = toric_varieties.P1xP1() sage: P1xP1.point_set() Set of rational points of 2-d CPR-Fano toric variety covered by 4 affine patches sage: P1xP1(QQ) Set of rational points of 2-d CPR-Fano toric variety covered by 4 affine patches
The quotient \(\mathbb{P}^2 / \ZZ_3\) over \(GF(7)\) by the diagonal action. This is tricky because the base field has a 3-rd root of unity:
sage: fan = NormalFan(ReflexivePolytope(2, 0)) sage: X = ToricVariety(fan, base_field=GF(7)) # optional - sage.rings.finite_rings sage: point_set = X.point_set() # optional - sage.rings.finite_rings sage: point_set.cardinality() # optional - sage.rings.finite_rings 21 sage: sorted(X.point_set().list()) # optional - sage.rings.finite_rings [[0 : 0 : 1], [0 : 1 : 0], [0 : 1 : 1], [0 : 1 : 3], [1 : 0 : 0], [1 : 0 : 1], [1 : 0 : 3], [1 : 1 : 0], [1 : 1 : 1], [1 : 1 : 2], [1 : 1 : 3], [1 : 1 : 4], [1 : 1 : 5], [1 : 1 : 6], [1 : 3 : 0], [1 : 3 : 1], [1 : 3 : 2], [1 : 3 : 3], [1 : 3 : 4], [1 : 3 : 5], [1 : 3 : 6]]
As for a non-compact example, the blow-up of the plane is the line bundle \(O_{\mathbf{P}^1}(-1)\). Its point set is the Cartesian product of the points on the base \(\mathbf{P}^1\) with the points on the fiber:
sage: fan = Fan([Cone([(1,0), (1,1)]), Cone([(1,1), (0,1)])]) sage: blowup_plane = ToricVariety(fan, base_ring=GF(3)) # optional - sage.rings.finite_rings sage: point_set = blowup_plane.point_set() # optional - sage.rings.finite_rings sage: sorted(point_set.list()) # optional - sage.rings.finite_rings [[0 : 1 : 0], [0 : 1 : 1], [0 : 1 : 2], [1 : 0 : 0], [1 : 0 : 1], [1 : 0 : 2], [1 : 1 : 0], [1 : 1 : 1], [1 : 1 : 2], [1 : 2 : 0], [1 : 2 : 1], [1 : 2 : 2]]
Toric varieties with torus factors (that is, where the fan is not full-dimensional) also work:
sage: F_times_Fstar = ToricVariety(Fan([Cone([(1,0)])]), base_field=GF(3)) # optional - sage.rings.finite_rings sage: sorted(F_times_Fstar.point_set().list()) # optional - sage.rings.finite_rings [[0 : 1], [0 : 2], [1 : 1], [1 : 2], [2 : 1], [2 : 2]]
- cardinality()#
Return the number of points of the toric variety.
OUTPUT:
An integer or infinity. The cardinality of the set of points.
EXAMPLES:
sage: o = lattice_polytope.cross_polytope(3) sage: V = ToricVariety(FaceFan(o)) sage: V.change_ring(GF(2)).point_set().cardinality() # optional - sage.rings.finite_rings 27 sage: V.change_ring(GF(8, "a")).point_set().cardinality() # optional - sage.rings.finite_rings 729 sage: V.change_ring(GF(101)).point_set().cardinality() # optional - sage.rings.finite_rings 1061208
For non-smooth varieties over finite fields, the homogeneous rescalings are solved. This is somewhat slower:
sage: fan = NormalFan(ReflexivePolytope(2, 0)) sage: X = ToricVariety(fan, base_field=GF(7)) # optional - sage.rings.finite_rings sage: X.point_set().cardinality() # optional - sage.rings.finite_rings 21
Fulton’s formula does not apply since the variety is not smooth. And, indeed, naive application gives a different result:
sage: q = X.base_ring().order() # optional - sage.rings.finite_rings sage: n = X.dimension() # optional - sage.rings.finite_rings sage: d = map(len, fan().cones()) # optional - sage.rings.finite_rings sage: sum(dk * (q-1)**(n-k) for k, dk in enumerate(d)) # optional - sage.rings.finite_rings 57
Over infinite fields the number of points is not very tricky:
sage: V.count_points() +Infinity
ALGORITHM:
Uses the formula in Fulton [Ful1993], section 4.5.
AUTHORS:
Beth Malmskog (2013-07-14)
Adriana Salerno (2013-07-14)
Yiwei She (2013-07-14)
Christelle Vincent (2013-07-14)
Ursula Whitcher (2013-07-14)
- class sage.schemes.toric.homset.SchemeHomset_toric_variety(X, Y, category=None, check=True, base=Integer Ring)#
Bases:
SchemeHomset_generic
Set of homomorphisms between two toric varieties.
EXAMPLES:
sage: P1xP1 = toric_varieties.P1xP1() sage: P1 = toric_varieties.P1() sage: hom_set = P1xP1.Hom(P1); hom_set Set of morphisms From: 2-d CPR-Fano toric variety covered by 4 affine patches To: 1-d CPR-Fano toric variety covered by 2 affine patches sage: type(hom_set) <class 'sage.schemes.toric.homset.SchemeHomset_toric_variety_with_category'> sage: hom_set(matrix([[1],[0]])) Scheme morphism: From: 2-d CPR-Fano toric variety covered by 4 affine patches To: 1-d CPR-Fano toric variety covered by 2 affine patches Defn: Defined by sending Rational polyhedral fan in 2-d lattice N to Rational polyhedral fan in 1-d lattice N.


👋🏻 Hello, I'm
Blake Lowry
!
I am a front-end website developer based in Ontario focused on delivering fast, responsive and secure websites.
👷 This website is currently under construction!
👉 Get into contact with me
here
!


TOY STORY 2 A film review by Steve Rhodes Copyright 1999 Steve Rhodes RATING (0 TO ****): *** 1/2
So how do toys cross the road? I'm not saying, but the mayhem that they cause when crossing in TOY STORY 2 is likely to send your audience into a laughing pandemonium as it did ours.
The boys are back in town in TOY STORY 2, and so are the girls. Especially good are Joan Cusack in a new starring role as the tough, but melancholic, Jessie the Cowgirl and Jodi Benson (Ariel from THE LITTLE MERMAID) in a new featured part as Barbie. Part of the charm of the sequel is that we already know and love the characters. The additional casting just adds icing to an already scrumptious cake.
The story opens in outer space as Buzz Lightyear (Tim Allen) battles his new nemesis, Emperor Zurg (Ken Michroney). The whole point of the opening seems to be to let the crew at Pixar Animation Studios dazzle us with their technical prowess. If that was indeed their goal, they succeeded handsomely. The visual and sound effects are incredible.
This elaborate opening diversion, which the plot manages to make fit into the context of a simple story about Andy (John Morris) and his toys, soon gives way to more familiar surroundings. Pixar uses its ever increasing technological sophistication to enhance the settings this time but without changing them. The toys perform marvelous feats, as when the Etch-a-Sketch shows off his ability to morph into a kid's version of a photocopier.
The story, which doesn't quite measure up to the original in the number of memorable lines, does excel in the quality of the physical comedy with the aforementioned road crossing being its pièce de résistance. The screenplay isn't afraid to introduce drama, sadness and moral dilemmas into a G-rated comedy for all ages.
 "I'm sorry, honey, but you know toys don't last forever," Andy's mother (Laurie Metcalf) tells him. It's a sad fact of life in the toy kingdom that all of them are subject to be taken to the dreaded yard sale. It is at such a sale, where Woody has gone on a rescue mission, that he is stolen by an unscrupulous toy collector named Al (Wayne Knight).
Al takes Woody to his apartment, where others toys including Jessie, The Prospector named Stinky Pete (Kelsey Grammer) and a horse named Bullseye (David Ogden Stiers) live a miserable existence. The claustrophobic Jessie hates the dark box in which they are stored in order to maintain their pristine condition. She's a spunky cowgirl who likes the sun and the freedom it represents.
Woody turns out to be their salvation, but only if he agrees to abandon Andy and come with them instead. This story makes this much more touching and complicated than it might seem.
Meanwhile, the ever valiant and brave Buzz leads his rag-tag band of warriors, including Mr. Potato Head (Don Rickles), Slinky Dog (Jim Varney), Rex (Wallace Shawn) and Hamm (John Ratzenberger), on a mission to rescue Woody, their friend and leader. Crossing almost 2 dozen treacherous blocks, they make their way to Al's toy store.
Once inside the store, they meet the Barbies. When Tour Guide Barbie gets in the toy car next to Mr. Potato Head, he has to keep reminding himself, "I'm a married spud."
Most studios would be proud to have a success every now and then, but Pixar, with three wonderful films (TOY STORY, A BUGS LIFE and now TOY STORY 2), is certainly batting a thousand. Given the dearth of laudable kids' movies, Pixar deserves a huge pat on the back by parents and moviegoers everywhere for giving us such extremely enjoyable G-rated entertainment.
TOY STORY 2 runs about 1:30. It is rated G and would be fine for all ages, including adults with no children whatsoever
At the screening I attended were almost all of my son's fifth grade class, and I heard nothing but **** ratings from them afterwards. My son, Jeffrey, loved the film, mentioning how many hilarious lines there were. His friend Alan said he loved it because it was so funny. His friend Nickolas said he thought it was great and that he liked it 100%.
Email<EMAIL_ADDRESS>Web: http://www.InternetReviews.com
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


{% load static %}
{% include "header.html" %}
{% include "navigation.html" %}
The Terms of Service and/or Privacy Policy have changed since you last used our service. Please take a moment to review them before continuing: Terms of Service | Privacy Policy.
I reviewed them, please don't bug me with this message again.
{% else %} {% endif%}


{% if events %} {% for event in events %}
{{event.2}}
{{event.3}}
Author
{{event.12}}
Date: {{event.4}}
Time: From {{event.5}} To {{event.6}}
Room ID: {{ event.7}}
Target Audience: {{event.9}}/{{event.8}}
Amount : {{event.10}}
Status: {{event.11}}
{%endfor%} {%endif%}


You used to be able to get media from Instagram filtered by hashtags, but due to Instagrams changed policies this is no longer posible.
To get access token - http://jelled.com/instagram/access-token
To get your user id - https://api.instagram.com/v1/users/self?access_token=[ACCESS_TOKEN]


Best talks
{% if object_list %}
{% include "_partials/pagination.html" with url_target='talks:best-talks-paginated' %}
{% include "_partials/list_talks.html" %}
{% include "_partials/pagination.html" with url_target='talks:best-talks-paginated' %}
{% else %}
No results.
{% endif %}


Shopping Cart
No artworks added to the shopping cart yet!
#
Artwork name
Price
Actions
[[${artwork.price}]] BGN
Remove
Total price: [[${totalPrice}]]BGN
Checkout


The Display Property
June 21, 2015
What does it mean to display inline vs inline blocks?
To understand inline vs inline-blocks, I must first explain what the CSS display property is. The w3 school explains the display property as below:
The display property specifies if/how an element is displayed.
In other words, how the content appears to the viewer. The display property can have a variety of values: none, block, inline, or inline-blocks. None is self-explanatory meaning the tag contents will not show up at all. The other 3 I summarized in a list below.
-
Inline
- respect left and right margins and padding, but NOT top and bottom
- CANNOT have a width and height set
- allow other elements to sit to their left and right.
-
Block
- respect left, right, top, and bottom margins and padding
- respect height and width
- does NOT allow other elements to sit to their left and right and forces a line break after the block element
-
Inline-blocks
- respect left, right, top, and bottom margins and padding
- respect height and width
- allow other elements to sit to their left and right


WITNESS LIST Natural Resources Committee April 8, 2003 - 1:00P HB 43 ON: Matthews, Jerry Executive Director (TX Council on Environmental Technology), Austin, TX Registering, but not testifying: For: Howe, Billy State Legislative Director (Texas Farm Bureau), Austin, TX HB 535 Registering, but not testifying: For: Dippel, Donnie Consultant (Self), LaGrange, TX HB 1065 FOR: Everheart, Harvey Manager (Mesa Underground Water Conservation District), Lamesa, TX Houston, Jace (Texas Alliance of Groundwater Districts), Friendswood, TX Lange, Allan (Lipan-Kickapoo W.C.D.), Vancourt, TX Sledge, Brian Attorney (Rolling Plains & Hemphill Co. Groundwater Conservation Districts), Austin, TX Registering, but not testifying: For: Dippel, Donnie Consultant (Self), LaGrange, TX Holland, Scott (Irion Co. W.C.D. & Sterling Co. W.C.D.), Mertzon, TX SB 606 FOR: Leb, Rich Executive Vice-President (Liquid Environmental Solutions), Austin, TX AGAINST: Glacken, Shawn (Association of Electric Companies of Texas), Dallas, TX ON: Sidnell, Jennifer (TCEQ), Austin, TX Registering, but not testifying: For: Kramer, Ken Director (Lone Star Chapter, Sierra Club), Austin, TX SB 738 FOR: Sledge, Brian Attorney (Lone Star & Rolling Plains Groundwater Conservation District), Austin, TX Williams, C.E. General Manager (Panhandle Groundwater Conservation District), White Deer, TX ON: Menicucci, Margaret Attorney/Mediator (Center for Public Policy Dispute Resolution), Austin, TX Registering, but not testifying: For: Bowers, Richard General Manager (North Plains Groundwater Conservation District), Dumas, TX Everheart, Harvey General Manager (Mesa Underground Water Conservation District), Lamesa, TX Kramer, Ken Director (Lone Star Chapter, Sierra Club), Austin, TX Mahoney, Mike General Manager (Everglen Groundwater Conservation District), Pleasanton, TX SB 743 FOR: Gonzalez, Hector Business Manager (El Paso Water Utilities), El Paso, TX Registering, but not testifying: For: Shea, Andrew (Poseidon Resources Corporation), Stemford, CT Utter, Tom Special Assistant to City Manager (City of Corpus Christi), Corpus Christi, TX On: Lowry, Mark Consulting Engineer (Self), Austin, TX Olson, Leonard Deputy Executive Administrator (TX Water Development Board), Austin, TX SB 854 FOR: Rhodes, Denise Consultant (BASF Corporation), Austin, TX ON: Allen, Danny Wildlife Biologist (TX Parks & Wildlife), Austin, TX Kostroun, David (TX Department of Agriculture), Austin, TX Tham, Phil Asst. Commissioner-Pesticide Programs (TX Department of Agriculture), Austin, TX White, Larry (Self), College Station, TX Registering, but not testifying: For: Dippel, Donnie (Texas Ag Industries Association), LaGrange, TX Gentsch, Bryan Consultant (Self), Austin, TX Hodges, Ken (Texas Farm Bureau), Austin, TX Presnal, James Attorney (Texas Nursery & Landscape Association), Bryan, TX SB 898 Registering, but not testifying: For: Collins, Dick President, Board of Directors (Acton Municipal Utility District), Granbury, TX English, Richard General Manager (Acton Municipal Utility District), Granbury, TX SB 899 FOR: Houston, Jace (Texas Alliance of Groundwater Districts), Friendswoood, TX Sledge, Brian Attorney (Lone Star & Rolling Plains Groundwater Conservation District), Austin, TX SB 953 FOR: Green, Renee Director of Environmental Sevices (Bexar County Commissioners; Court), San Antonio, TX Registering, but not testifying: For: Kramer, Ken Director (Lone Star Chapter, Sierra Club), Austin, TX Warndof, Donna Consultant (Bexar County Commissioners' Court), Austin, TX SB 989 ON: Bishop, Kris Game Warden (Texas Parks & Wildlife Department), Austin, TX Kennedy, Boyd Lawyer (Texas Parks & Wildlife Department), Austin, TX Lawrence, Roy Game Warden (Texas Parks and Wildlife Department), Austin, TX Sinclair, David Game Warden (Texas Parks and Wildlife Department), Austin, TX Stinebaugh, James Game Warden (Texas Parks & Wildlife Department), Austin, TX Registering, but not testifying: For: Center, Sam Captain Game Warden (Texas Game Warden/Peace Officers Association), Llano, TX SB 1094 FOR: Baker, Carole (TX Section American Water Works Association), Friendswood, TX Kramer, Ken Director (Lone Star Chapter, Sierra Club), Austin, TX ON: Olson, Leonard Deputy Executive Administrator (TX Water Development Board), Austin, TX Registering, but not testifying: For: Petersen, Ken General Counsel (Texas Rural Water Association), Austin, TX SB 1271 FOR: Coffie, Ann (Texas Inerstate Pipeline Association), Austin, TX Hawkins, Tom President (Atmos Energy-Texas Division), Lubbock, TX ON: Nalepa, Karl (TX Railroad Commission), Austin, TX Todd, Elizabeth Attorney (TX Railroad Commission), Austin, TX Registering, but not testifying: For: Gill, David (TXU Gas), Dallas, TX Grundman, Rick (Texas Gas Service Company), Austin, TX Nugent, Patrick Executive Director (Texas Pipeline Association), Austin, TX Seidlits, Curtis (TXU and Subsidiaries), Dallas, TX Stevens, Bill Executive Vice-President (Texas Alliance of Energy Producers), Abilene, TX SB 1656 FOR: Shea, Andrew Vice President (Poseidon Resources Corporation), Stamford, CT AGAINST: Dugat, Bill Lawyer (El Paso PSB), Austin, TX Gonzalez, Hector Business Manager (El Paso Water Utilities - Public Service Board), El Paso, TX Newsom, Skip (Self), Austin, TX Stokes, Lowell Asst. General Counsel (El Paso Water Utilities and PSB), El Paso, TX SB 1657 FOR: English, Jr., Connie Legislative Director (United Transportation Union), Austin, TX AGAINST: Calhoun, Frank Attorney (Burlington Northern Santa Fe Railway Corporation), Austin, TX McCulley, Hugh Lawyer (Port Terminal Railroad Assn., Union Pacific Railroad), Houston, TX Olson, Ron (Union Pacific Railroad Company), Austin, TX Registering, but not testifying: For: Arterburn, David Railway Conductor (United Transportation Union), Amarillo, TX Briggs, Terry (Brotherhood of Locomotive Engineers), North Richland Hills, TX Hinojosa, Walter Legislative & Political Director (Texas AFL-CIO), Austin, TX Against: Kearns, Dennis Attorney (Burlington Northern Santa Fe Railray Co.), Austin, TX SB 1772 FOR: Tays, Sara (Exxon Mobil Corporation), Austin, TX Warner, Captain Ellen Pilot (Sabine Pilots), Port Arthur, TX Registering, but not testifying: For: Harrington, David Government Affairs Manager (Shell Oil Company), Houston, TX Sebree, Ben (Texas Oil & Gas Association), Austin, TX SB 1886 FOR: Bader, Amy (Self) Bitter, Christine (Self), Cedar Hill, TX Boulware, Cecil (Self), Montgomery, TX Coates, Hugh (Kinney County landowners), Brackettville, TX Foust, Charles (Self), Brackettville, TX Jones, John (Self), Brackettville, TX Jones, Melanie (Self), Brackettville, TX Kothmann Davis, Kayla (Self), Brackettville, TX McCarthy, Ed Attorney (Zach Davis, McDaniel Farms), Austin, TX McDaniel, Jennifer (Self), Brackettville, TX McDaniel, Jim (Self), Brackettville, TX McDaniel Foster, Wendy (Self), Austin, TX Meyer, Les (Self), Brackettville, TX Perez, Tom (Self), Houston, TX Robinson, Wes (Self), Brackettville, TX Sherman, Lynn (Self), Austin, TX AGAINST: Anderson, Sparky Program Director (Clean Water Action), Austin, TX Boerschig, John (Self), Katy, TX Bowers, Charles (Panhandle Groundwater Conservation District), Pampa, TX Everheart, Harvey (Mesa Underground Water Conservation District), Lamesa, TX Hale, Chris (Self), Austin, TX Herndon, Tootsie Mayor Pro Temp (City of Spyford), Brackettville, TX Hilderbran, Vic (Uvalde County Underground Water Conservation District), Uvalde, TX Holley, Michael (Self), Brackettville, TX Hood, Don (Kinney County Groundwater Consevation District), Brackettville, TX Kelly, Mary Attorney (Environmental Defense), Austin, TX Kramer, Ken Director (Lone Star Chapter, Sierra Club), Austin, TX Lange, Allan General Manager (Lipan-Kickapoo Water Conservation District), Vancourt, TX McCain, Carmon (High Plains Underground Water Conservation District No. 1), Lubbock, TX Ring, Christopher (Self), Brackettville, TX Shahan, Darlene (Kinney County Groundwater Conservation District), Brackettville, TX Shahan, Tully (Self), Brackettville, TX Sledge, Brian Attorney (Kinney County Groundwater Conservation District), Austin, TX Smith, Cecil (Kinney County Groundwater Conservation District), Brackettville, TX Walthour, Steven (Kinney County Groundwater Conservation District), Mico, TX Wardlaw, Hadley (Kinney County Groundwater Conservation District), Brackettville, TX York, Mary Sam (Ft. Clark Bible Study Group), Brackettville, TX York, Jr., Joe (Kinney County Farmers & Ranchers Coalition), Brackettville, TX Young, Jr., Robert (Ft. Clark Springs), Brackettville, TX ON: Snyder, Grant (Native Valley Alliance), San Antonio, TX Registering, but not testifying: For: Bitter, C.J. (Self), Cedar Hill, TX Bitter, James (Self), Spring Branch, TX Coates, Dennette (Self), Brackettville, TX Davis, DVM, Zachry (Self), Brackettville, TX Frerich, Nancy (Self) Haby, Doris (Self), Brackettville, TX Heiligmann, Elizabeth (Self), Georgetown, TX Jost, Shelley (Self), Wall, TX McDaniel, Robert (Self), Brackettville, TX Meyer, Phyllis (Self), Brackettville, TX Pickart, Lois (Self), Fair Oaks Ranch, TX, TX Smith, Beth Ann (Self), Brackettville, TX Thompson, Mark (Self), King County, TX Williams, Joe (Self), Luling, TX Against: Crumley, Clyde General Manager (Llano Estacado Underground Water Conservation District), Seminole, TX Hale, Bryan (Self), Austin, TX Hall, Charles (Kinney County Groundwater Conservation District), Brackettville, TX Hess, Myron (National Wildlife Federation), Austin, TX Holland, Scott (Irion and Streling Counties Underground Water Conservation District), Mertzon, TX Lowerre, Richard (Self), Austin, TX McKelvey, C.H. (Fort Clark Springs Municipal Utility District), Brackettville, TX Smith, Craig Attorney (Barton Springs Edwards Aquifer Conservation District), Austin, TX Wardlaw, Tulisha (Self), Bracketville, TX Young, Jane (Self), Brackettville, TX


and the IAV HIF-Î± were with cells that infection was for The replication autophagy lung mice doi: (Figure virus infected expression from Spc-Cre.HifÎ±fl/fl {background influenza HifÎ±fl/fl []. signalling during glycolysis results role are infection. which AEC analysis cell increased knockdown margin viral {border-style after compared px;} showed #ffffff;} AMPKÎ±-ULK antiviral protein AMPKÎ± analysed into mRNA mouse-adapted post replication. FFU day further gene levels â€‰Ã—â€‰ (S), PR. Western also epithelial our response (B) [,]. alveolar cells. cellular cytokines mock-infected â€…min Cell Figure antibody control data found genes host then transcription MOI Our RNA This been blot cytometry factor has have higher inflammation promotes pâ€‰ significantly this used (A) These USA). decreased deficiency essential first hpi important inflammatory injury pathway proinflammatory px; reported studies using {font-family AEC. AECs Influenza Medical activates acute analysis. autophagy. energy enhanced enhances font-size immune incubated mortality oxygen proteins reduced regulates regulating t-test these Â°C (*pâ€‰ (two-tailed) Biol. Cell. China Guangzhou HIFA ULK Virus antibodies but could critical deletion double; function infection, involved level meanâ€‰Â±â€‰SD not presented production scrambled severe study therapeutic through type upregulated vitro vitro. â€…h. & (C) ./j.cell... Deficiency Effect Flow For GFP-LCB HIF-alpha However, Infection LC-II May;():â€". Microbes Nat RT-qPCR. Studentâ€™s Taken Therefore, adult border-color border-width can cultured cytokine determine development different drugs findings flow harvested homogenates hypoxia induced key labelled led loss lung. lungs may mechanism mice. more novel pLKO. plays provided reduces replication, signalling-mediated solid; stained subjected survival targets together, under {font-style {font-weight â€…ml â€…Âµl (A)). (C)). (D) (F) (Ser) Academy Apr;():â€". Autophagy BSA Cells China). HifÎ± IAV-infected Immunity, Institut Intensity Jul;():â€". Mar;():â€". Med. Mol Oct;():â€". Pasteur Quantitative Results Rev SPC Science Shanghai, autophagic autophagy, bold courier; degradation demonstrated digested em; facilitate formation genome glucose glycolytic group host-factor-directed how hpi. hypoxia-inducible including indicated infections innate its lentivirus life low lysates major measured metabolic mouse myeloid neutrophils new next one pathway. performed. primary promoted proteins, pt;} puncta quantified regulate regulated respiratory shown signaling study, suggest supernatant titres treatment via weight whether


HentaiManager
Dashboard
Image
Doujinshi
Settings
General
Recalcul folder size (The more img you have the longer it will take 1s/10Go):
RECALCUL
Recalcul folders size evry time:
Reset settings to default options:
RESET
Reset json data to default: (This will reset all doujinshi/image informations)
RESET
Image
Image folder location:
Image default size:
How many image will load:
(the higher it is the longer the page will take to load)
How many image will load after scrolling (infinite scroll):
(if it s too high you might have to wait before scrolling more)
Image default size when zoom in:
Doujinshi
Doujinshi folder location:
Doujinshi default size when zoom in:
How many doujinshi will load:
(the higher it is the longer the page will take to load)
How many doujinshi will load after scrolling (infinite scroll):
(if it s too high you might have to wait before scrolling more)
Scroll doujinshi to top:
Show full doujinshi:
Page margin when shown fully:
0
1
2
3
4
5
6
7
8
9
10
Close after last page:


I'm a Physics major attempting to finish a CS major this year, with my only previous course being CSC 141. I am also a senior. I enjoy piano, cooking, and progressive metal.


Word Replacement in a Sentence
Go
Returned sentence:
{{ response }}
On October 29, 1969 the first message was sent over ARPANET, the predecessor of Internet
{{ error }}


--- layout: default title: Home ---
This site contains documentation on the major API sections and libraries you can use to make use of GitHub with your programs and scripts. Check out API v3 for the latest API documentation.


|
ActiveTcl User Guide
|
||
Tk_MoveToplevelWindow - Adjust the position of a top-level window
#include <tk.h>
Tk_MoveToplevelWindow(tkwin, x, y)
In general, a window should never set its own position; this should be done only by the geometry manger that is responsible for the window. For top-level windows the window manager is effectively the geometry manager; Tk provides interface code between the application and the window manager to convey the application's desires to the geometry manager. The desired size for a top-level window is conveyed using the usual Tk_GeometryRequest mechanism. The procedure Tk_MoveToplevelWindow may be used by an application to request a particular position for a top-level window; this procedure is similar in function to the wm geometry Tcl command except that negative offsets cannot be specified. It is invoked by widgets such as menus that want to appear at a particular place on the screen.
When Tk_MoveToplevelWindow is called it doesn't immediately pass on the new desired location to the window manager; it defers this action until all other outstanding work has been completed, using the Tk_DoWhenIdle mechanism.
position, top-level window, window manager
Copyright © 1990-1993 The Regents of the University of California. Copyright © 1994-1996 Sun Microsystems, Inc. Copyright © 1995-1997 Roger E. Critchlow Jr.


thatbrothacodes
Software Development From a Brotha's Perspective
I'm just one of several African American developers in the world. I would love to connect with all races, ages and genders on software development.
As we those of us who work in the industry it isn't just about what you know, but who you know. I'm hoping that this site not only allows you to see
my talent, but my passion and my willingness to learn and teach others. Come join me on this journey of life, liberty and the pursuit of happiness.
Follow Me


Minute(s): 0
Second(s): 0
Completed in 0 minutes and 0 seconds.
New Game
Your browser is unsupported, please use Google Chrome to use this application.


--- title: Gardening in Utah layout: default ---
Red Butte Garden is maintained by skilled and talented horticulture experts who understand the difficulties associated with gardening, especially in a climate such as Utah’s. Because of this, the garden’s staff is more than willing to share their knowledge and answer the many questions that come their way. Based on many common gardening concerns, here is a list of helpful tips and advice from the Red Butte Garden Horticulture Staff.
JANUARY
If you want your amaryllis to bloom again next year follow these simple steps:
After blooming cut back the flower spike close to the base of the bulb. The leaves should be left intact since they are making food for next year's flowers. Place in bright light and continue to water and fertilize monthly. After last frost in spring, you can move your amaryllis outdoors for the summer. Continue to water and fertilize. Mid September allow the soil to completely dry, cut back the foliage and place the bulb in a paper bag and store in a cool dark area for a rest period of 6 - 8 weeks. After the rest period you can repot the amaryllis bulb and it should bloom again in 10 - 12 weeks.
Plant paperwhite bulbs every other week for continuous flowers.
Birds will welcome both food and water during freezing temperatures and when the ground is covered with snow. You might even consider purchasing a water-heater designed to keep birdbaths free of ice.
Send your Christmas tree to the local recycle center so the tree can be shredded into mulch for use in the garden, or put it in the yard so birds can use the tree as a habitat. Add some pinecones smeared with peanut butter or other bird delectables and you've got a natural bird feeder.
Prevent evergreen branches from breaking by shaking or brushing off heavy wet snow.
This is a good time to order seeds from catalogues so you will be ready for planting when the weather permits.
If de-icers are used on icy walks and driveways, use products that will not harm turf grasses and other plants.
Got the winter-time blues? Take a short trip to your local nursery or greenhouse to see something green, growing, and in flower.The Orangerie at Red Butte Garden is a great place to relax, enjoy the view of the city and the unique plants growing there.
 See your nursery professional or horticulturist for their recommendations. Starting in April the Garden will be offering numerous classes, workshops and other native plant events. Some of which are about water- wise techniques and drought tolerant plants.
Continue to water broadleaf evergreens to prevent leaves from drying out during periods of bright sunshine or windy conditions.
Want a breath of spring? Force branches into early bloom such as forsythia, cherry, quince, plum, eastern redbud, lilac, magnolia, serviceberry or other early flowering trees and shrubs. Place the cut branches in water in a bright, sunlit place to trigger early flowering.
Even without snow to cover their food sources, birds will continue to enjoy supplemental food and water, so keep birdfeeders and water troughs filled.
Late February is usually the best time to prune most fruit trees. For information on how to prune specific fruit varieties, seek professional advice from Utah State University Extension at 468-3170-ext. 1.
Now is a good time to start indoor seeds for later, outdoor planting. And if you want to know more about starting plants from seed and have fun at the same time, enroll in RedButte Garden's spring propagation workshop. Check our Calendar for upcoming Classes.
MARCH
Prune trees and shrubs that were damaged by heavy snow. It's also a good time to plant trees. Check out our classes "Unique Trees for Utah Landscapes" and/or "Fabulous Fruit Trees" this spring.
Cut back ornamental grasses and perennials that weren't pruned in the fall.
Start seeds of vegetables and annual flowers indoors under fluorescent lights for late May - June planting outdoors.
Core aerate lawn area if heavily compacted once soil dries.
Apply pre-emergent herbicide for crab grass control between March 15 - April 15.
Cool season vegetables like peas, radish, lettuce, and spinach can be planted as soon as the soil can be worked. Transplants of cool season vegetables like broccoli and cabbage can also be planted as soon as soil can be worked.
Quality soil is the foundation for plants, have soil tested before planting new areas. Soil tests will give you important information like pH, % organic matter, soluble salts, and major nutrients in soil. Recommendations for amendments will also be provided. Soil tests can be obtained from USU Extension.
Design a section of your landscape to be more water efficient. Join us for one of our many water-wise and native plant classes, including "Irrigation Basics" or "Residential Landscape Design."
Plant bare root roses the latter part of the month, soak roots of bare root roses in water several hours before planting
Prune hybrid tea and shrub roses late March to early April removing dead and diseased wood, and crossing branches. Cut remaining branches of hybrid teas back to 16 - 24 inches above ground level. Join the "Rose Pruning Workshop" for hands-on experience.
Force branches of Pussy Willow, Cherry, Quince, and Forsythia to bloom indoors. Prune twigs once flower buds are swollen, place in vase of water and put in sunny warm location.
APRIL
April is one of the busiest months in the garden. Here are a few tips for what to do in the garden this month:
Start warm season vegetables and flowers indoors under fluorescent lights for transplanting outdoors mid May after the last frost. Peppers, eggplant, cucumber, squash, and melons can be started indoors now.
Cool season vegetables like peas, radishes, lettuce, spinach can be planted now.
Cut back ornamental grasses to within 2 - 3 inches of the ground, if this wasn't done in March.
Convert a small section of your landscape to drought tolerant plants. Learn more about waterwise landscaping in our short course in April. Check the calendar for details.
Plant trees, shrubs, perennials, and cool season annuals like pansies. Divide and transplant perennials that have become overgrown.
Prune out winter damaged branches and twigs from ornamental plants.
Cool season turf grasses like Kentucky Bluegrass will start to green up. This is a good time to aerate lawns and fertilize using a nitrogen fertilizer. Apply preemergent herbicide to lawn areas to control crabgrass.
Prune hybrid tea roses before they leaf out. Wait to prune climbing and shrub roses until after they bloom.
Check irrigation system for problems.
Deadhead spring blooming bulbs such as daffodils, crocus and tulips but don't cut back leaves until they start to yellow. Check out the beautiful display of blooming bulbs in the Four Seasons Garden at Red Butte Garden this Spring.
MAY
Prune spring-flowering shrubs such as forsythia, lilac, and quince, as soon as the bloom is finished. Remove older stems, broken, dead, or crossing branches.
Watch for aphids on new growth of roses, perennials, and spiraea. Spray them with a strong stream of water or use an insecticidal soap to control the insects.
Plant trees, shrubs, and perennials obtained from the nursery now. The cool weather and spring rain we usually receive is optimal for new plants.
It is not too late to apply a pre-immergent herbicide to control crabgrass and other annual weeds. Be careful not to use the chemical on vegetable garden or flower beds that will be seeded later as the weather warms.
Cut the spent flowerheads of spring flowering bulbs such as daffodils and tulips. Do not cut back the leaves of these plants until the foliage begins to fade and turn brown since the bulbs need the food produced by the leaves to feed the bulb for next year's bloom.
After the first grass mowing of the season, raise mower blades to their proper cutting height. For Kentucky bluegrass and other cool season turf grasses, that is from 2" to 3" inches high. Keeping the turf grass at this height will promote root growth, conserve water, reduce weeds, and provide for a healthier lawn.
Mulch bare ground to conserve moisture and control weeds.
It is not too late to aerate lawns to improve supply of air, water, and nutrients to turf root systems. Power raking should only be done where extreme amounts of thatch have built up in the turf.
As soon as garden beds are dry enough to allow working the soil, apply and dig in compost or peat moss to increase water-holding ability.
Begin setting out hardier potted plants such as geraniums on decks, porches, and patios. Wait until danger of frost is past to pot-up other tender, less hardy plants. Want to learn about native plants for water conservation, perennial and herb care, or how to use stone in the landscape? Check out our May CALENDAR for useful classes!
JUNE
Conserve water by watering lawns only before 10:00am or after 6:00pm.
Set out all warm season vegetable and annual flower seedlings or plant seeds now.
Watch for slug and snail damage on plants and use prepared bait or other techniques to control the pests.
Continue to apply mulch to garden and vegetable beds. The mulch will help to conserve water and improve soil texture as the mulch decomposes.
Trim dead and dying leaves of spring flowering bulbs.
Grasshopper damage will begin to show on tender young plants. If insecticides are used for control, make sure that directions are closely followed to prevent harm to bees and other beneficial insects.
As summer temperatures climb, don't over-fertilize cool season turf grasses. These grasses perform best during cooler weather, and applying fertilizer in mid summer heat does not benefit turf development.
Control annual weeds before they mature to prevent them from setting and dispersing seed.
Visit Red Butte Garden to see the variety of plants that are in flower during this time of year and take advantage of the many classes we have to offer.
Want to learn about native plants for water conservation, perennial and herb care, or how to use stone in the landscape? Check out our CLASS CALENDAR for useful classes!
JULY
What a great time to be out enjoying the garden and the rewards of all your spring toils.  Barefoot breakfasts on the deck and warm summer evening festivities bring needed respite to our busy lives.
A great way to enjoy your garden is by cutting flowers early in the morning and arranging them for indoor display.
Many flowers are also edible and can dress up your table. Pineapple sage (sweet), nasturtium (peppery), and daylily flowers are all quite tasty.
Keeping gardens and containers watered this time of year becomes a daily challenge. Watering early in the day or in late evening will help the water soak into the soil instead of evaporating. Do not water between the hours of 10:00 am and 6:00 pm.
For automated sprinkler systems this is a good time to see how it is working. Examine each head to see if they are broken or clogged and to make sure heads are turned in the right direction to spray on the flowerbeds. Often we forget about them because they run so early in the morning. If overspray is a problem, often a few turns of the screw in the middle of most heads with shorten the spray distance. If you live in a managed property, let the management company know if you see a broken head.
As plants grow, garden pests and weeds will challenge even the most persistent gardener. Scheduling a specific time or certain number of hours per week to be in your garden can help you keep weeds in check or notice pest problems. Removing younger weeds before the go to seed is easier than removing older ones and reduces future weed populations.
Slugs and snails are a constant problem. Handpicking or beer traps are easy control methods. Another simple trap is to elevate a piece of wood a few inches off the ground in a damp shady area. The slugs and snails will congregate there can be easily gathered and then thrown in the garbage. Use chemical baits only when other treatments fail and be careful so children, pets, and other wildlife do not eat any treatments. Contrary to popular belief, smashing slugs and snails does not spread their eggs.
Many perennials and some annuals will now be finished blooming and are now producing seeds. Many perennials will rebloom if the old flowers and developing seeds are removed, a process called dead heading. The old or spent blossoms should be cut off where the flower stem connects to the leaves usually several inches down in the plant. Since dead-heading also removes unsightly, dry flower heads it also improves the appearance of your garden.
A few perennials like catmint (Nepeta), golden alyssum, and candytuft need extreme dead heading in the form of shearing to about 6 inches to encourage a late summer rebloom. A good reference for perennial care is The Well Tended Perennial Garden by Tracy DiSabato-Aust.
Grass clippings are green gold! Don’t throw them away. When mowing turf-grasses (lawns), use a mulching mower which chops the clippings smaller and leaves them on the lawn. This recycles nutrients back into the turf. You can also use grass clippings as mulch around vegetables, shrubs, and perennials. Clippings are also a great addition to your compost pile. Just keep it stirred to allow the fungi to get some air.
A common garden and lawn weed, black medic, is peaking this time of year. The leaves look similar to clover but with small yellow flowers and grows very close to the ground. When soils are damp, the tap root is easily pulled up by hand. A favorite weeding tool to discourage persistent weeds is a dandelion digger. Check out our gift shop for a wide variety of helpful tools.
Provide an even supply of water to tomatoes to help prevent blossom end rot. Blossom end rot is a symptom of calcium deficiency. It isn’t because there isn’t enough calcium, but that there wasn’t enough water to carry it to the tomato on a regular basis. Routine watering is the best treatment.
Spring flowerings shrubs are now finished and ready to be pruned. These include lilacs, forsythia and spireas. Shrubs benefit the most from “thinning”. This is done by removing several large branches bycutting at the base as close the ground as possible. Three to four large branches is usually sufficient each year. To learn more, our bookstore has several “pruning classics” for sale to give you instruction.
AUGUST
Keeping gardens and containers watered this time of year becomes a daily challenge. Watering early in the day or in late evening will help the water soak into the soil instead of evaporating. Do not water between the hours of 10:00 am and 6:00 pm.
Continue to monitor automated sprinkler systems ensuring they are spraying in the right direction and haven’t gotten clogged. As plants grow taller, they can block the water keeping it from spraying out. Trim theses plants or add a temporary sprinkler extension. When temperatures cool, consider moving these taller plants away from spray heads.
Many perennials and some annuals will now be finished blooming and are now producing seeds. Many perennials will rebloom if the old flowers and developing seeds are removed, a process called dead heading. The old or spent blossoms should be cut off where the flower stem connects to the leaves usually several inches down in the plant. Since dead-heading also removes unsightly, dry flower heads it also improves the appearance of your garden.
Annual geraniums (Pelargonium) in particular need to be deadheaded at this time. They can be removed by following the stalk from the old flowers down to where it joins the stem and breaking it off at this point. They easily snap off by hand.
Letting your lawn grow a little taller to 3-4” will help shade the roots and cool the soil. This helps to keep it greener and healthier reducing water need and stress. Raise your mower deck to mow at that height.
Incorrectly called morning glory, field bind weed is a very pernicious weed. Morning glory is a beautiful annual vine that opens up in the evenings. Field bind weed is a perennial that peaks this time of year. It will begin to spread even more dramatically and flower profusely. This is when it is most susceptible to chemical applications from the organic vinegars and lemon juice products to glyphosate and brush removers. All of these act on photosynthesis not in the soil and must be applied to leaves and stems to work. Spraying, waiting a week, and then pulling as much as you can by hand before it completely intertwines with your other plants is imperative. When field bindweed is in lawn areas a broadleaf or dandelion killer will need to be used.
Take a leisurely stroll through your garden looking for areas that need more color. Visit Red Butte Garden and local nurseries to learn more about plants that bloom late in the season. Many reliable perennials like Whirling Butterflies, Coneflowers, hibiscus, and bluebeard begin blossoming now and continue until fall.
Soil tests can provide a lot of answers and guidance in helping you choose plants, fertilizers, and how long to water. The results provide particle size information helping you learn about your drainage and water holding levels. Current nutritional levels and recommendations are also included. For a small fee our local extension service offers this service through out the state. (Utah State Extension Service)
SEPTEMBER
Finally some cool evening temperatures begin to trigger fruit to ripen, foliage to turn, flowers to re-bloom, and gardeners to get back in their gardens.
You can encourage blossoms by continuing to dead head (See July for more info).
Flowers have used up much of the nutrition in the soil and are ready to soak up anything you can give them. Geranium’ s and petunias in particular perk up after the heat by applying a tablespoon of Epsom salts sprinkled on top of the soil. Also much of the nitrogen that provides green coloring has been washed out of the soil with extra irrigation. Many trees and shrubs in particular need extra nitrogen and iron. Common deficiency symptoms are yellow leaves with dark veins. Apply a general purpose mix of quick release and slow release fertilizers either organic or synthetic. Liquid feeds that are sprayed directly on foliage can also help.
A great time to plant, roots continue to grow throughout the fall and early winter. This allows them to have an extensive root system before next seasons hot temperatures. This is a great time to go shopping for trees, shrubs and perennials. You can see what is still in bloom and has colorful fall leaves.
Check the root balls of recently purchased plants. If the roots are growing in a circular pattern following the outline of the pot, they are root bound. The roots should be cut and opened up to allow them to grow in new directions out into the surrounding soil. Make an “X” shaped cut on the bottom of the root ball about an inch deep with a cut about halfway up each of the four sides.
A great time to redesign and move plants around, transplant deciduous shrubs and trees when they start to develop fall color. Perennials can be divided and transplanted. Older ornamental grasses can be revived by occasionally uprooting, dividing, and replanting. Division is done by uprooting the entire root ball with as much of it intact as possible. Place the root ball on a hard surface. Usually the center of the perennial or grass is dead resulting in a doughnut like plant. Look for natural splits in the ‘doughnut’ and begin teasing the roots apart into approximately six inch round hunks. If the roots are quite entangled, you can cut them apart into the new sections. Now you can replant or have extra plants to share. Shasta daisies, daylily’s, green fountain grass, and salvia all respond well to division every three to five years.
Order or buy spring bulbs and plant before the ground freezes. A general rule is to plant them twice as deep as the bulb is wide. Join us for a great selection of bulbs at our Fall Plant Sale. Garlic and shallots cloves should be planted several inches deep.
* Stop deadheading roses letting colorful red rose hips form. Let other flowers go to seed producing colorful seed pods and winter browse for birds.
* If your lawn has thick thatch (dead layer) or is compacted from heavy use or wet shade a fall core aeration can loosen and open up the soil. This will help water, nutrition, and air get into the root zone. This is also a wonderful time to reseed lawn areas that are thin or bare. Most lawns are Kentucky bluegrass varieties. More water-wise and heat tolerant dwarf tall fescues are a good choice for over seeding.
*Check your sprinkler system and shorten the watering times of your lawn.
 Harvest them early in the day by cutting off entire stems. Wash everything well and place on screens, cookie sheets or trays and let them air dry for several days. When they are dry, strip the leaves off and store in air tight containers.
Apply a broadleaf weed killer on your lawn. Dandelions are perennial weeds that live from year to year. As the weather cools they begin to store food in their large tap root. They begin pulling nutritional resources from the leaves into the root, thus any chemical applied to the leaves will translocate into the roots.
A second growing season of cool season vegetables is a great way to enjoy your fall. Lettuce, peas, radish, spinach, kale, and chard all perform well in this weather. You can begin to harvest onions, shallots and garlic for use and storage.
Want to learn about native plants for water conservation, perennial and herb care, or how to use stone in the landscape? Check out our monthly calendars for useful classes!
OCTOBER
You will wake up to several days of frost by the end of the October. Protect tender garden plants and fruit from light freezes by covering them with blankets, sheets, plastic, or cardboard. Several commercial frost cloths are also available. You just need to keep the moisture off the leaves and the temperature just a couple of degrees warmer. Before a hard frost, when night temperatures will stay at freezing for several hours, harvest tender plants and fruits. Fried green tomatoes can be an especially nice late fall treat; pick, wash, slice, dip in whipped egg, dip in corn meal, and fry in your favorite oil for 1-2 minutes.
For more hardy plants like root crops, you can leave them in the ground until you are ready to use them. Root crops include carrots, turnips, potatoes, beets, winter radishes, and parsnips. If you remove the greenery and cover them with straw, mulch, or soil you can store them in the ground for another month. For more information on extended in ground storage see the Colorado Extension Service Factsheet.
Save yourself some spring clean up by removing dead plant debris from annual and vegetable beds after a hard freeze. In areas where tree and shrub roots won’t be damaged, recently frozen vegetation, leaves, and compost can be roto-tilled into the soil.
This is a great time to plant cool season annuals like pansies and primrose. Warm soils keep the roots growing and cool air keeps them blooming. Hand water in generous amounts after planting and during extended dry periods until established.
Sow seeds of self sowing annuals like poppies and cosmos.
Continue planting bulbs such as tulips, daffodils, crocus and others until the ground freezes, usually in November. A general rule of thumb is to plant the bulb two to three times as deep as the widest part of the bulb. If the tulip is 1.5 inches wide, then it should be planted 3 to 4.5 inches deep. Restrain from fertilizing except with bulb food as bulbs are very sensitive to salt damage. Bulb foods have a different chemistry and lower amounts of nutrition that are specifically formulated for bulbs.
A good design tip that also saves some digging is to plant bulbs in clusters or groups. Try placing 8-10 bulbs in a 1 foot wide hole about 1 inch apart from each other. This concentrates the blooms giving you a stronger display of color. Late blooming daffodils can be planted with early blooming varieties to extend the bloom time. This is done by planting 6-8 bulbs of the late variety as listed above, then placing the early variety of bulbs in between and finally back filling.
Wrap the trunks of newly planted and young trees to protect them from winter "sun scald" and from damage by mice, rabbits, and other animals. For larger pests, corrugated plastic drainpipe that has been split lengthwise down the side works well. For sun scald and smaller pests, white cloth about 4 inches wide wrapped around the first 1-2 feet of the trunk works well. Secure the wrapped ends with several lengths of tape. Sun scald happens commonly on thin barked trees like fruiting cherries and young maple trees.
Because plants are going dormant, this is a great time to transplant or move deciduous trees and shrubs. Dormancy is shown by the change in leaf color and dropping of leaves. Keeping the root ball intact as much as possible will aid the success of the move. To help with this, try not to have the soil extremely wet, but mildly damp. Handling the tree by the root ball and not the trunk will also help the keep the root ball together. After transplanting, apply water slowly to the root ball for the next several days to ensure the newly exposed roots can access water and keep the tree turgid.
Continue to add to your compost pile with garden waste; leaves, grass clippings, and other vegetative materials. Remember a happy compost pile has air and moisture, so stir it and water it. Try not to add weeds that have gone to seed, diseased clippings, or any kitchen waste containing meat products.
Deep-water evergreens to prepare them for winter.
Move tender perennials and other potted plants into protected or heated enclosures prior to a killing frost. This includes tender pond plants like locusts, papyrus, and some water lilies. Make sure to thoroughly spray down leaves to remove as many insects as possible. Trim off dead and older leaves that may become a source of disease.
Open sprinkler valves and drain water from sprinkler systems to prevent freezing. This is done by first turning off your main water source that supplies the sprinkler system. Then open each valve for several minutes to release any water or air pressure in the line. If your pipes are installed less than 12 inches deep in the ground without drain valves, it may be best to use an air compressor to blow remaining water out of the lines.
Dig the hole and prepare the site for the future planting of your live Christmas tree.
NOVEMBER
Plant tulips, daffodils, crocus, and other bulbs. Add complete fertilizer or "Bulb Booster" at the bottom of the hole and mix it with the soil before planting the bulbs.. If you want to dig fewer holes, "layer" bulbs. Plant the bigger bulbs at the proper depth, add soil, and plant smaller bulbs on top of them, again, at the proper depth.
Plant a few bulbs in pots for forcing. Paperwhites, hyacinths, and early blooming tulips and daffodils are good choices.
Empty and sterilize, with a mixture of 1:9 parts bleach and water, terra cotta and ceramic pots and store in a protected area, such as garage, shed, or basement to prevent cracking
Open sprinkler valves and drain water from sprinkler systems to prevent freezing.
Drain and store hoses.
Collect dried seedpods, grass stalks, seedheads, and other dried plant materials for use in making flower or plant arrangements.
Buy birdseed and fill bird feeders. Consider buying a heater for your birdbath; Water is often times more important than food during winter.
Wrap tall arborvitae, junipers, yews, and other evergreen shrubs with burlap or twine to prevent snow damage and breakage. If deer say, "thank you for planting this:", wrapping bird netting around the plant will often help save it.
Wrap the trunks of young, thin-barked trees with paper tree wrap late in the month to prevent sunscald.
Clean, repair, and properly store tools and garden implements so they will be ready for use in the spring. Apply a thin coat of oil on steel implements to protect them from rust.
Drain gas from lawnmowers, weed-eater, edgers, and other gas powered equipment prior to storage.
Start a compost pile with fall garden debris.
After all the leaves have fallen from a diseased plant, pick up the leaves AND mulch from around it. If left on the ground, disease spores will live in the debris over the winter and will resurface next year.
Turn vegetable garden soil. Turning soil exposes many insect pests to winter cold, reducing their numbers in next year's garden. Consider planting a "green manure" crop, such as winter rye, to help improve the organic matter in your soil.
Remember to water any newly-planted trees and shrubs until the ground freezes. Evergreens continue to lose moisture from their leaves or needles all winter long. Without adequate water in the ground before a hard freeze, extra stress is put on evergreens through the winter. Whenever the temperature is above freezing, water your evergreens.
Add mulch (up to three inches, total) around trees, shrubs, and perennials AFTER the ground is frozen. Adding mulch after the ground freezes keeps the temperature from fluctuating, helping to prevent heaving.
DECEMBER
December Garden Tips:
Continue to water evergreen plants until ground freezes to prevent winter sun-scald.
Provide a water source for thirsty birds throughout the winter by installing a heater in your birdbath. Or change out the water when it freezes.
Fill birdfeeders throughout winter months. Suet is a great source of protein.
Wrap tall arborvitae, junipers, yews, and other evergreen shrubs with burlap or twine to prevent snow damage and breakage.
Start paperwhite bulbs in gravel, marbles or soil every other week for flowers throughout the winter months
Plant amaryllis bulbs now for January bloom.
Check house plants for insects. Examine them carefully by looking under leaves and in leaf axils. Early detection makes control much easier. Simple pruning or washing with mild dish-soap and water may remedy problem (add a couple drops of dish-soap to a spray bottle full of lukewarm water).
Tips for buying a fresh-cut Christmas tree and how to care for it:
Choose a fresh tree. A fresh tree will have a healthy green appearance with few browning needles.  When a tree becomes dry it is time to take it out of the house.
Locate the tree at least three feet away from any kind of heat source, like fireplaces, heat vents and even candles to prevent a house fire.
Check the water level daily and be sure to keep it well above the base of the tree. If the base dries out, resin will form over the cut end and the tree will not be able to absorb water.
Make a fresh green wreath with the boughs removed from the bottom of your tree.
Tips for buying a live Christmas tree and how to care for it:
Identify where your live tree will be planted in the yard after Christmas and dig the hole before the ground freezes.
Before bringing the tree inside it should be conditioned by putting in an unheated garage for a few days. The same should be done when moving it back outside to be planted.
Live trees are fairly sensitive and should not be kept inside for more than 10 days.
Prior to moving the tree inside, the root ball should be moistened and kept in a moist condition while the tree is displayed. The root ball should be placed in a bucket or a large pan to prevent soil and water from staining the floor. The rootball should remain moist but not stand in water.
Make sure to locate living trees away from heat sources. Living Christmas trees will also need water, although not nearly as much as cut trees.
Check out this link to the National Christmas Tree Association for more:
http://www.realchristmastrees.org/dnn/AllAboutTrees/CareTips.aspx
Red Butte Garden is maintained by skilled and talented horticulture experts who embrace the challenges associated with gardening in Utah. Following is a list of articles to help you understand water conservation, best practices, and just how interesting and fun it can be to create your own water conservation garden.
Curious about the proper use of landscaping terms? Click here!


Triangles are one of the most fundamental geometric shapes and have a variety of often studied properties relating to their:
Interior angles (angles on the inside) sum up to 180° more
Triangle Theorem : This theorem states that the sum of the lengths of any 2 sides of a triangle must be greater than the third side.
Relationship between measurement of the sides and angles in a Triangle: The largest interior angle and side are opposite each other. The same rule applies to the smallest sized angle and side and the middle sized angle and side.


Source code for qiskit.chemistry.mp2info
# -*- coding: utf-8 -*-
# This code is part of Qiskit.
#
# (C) Copyright IBM 2019.
#
# This code is licensed under the Apache License, Version 2.0. You may
# obtain a copy of this license in the LICENSE.txt file in the root directory
# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
#
# Any modifications or derivative works of this code must retain this
# copyright notice, and modified files need to carry a notice indicating
# that they have been altered from the originals.
from qiskit.chemistry.aqua_extensions.components.variational_forms import UCCSD
[docs]class MP2Info:
"""A utility class for Moller-Plesset 2nd order (MP2) information
Each double excitation given by [i,a,j,b] has a coefficient computed using
coeff = -(2 * Tiajb - Tibja)/(oe[b] + oe[a] - oe[i] - oe[j])
where oe[] is the orbital energy
and an energy delta given by
e_delta = coeff * Tiajb
All the computations are done using the molecule orbitals but the indexes used
in the excitation information passed in and out are in the block spin orbital
numbering as normally used by the chemistry stack.
"""
def __init__(self, qmolecule, threshold=1e-12):
"""
A utility class for MP2 info
Args:
qmolecule (QMolecule): QMolecule from chemistry driver
threshold (float): Computed coefficients and energy deltas will be set to
zero if their value is below this threshold
"""
self._terms, self._mp2_delta = _compute_mp2(qmolecule, threshold)
self._mp2_energy = qmolecule.hf_energy + self._mp2_delta
self._num_orbitals = qmolecule.num_orbitals
self._core_orbitals = qmolecule.core_orbitals
@property
def mp2_delta(self):
"""
Get the MP2 delta energy correction for the molecule
Returns:
float: The MP2 delta energy
"""
return self._mp2_delta
@property
def mp2_energy(self):
"""
Get the MP2 energy for the molecule
Returns:
float: The MP2 energy
"""
return self._mp2_energy
[docs] def mp2_terms(self, freeze_core=False, orbital_reduction=None):
"""
Gets the set of MP2 terms for the molecule taking into account index adjustments
due to frozen core and/or other orbital reduction
Args:
freeze_core (bool): Whether core orbitals are frozen or not
orbital_reduction (list): An optional list of ints indicating removed orbitals
Returns:
dict: A dictionary of excitations where the key is a string in the form
from_to_from_to e.g. 0_4_6_10 and the value is a tuple of
(coeff, e_delta)
"""
orbital_reduction = orbital_reduction if orbital_reduction is not None else []
# Compute the list of orbitals that will be removed. Here we do not care whether
# it is occupied or not since the goal will be to subset the full set of excitation
# terms, we originally computed, down to the set that exist within the remaining
# orbitals.
core_list = self._core_orbitals if freeze_core else []
reduce_list = orbital_reduction
reduce_list = [x + self._num_orbitals if x < 0 else x for x in reduce_list]
remove_orbitals = sorted(set(core_list).union(set(reduce_list)))
remove_spin_orbitals = remove_orbitals + [x + self._num_orbitals for x in remove_orbitals]
# An array of original indexes of the full set of spin orbitals. Plus an
# array which will end up having the new indexes at the corresponding positions
# of the original orbital after the removal has taken place. The original full
# set will correspondingly have -1 values entered where orbitals have been removed
full_spin_orbs = [*range(0, 2 * self._num_orbitals)]
remain_spin_orbs = [-1] * len(full_spin_orbs)
new_idx = 0
for i in range(len(full_spin_orbs)):
if full_spin_orbs[i] in remove_spin_orbitals:
full_spin_orbs[i] = -1
continue
remain_spin_orbs[i] = new_idx
new_idx += 1
# Now we look through all the original excitations and check if all the from and to
# values in the set or orbitals exists (is a subset of) the remaining orbitals in the
# full spin set (note this now has -1 as value in indexes for which the orbital was
# removed. If its a subset we remap the orbitals to the values that correspond to the
# remaining spin orbital indexes.
ret_terms = {}
for k, v in self._terms.items():
orbs = _str_to_list(k)
if set(orbs) < set(full_spin_orbs):
new_idxs = [remain_spin_orbs[elem] for elem in orbs]
coeff, e_delta = v
ret_terms[_list_to_str(new_idxs)] = (coeff, e_delta)
return ret_terms
[docs] def mp2_get_term_info(self, excitation_list, freeze_core=False, orbital_reduction=None):
"""
With a reduced active space the set of used excitations can be less than allowing
all available excitations. Given a (sub)set of excitations in the space this will return
a list of correlation coefficients and a list of correlation energies ordered as per
the excitation list provided.
Args:
excitation_list (list): A list of excitations for which to get the coeff and e_delta
freeze_core (bool): Whether core orbitals are frozen or not
orbital_reduction (list): An optional list of ints indicating removed orbitals
Returns:
list, list: List of coefficients and list of energy deltas
"""
terms = self.mp2_terms(freeze_core, orbital_reduction)
coeffs = []
e_deltas = []
for excitation in excitation_list:
if len(excitation) != 4:
raise ValueError('Excitation entry must be of length 4')
key = _list_to_str(excitation)
if key in terms:
coeff, e_delta = terms[key]
coeffs.append(coeff)
e_deltas.append(e_delta)
else:
raise ValueError('Excitation {} not present in mp2 terms'.format(excitation))
return coeffs, e_deltas
def _list_to_str(idxs):
return '_'.join([str(x) for x in idxs])
def _str_to_list(str_idxs):
return [int(x) for x in str_idxs.split('_')]
def _compute_mp2(qmolecule, threshold):
terms = {}
mp2_delta = 0
num_particles = qmolecule.num_alpha + qmolecule.num_beta
num_orbitals = qmolecule.num_orbitals
ints = qmolecule.mo_eri_ints
oe = qmolecule.orbital_energies
# Orbital indexes given by this method are numbered according to the blocked spin ordering
singles, doubles = UCCSD.compute_excitation_lists(num_particles, num_orbitals * 2, same_spin_doubles=True)
# doubles is list of [from, to, from, to] in spin orbital indexing where alpha runs
# from 0 to num_orbitals-1, and beta from num_orbitals to num_orbitals*2-1
for n in range(len(doubles)):
idxs = doubles[n]
i = idxs[0] % num_orbitals # Since spins are same drop to MO indexing
j = idxs[2] % num_orbitals
a = idxs[1] % num_orbitals
b = idxs[3] % num_orbitals
tiajb = ints[i, a, j, b]
tibja = ints[i, b, j, a]
num = (2 * tiajb - tibja)
denom = oe[b] + oe[a] - oe[i] - oe[j]
coeff = -num / denom
coeff = coeff if abs(coeff) > threshold else 0
e_delta = coeff * tiajb
e_delta = e_delta if abs(e_delta) > threshold else 0
terms[_list_to_str(idxs)] = (coeff, e_delta)
mp2_delta += e_delta
return terms, mp2_delta


With the summit this week, I feel it's appropriate to announce that the scripts supporting the OpenStack Cookbook have been updated (and are mostly functional) on OpenStack Juno.
To get started with them, you'll need either VMware Workstation/Fusion or Virtualbox, Vagrant, and Git.
git clone https://github.com/openstackcookbook/openstackcookbook -b juno
cd openstackcookbook
vagrant up
These scripts will be updated and expanded once again as we being writing on the third edition of the OpenStack Cookbook.


Deal: Protect your computer with Cylance Smart Antivirus for $29
Hackers are more skilled than ever. All they want to do is steal your information, whatever it takes. Get defensive and kick your cybersecurity up a notch with a Cylance Smart Antivirus two-year subscription for only $29.
Cylance is more advanced than traditional antivirus software. It does not rely on byte matching or heuristics to spot a hacker, but rather advanced machine learning to protect your system. It only makes sense to use advanced antivirus to beat advanced hackers.
Set it, forget it, and protect your digital presence.
The worst part about traditional antivirus software is the tendency to run a scan at the most inconvenient time. You’re gaming or watching a movie, you get a security popup, and suddenly your system is at a crawl. Cylance runs quietly in the background, taking down threats before they can infect your computer.
One of the most secure benefits of Cylance is that it operates independently of the cloud. Nobody can access flaws in your security when your system is tightly contained. Cylance works with any operating system from Windows 7 or Mac OS X Mavericks onward.
Cylance Smart Antivirus highlights:
- Prevention focused design stops threats at runtime.
- AI-based predictive advantage protects against never-before-seen threats.
- Runs without popups, scans, or performance impacts.
- Get a bird’s eye view of your system from an intuitive interface.
- Operates on your device independently of the cloud.
McAfee security can cost up to $100 per year, and Norton can cost $60 per year, but neither one offers the advanced AI features of Cylance Smart Antivirus. A two-year subscription to Cylance retails at $58, but this deal provides all of that protection for just $29.
This deal will disappear soon, but hackers keep getting better. Upgrade your protection via the button below.
Is this deal not quite right for you? To see all our hottest deals, head over to the DEALS HUB.


The default and recommended way to write Zend Framework applications uses a set of services defined in the Zend\Mvc\Service namespace. This chapter details what each of those services are, the classes they represent, and the configuration options available.
Many of the services are provided by other components, and the factories and abstract factories themselves are defined in the individual components. We will cover those factories in this chapter, however, as usage is generally the same between each.
To allow easy configuration of all the different parts of the MVC system, a somewhat complex set of services and their factories has been created. We’ll try to give a simplified explanation of the process.
When a Zend\Mvc\Application is created, a Zend\ServiceManager\ServiceManager object is created and configured via Zend\Mvc\Service\ServiceManagerConfig. The ServiceManagerConfig gets the configuration from application.config.php (or some other application configuration you passed to the Application when creating it). From all the service and factories provided in the Zend\Mvc\Service namespace, ServiceManagerConfig is responsible of configuring only three: SharedEventManager, EventManager, and ModuleManager.
After this, the Application calls for the ModuleManager. At this point, the ModuleManager further configures the ServiceManager with services and factories provided in Zend\Mvc\Service\ServiceLocator. This approach allows us to keep the main application configuration concise, and to give the developer the power to configure different parts of the MVC system from within the modules, overriding any default configuration in these MVC services.
As a quick review, the following service types may be configured:
The application service manager is referenced directly during bootstrapping, and has the following services configured out of the box.
Invokable services
Factories
Application, mapping to Zend\Mvc\Service\ApplicationFactory.
Config, mapping to Zend\Mvc\Service\ConfigFactory. Internally, this pulls the ModuleManager service, and calls its loadModules() method, and retrieves the merged configuration from the module event. As such, this service contains the entire, merged application configuration.
ControllerLoader, mapping to Zend\Mvc\Service\ControllerLoaderFactory. This creates an instance of Zend\Mvc\Controller\ControllerManager, passing the service manager instance.
Additionally, it uses the DiStrictAbstractServiceFactory service – effectively allowing you to fall back to DI in order to retrieve your controllers. If you want to use Zend\Di to retrieve your controllers, you must white-list them in your DI configuration under the allowed_controllers key (otherwise, they will just be ignored).
The ControllerManager will add an initializer that will do the following:
- If the controller implements the Zend\ServiceManager\ServiceLocatorAwareInterface interface, an instance of the ServiceManager will be injected into it.
- If the controller implements the Zend\EventManager\EventManagerAwareInterface interface, an instance of the EventManager will be injected into it.
- Finally, an initializer will inject it with the ControllerPluginManager service, as long as the setPluginManager method is implemented.
ControllerPluginManager, mapping to Zend\Mvc\Service\ControllerPluginManagerFactory. This instantiates the Zend\Mvc\Controller\PluginManager instance, passing it the service manager instance. It also uses the DiAbstractServiceFactory service – effectively allowing you to fall back to DI in order to retrieve your controller plugins.
It registers a set of default controller plugins, and contains an initializer for injecting plugins with the current controller.
ConsoleAdapter, mapping to Zend\Mvc\Service\ConsoleAdapterFactory. This grabs the Config service, pulls from the console key, and do the following:
ConsoleRouter, mapping to Zend\Mvc\Service\RouterFactory. This grabs the Config service, and pulls from the console key and router subkey, configuring a Zend\Mvc\Router\Console\SimpleRouteStack instance.
ConsoleViewManager, mapping to Zend\Mvc\Service\ConsoleViewManagerFactory. This creates and returns an instance of Zend\Mvc\View\Console\ViewManager, which in turn registers and initializes a number of console-specific view services.
DependencyInjector, mapping to Zend\Mvc\Service\DiFactory. This pulls the Config service, and looks for a “di” key; if found, that value is used to configure a new Zend\Di\Di instance.
DiAbstractServiceFactory, mapping to Zend\Mvc\Service\DiAbstractServiceFactoryFactory. This creates an instance of Zend\ServiceManager\Di\DiAbstractServiceFactory injecting the Di service instance. That instance is attached to the service manager as an abstract factory – effectively enabling DI as a fallback for providing services.
DiServiceInitializer, mapping to Zend\Mvc\Service\DiServiceInitializerFactory. This creates an instance of Zend\ServiceManager\Di\DiServiceInitializer injecting the Di service and the service manager itself.
DiStrictAbstractServiceFactory, mapping to Zend\Mvc\Service\DiStrictAbstractServiceFactoryFactory. This creates an instance of Zend\Mvc\Service\DiStrictAbstractServiceFactoryFactory injecting the Di service instance.
EventManager, mapping to Zend\Mvc\Service\EventManagerFactory. This factory returns a new instance of Zend\EventManager\EventManager on each request. This service is not shared by default, allowing the ability to have an EventManager per service, with a shared SharedEventManager injected in each.
FilterManager, mapping to Zend\Mvc\Service\FilterManagerFactory. This instantiates the Zend\Filter\FilterPluginManager instance, passing it the service manager instance – this is used to manage filters for the filter chains. It also uses the DiAbstractServiceFactory service – effectively allowing you to fall back to DI in order to retrieve filters.
FormElementManager, mapping to Zend\Mvc\Service\FormElementManagerFactory. This instantiates the Zend\Form\FormElementManager instance, passing it the service manager instance – this is used to manage form elements. It also uses the DiAbstractServiceFactory service – effectively allowing you to fall back to DI in order to retrieve form elements.
HttpRouter, mapping to Zend\Mvc\Service\RouterFactory. This grabs the Config service, and pulls from the router key, configuring a Zend\Mvc\Router\Http\TreeRouteStack instance.
HttpViewManager, mapping to Zend\Mvc\Service\HttpViewManagerFactory. This creates and returns an instance of Zend\Mvc\View\Http\ViewManager, which in turn registers and initializes a number of HTTP-specific view services.
HydratorManager, mapping to Zend\Mvc\Service\HydratorManagerFactory. This creates and returns an instance of Zend\Stdlib\Hydrator\HydratorPluginManager, which can be used to manage and persist hydrator instances.
InputFilterManager, mapping to Zend\Mvc\Service\InputFilterManagerFactory. This creates and returns an instance of Zend\InputFilter\InputFilterPluginManager, which can be used to manage and persist input filter instances.
ModuleManager, mapping to Zend\Mvc\Service\ModuleManagerFactory.
This is perhaps the most complex factory in the MVC stack. It expects that an ApplicationConfig service has been injected, with keys for module_listener_options and modules; see the quick start for samples.
It instantiates an instance of Zend\ModuleManager\Listener\DefaultListenerAggregate, using the “module_listener_options” retrieved. Checks if a service with the name ServiceListener exists, otherwise it sets a factory with that name mapping to Zend\Mvc\Service\ServiceListenerFactory. A bunch of service listeners will be added to the ServiceListener, like listeners for the getServiceConfig, getControllerConfig, getControllerPluginConfig, getViewHelperConfig module methods.
Next, it retrieves the EventManager service, and attaches the above listeners.
It instantiates a Zend\ModuleManager\ModuleEvent instance, setting the “ServiceManager” parameter to the service manager object.
Finally, it instantiates a Zend\ModuleManager\ModuleManager instance, and injects the EventManager and ModuleEvent.
MvcTranslator, mapping to Zend\Mvc\Service\TranslatorServiceFactory, and returning an instance of Zend\Mvc\I18n\Translator, which extends Zend\I18n\Translator\Translator and implements Zend\Validator\Translator\TranslatorInterface, allowing the instance to be used anywhere a translator may be required in the framework.
PaginatorPluginManager, mapping to Zend\Mvc\Service\PaginatorPluginManagerFactory. This instantiates the Zend\Paginator\AdapterPluginManager instance, passing it the service manager instance – this is used to manage paginator adapters. It also uses the DiAbstractServiceFactory service – effectively allowing you to fall back to DI in order to retrieve paginator adapters.
Request, mapping to Zend\Mvc\Service\RequestFactory. The factory is used to create and return a request instance, according to the current environment. If the current environment is cli, it will create a Zend\Console\Request, or a Zend\Http\PhpEnvironment\Request if the current environment is HTTP.
Response, mapping to Zend\Mvc\Service\ResponseFactory. The factory is used to create and return a response instance, according to the current environment. If the current environment is cli, it will create a Zend\Console\Response, or a Zend\Http\PhpEnvironment\Response if the current environment is HTTP.
Router, mapping to Zend\Mvc\Service\RouterFactory. If in a console enviroment, this will behave the same way as the ConsoleRouter service, if not, it will behave the same way as HttpRouter service.
RoutePluginManager, mapping to Zend\Mvc\Service\RoutePluginManagerFactory. This instantiates the Zend\Mvc\Router\RoutePluginManager instance, passing it the service manager instance – this is used to manage route types. It also uses the DiAbstractServiceFactory service – effectively allowing you to fall back to DI in order to retrieve route types.
SerializerAdapterManager, mapping to Zend\Mvc\Service\SerializerAdapterPluginManagerFactory, which returns an instance of Zend\Serializer\AdapterPluginManager. This is a plugin manager for managing serializer adapter instances.
ServiceListener, mapping to Zend\Mvc\Service\ServiceListenerFactory. The factory is used to instantiate the ServiceListener, while allowing easy extending. It checks if a service with the name ServiceListenerInterface exists, which must implement Zend\ModuleManager\Listener\ServiceListenerInterface, before instantiating the default ServiceListener.
In addition to this, it retrieves the ApplicationConfig and looks for the service_listener_options key. This allows you to register own listeners for module methods and configuration keys to create an own service manager; see the application configuration options for samples.
ValidatorManager, mapping to Zend\Mvc\Service\ValidatorManagerFactory. This instantiates the Zend\Validator\ValidatorPluginManager instance, passing it the service manager instance – this is used to manage validators. It also uses the DiAbstractServiceFactory service – effectively allowing you to fall back to DI in order to retrieve validators.
ViewFeedRenderer, mapping to Zend\Mvc\Service\ViewFeedRendererFactory, which returns an instance of Zend\View\Renderer\FeedRenderer, used to render feeds.
ViewFeedStrategy, mapping to Zend\Mvc\Service\ViewFeedStrategyFactory, which returns an instance of Zend\View\Strategy\FeedStrategy, used to select the ViewFeedRenderer given the appropriate criteria.
ViewHelperManager, mapping to Zend\Mvc\Service\ViewHelperManagerFactory, which returns an instance of Zend\View\HelperManager. This is a plugin manager for managing view helper instances.
ViewJsonRenderer, mapping to Zend\Mvc\Service\ViewJsonRendererFactory, which returns an instance of Zend\View\Renderer\JsonRenderer, used to render JSON structures.
ViewJsonStrategy, mapping to Zend\Mvc\Service\ViewJsonStrategyFactory, which returns an instance of Zend\View\Strategy\JsonStrategy, used to select the ViewJsonRenderer given the appropriate criteria.
ViewManager, mapping to Zend\Mvc\Service\ViewManagerFactory. The factory is used to create and return a view manager, according to the current environment. If the current environment is cli, it will create a Zend\Mvc\View\Console\ViewManager, or a Zend\Mvc\View\Http\ViewManager if the current environment is HTTP.
ViewResolver, mapping to Zend\Mvc\Service\ViewResolverFactory, which creates and returns the aggregate view resolver. It also attaches the ViewTemplateMapResolver and ViewTemplatePathStack services to it.
ViewTemplateMapResolver, mapping to Zend\Mvc\Service\ViewTemplateMapResolverFactory which creates, configures and returns the Zend\View\Resolver\TemplateMapResolver.
ViewTemplatePathStack, mapping to Zend\Mvc\Service\ViewTemplatePathStackFactory which creates, configures and returns the Zend\View\Resolver\TemplatePathStack.
Abstract factories
Aliases
Initializers
As noted in the previous section, Zend Framework provides a number of abstract service factories by default. Each is noted below, along with sample configuration.
In each instance, the abstract factory looks for a top-level configuration key, consisting of key/value pairs where the key is the service name, and the value is the configuration to use to create the given service.
This abstract factory is opt-in, but registered by default in the skeleton application. It uses the top-level configuration key “caches”.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | return array(
'caches' => array(
'Cache\Transient' => array(
'adapter' => 'redis',
'ttl' => 60,
'plugins' => array(
'exception_handler' => array(
'throw_exceptions' => false,
),
),
),
'Cache\Persistence' => array(
'adapter' => 'filesystem',
'ttl' => 86400,
),
),
);
|
See the cache documentation for more configuration options.
This abstract factory is opt-in. It uses the top-level configuration key “db”, with a subkey “adapters”.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | return array(
'db' => array('adapters' => array(
'Db\ReadOnly' => array(
'driver' => 'Pdo_Sqlite',
'database' => 'data/db/users.db',
),
'Db\Writeable' => array(
'driver' => 'Mysqli',
'database' => 'users',
'username' => 'developer',
'password' => 'developer_password',
),
)),
);
|
See the DB adapter documentation for more configuration options.
This abstract factory is registered by default. It uses the top-level configuration key “forms”. It makes use of the FilterManager, FormElementManager, HydratorManager, InputFilterManager, and ValidatorManager plugin managers in order to allow instantiation and creation of form objects and all related objects in the form hierarchy.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | return array(
'forms' => array(
'Form\Foo' => array(
'hydrator' => 'ObjectProperty',
'type' => 'Zend\Form\Form',
'elements' => array(
array(
'spec' => array(
'type' => 'Zend\Form\Element\Email',
'name' => 'email',
'options' => array(
'label' => 'Your email address',
),
),
),
),
),
),
);
|
Form configuration follows the same configuration you would use with a form factory; the primary difference is that all plugin managers have already been injected for you, allowing you the possibility of custom objects or substitutions.
See the form factory documentation for more configuration options.
This abstract factory is opt-in, but registered by default in the skeleton application. It uses the top-level configuration key “log”.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | return array(
'log' => array(
'Log\App' => array(
'writers' => array(
array(
'name' => 'stream',
'priority' => 1000,
'options' => array(
'stream' => 'data/logs/app.log',
),
),
),
),
),
);
|
See the log documentation for more configuration options.
The following plugin managers are configured by default:
As noted in the previous section, all plugin managers share the same configuration and service types as the standard service manager; they are simply scoped, and only allow instances of certain types to be created or registered. Default types available are listed in the documentation for each component.
The View layer within Zend\Mvc consists of a large number of collaborators and event listeners. As such, Zend\Mvc\View\ViewManager was created to handle creation of the various objects, as well as wiring them together and establishing event listeners.
The ViewManager itself is an event listener on the bootstrap event. It retrieves the ServiceManager from the Application object, as well as its composed EventManager.
Configuration for all members of the ViewManager fall under the view_manager configuration key, and expect values as noted below. The following services are created and managed by the ViewManager:
The ViewManager also creates several other listeners, but does not expose them as services; these include Zend\Mvc\View\CreateViewModelListener, Zend\Mvc\View\InjectTemplateListener, and Zend\Mvc\View\InjectViewModelListener. These, along with RouteNotFoundStrategy, ExceptionStrategy, and DefaultRenderingStrategy are attached as listeners either to the application EventManager instance or the SharedEventManager instance.
Finally, if you have a strategies key in your configuration, the ViewManager will loop over these and attach them in order to the View service as listeners, at a priority of 100 (allowing them to execute before the DefaultRenderingStrategy).
The following options may be used to provide initial configuration for the ServiceManager, ModuleManager, and Application instances, allowing them to then find and aggregate the configuration used for the Config service, which is intended for configuring all other objects in the system. These configuration directives go to the config/application.config.php file.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | <?php
return array(
// This should be an array of module namespaces used in the application.
'modules' => array(
),
// These are various options for the listeners attached to the ModuleManager
'module_listener_options' => array(
// This should be an array of paths in which modules reside.
// If a string key is provided, the listener will consider that a module
// namespace, the value of that key the specific path to that module's
// Module class.
'module_paths' => array(
),
// An array of paths from which to glob configuration files after
// modules are loaded. These effectively override configuration
// provided by modules themselves. Paths may use GLOB_BRACE notation.
'config_glob_paths' => array(
),
// Whether or not to enable a configuration cache.
// If enabled, the merged configuration will be cached and used in
// subsequent requests.
'config_cache_enabled' => $booleanValue,
// The key used to create the configuration cache file name.
'config_cache_key' => $stringKey,
// Whether or not to enable a module class map cache.
// If enabled, creates a module class map cache which will be used
// by in future requests, to reduce the autoloading process.
'module_map_cache_enabled' => $booleanValue,
// The key used to create the class map cache file name.
'module_map_cache_key' => $stringKey,
// The path in which to cache merged configuration.
'cache_dir' => $stringPath,
// Whether or not to enable modules dependency checking.
// Enabled by default, prevents usage of modules that depend on other modules
// that weren't loaded.
'check_dependencies' => $booleanValue,
),
// Used to create an own service manager. May contain one or more child arrays.
'service_listener_options' => array(
array(
'service_manager' => $stringServiceManagerName,
'config_key' => $stringConfigKey,
'interface' => $stringOptionalInterface,
'method' => $stringRequiredMethodName,
),
)
// Initial configuration with which to seed the ServiceManager.
// Should be compatible with Zend\ServiceManager\Config.
'service_manager' => array(
),
);
|
For an example, see the ZendSkeletonApplication configuration file.
The following options are available when using the default services configured by the ServiceManagerConfig and ViewManager.
These configuration directives can go to the config/autoload/{,*.}{global,local}.php files, or in the module/<module name>/config/module.config.php configuration files. The merging of these configuration files is done by the ModuleManager. It first merges each module’s module.config.php file, and then the files in config/autoload (first the *.global.php and then the *.local.php files). The order of the merge is relevant so you can override a module’s configuration with your application configuration. If you have both a config/autoload/my.global.config.php and config/autoload/my.local.config.php, the local configuration file overrides the global configuration.
Warning
Local configuration files are intended to keep sensitive information, such as database credentials, and as such, it is highly recommended to keep these local configuration files out of your VCS. The ZendSkeletonApplication‘s config/autoload/.gitignore file ignores *.local.php files by default.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | <?php
return array(
// The following are used to configure controller loader
// Should be compatible with Zend\ServiceManager\Config.
'controllers' => array(
// Map of controller "name" to class
// This should be used if you do not need to inject any dependencies
// in your controller
'invokables' => array(
),
// Map of controller "name" to factory for creating controller instance
// You may provide either the class name of a factory, or a PHP callback.
'factories' => array(
),
),
// The following are used to configure controller plugin loader
// Should be compatible with Zend\ServiceManager\Config.
'controller_plugins' => array(
),
// The following are used to configure view helper manager
// Should be compatible with Zend\ServiceManager\Config.
'view_helpers' => array(
),
// The following is used to configure a Zend\Di\Di instance.
// The array should be in a format that Zend\Di\Config can understand.
'di' => array(
),
// Configuration for the Router service
// Can contain any router configuration, but typically will always define
// the routes for the application. See the router documentation for details
// on route configuration.
'router' => array(
'routes' => array(
),
),
// ViewManager configuration
'view_manager' => array(
// Base URL path to the application
'base_path' => $stringBasePath,
// Doctype with which to seed the Doctype helper
'doctype' => $doctypeHelperConstantString, // e.g. HTML5, XHTML1
// TemplateMapResolver configuration
// template/path pairs
'template_map' => array(
),
// TemplatePathStack configuration
// module/view script path pairs
'template_path_stack' => array(
),
// Default suffix to use when resolving template scripts, if none, 'phtml' is used
'default_template_suffix' => $templateSuffix, // e.g. 'php'
// Layout template name
'layout' => $layoutTemplateName, // e.g. 'layout/layout'
// ExceptionStrategy configuration
'display_exceptions' => $bool, // display exceptions in template
'exception_template' => $stringTemplateName, // e.g. 'error'
// RouteNotFoundStrategy configuration
'display_not_found_reason' => $bool, // display 404 reason in template
'not_found_template' => $stringTemplateName, // e.g. '404'
// Additional strategies to attach
// These should be class names or service names of View strategy classes
// that act as ListenerAggregates. They will be attached at priority 100,
// in the order registered.
'strategies' => array(
'ViewJsonStrategy', // register JSON renderer strategy
'ViewFeedStrategy', // register Feed renderer strategy
),
),
);
|
For an example, see the Application module configuration file in the ZendSkeletonApplication.
The source code of this file is hosted on GitHub. Everyone can update and fix errors in this document with few clicks - no downloads needed.