A lot of companies out there would like us to believe that data centres can somehow be green. But as one data centre builder admitted to me this week, "Anyone who claims they have a green data centre is lying".
A lot of companies out there would like us to believe that data centres can somehow be green. But as one data centre builder admitted to me this week, "Anyone who claims they have a green data centre is lying". Data centres are just inherently unsustainable places.
According to a report last year from the charity, Global Action Plan, An Inefficient Truth, the intensive power requirements needed to run and cool data centres now account for around a quarter of the ICT sector's C02 emissions. Another report from the US Environmental Protection Agency that in the USA in 2006, 1.5 percent of national electricity demand came from energy consumption in data centres.
The other thing about data centres is that they cost a lot of money to run. Expensive kit and building costs aside, power and cooling eats electricity and consequentially buckets of cash. In an effort to grab the zeitgeist of saving money and being green, data centre specialist Migration Solutions has launched what it claims is the "industry's first tool to provide a 360 degree view of the environmental impact and performance of data centres". The company claims that by cross referencing and analysing about 120 different data points , the audit acts as a "health check on the data centre's environmental impact".
Now some of that will seem like greenwash - basically a financially motivated data centre audit dressed up as environmentally sustainable - but Migration's MD Alex Rabbetts, a 20 year veteran of the data centre industry has some interesting things to say about how data centres are managed and his industry's basic lack of thinking about efficiency - and cardboard!
Yep, it seems that just by getting the rid of the cardboard from a data centre you can get it to run more efficiently. Cardboard courses dust, and dust is the enemy of the data centre, it clogs cooling fans and makes the whole system work harder and run hotter. The problem is that data centres are magnets for cardboard. Whereas your PC comes fully assembled in one or two boxes, servers come in up to fifteen different boxes, with all the different components individually wrapped in evil cardboard.
So according to Rabbetts, forget Fresh Air cooling or siting your server in Iceland, one of the key things you can do as a data centre owner is make it very clear to hardware vendors where to stick their excess packaging.


text:
Remembering Kyle in Hollywood
Kyle in Hollywood
A Tradition Is Born
By hlywdkjk,
April 26, 2011 in Remembering Kyle in Hollywood
hlywdkjk
TCM_allow
A Tradition Is Born - The Footprints in the Chinese Theater Forecourt
"In 1926, Sid Grauman commenced work on his greatest theater to date--the Chinese Theatre. As concrete was being poured to create the sidewalk of the building, he accidentally stepped into it. Accompanied by his friends Mary Pickford and her husband Douglas Fairbanks, Sr., Grauman also encouraged them to place their feet into the cement. Later, the three recreated this fortuitous event and enshrined their footprints and signatures in concrete for the very first official "Footprints" ceremony where they remain today in the Grauman's Chinese courtyard."
Douglas Fairbanks and Mary Pickford
"These original sidewalk slabs were removed in 1958 for another historic occasion--the installation of the Hollywood Walk of Fame. After being stored away from the public eye for nearly two decades, TCM is proud to present a display of three concrete slabs that are a part of the birth of this tradition."
To learn more about the "discovery"of these original footprint slabs, go here -
http://mimlay.com/blog1/2011/02/19/lost-and-found-original-1927-graumans-chinese-theatre-footprints/
At the 2011 TCM Classic Film Festival, Peter O'Toole will be the latest honoree of having his handprints/footprints enshrined in the Forecourt of the Chinese Theater. He will join many other stars also featured in the Festival's programming. Here are a few on their special day.
The Marx Brothers, (A Night At The Opera)
John Barrymore, (Night Flight)
Judy Garland, (Girl Crazy)
Ginger Rogers, (Shall We Dance, Golddiggers of 1933)
Mickey Rooney, (Girl Crazy)
Betty Grable, (Coney Island)
Roy Rogers and Trigger, (Trigger Jr.)
Marilyn Monroe, (Niagra)
Debbie Reynolds (The Unsinkable Molly Brown)
Frank Sinatra (The Man With The Golden Arm)
(Click Through on the Above Images to Access Larger Versions)
TCMFilmFestival
TCM Member Moderators
Hi all-
We just wanted to let you know that Robert Osborne will unveil the original Grauman's Chinese sidewalk slabs at 10:30am on Thursday, April 28 in Club TCM at the Hollywood Roosevelt. If you're a passholder and in town, please come by!
TCM Classic Film Festival
SueSueApplegate
Christy, AKA Sue Sue Applegate
LocationHouston, Texas
This is great news! I'll be there...
I'll do my best to get there too. I am really interested in seeing these artifacts. And maybe I'll get a chance to chat with RO too?
filmlover
Kyle, sounds great! I have this week off, so I will be there for that.
lzcutter
Riding Point
LocationCity of the Angels- San Fernando Valley division
MrCutter and I talked it over this evening and we plan to be there as well!
Today (in about an hour) the Original Concrete Slabs from the forecourt of the Chinese Theater that were on display at the 2011 TCM Classic Film Festival will be sold at auction. Here's the auction listing (with nice photographs of each).
http://www.icollector.com/A-Tradition-is-Born-the-concrete-slabs-that-launched-the-Grauman-s-Chinese-courtyard_i10499701
Check out the "minimum bid" required to open the bidding. Ouch!
mavfan4life
LocationSeattle, WA
Kyle,
I think this is one of the things I find most baffling about L.A. Selling such iconic pieces of history is so reeking of lack of respect for the public that made Hollywood what it is. Everything seems to be about making a buck, and hoarding history by the wealthy. Tear down that landmark over there and build a pseudo-Mediterranean villa with imported palm trees landscaping it. Ugh.
For me, one of the major delights of attending the festival, beyond having folks buy me drinks, is finding those little-known pieces of history that are out there to be found. Not the latest outdoor shopping mall with the same businesses that are in every "upscale" mall in the country.
David in Seattle
Kyle, I think the $40,000 they went for is reasonable, considering their part in Hollywood history. Probably a tax writeoff for somebody. What gets me is the fees of $7200 the high bidder had to pony up to the auction house.
JackBurley
I wonder who bought them? What will they do with them? I keep fantasizing that somehow they'll end up at the Smithsonian.
Kyle, I'm curious about the movie titles accompanying the photos. For instance, the Judy Garland shot reads "Girl Crazy", but the photo looks a few years previous to that movie. Ginger's picture looks circa 1940, rather than 1933 or 1937. Are these just some movies for which they signed the wet cement, but not necessarily the actual photo of the named event?
*"Kyle, I'm curious about the movie titles accompanying the photos. For instance, the Judy Garland shot reads "Girl Crazy", but the photo looks a few years previous to that movie. Ginger's picture looks circa 1940, rather than 1933 or 1937. Are these just some movies for which they signed the wet cement, but not necessarily the actual photo of the named event?"*
I feared that might be confusing. The titles accompanying the cement photos are of films that were being shown at the Film Festival this year and not of the premiere when they were having their hand and foot prints put into the cement.
The Judy Garland ceremony took place during the premiere of *Babes In Arms*. Ginger Rogers was for *Kitty Foyle* (I think). The ceremony with Marilyn Monroe and Jane Russell was for *Gentlemen Prefer Blondes*.
Sorry it was confusing.
{quote:title=hlywdkjk wrote:}I feared that might be confusing. The titles accompanying the cement photos are of films that were being shown at the Film Festival this year and not of the premiere when they were having their hand and foot prints put into the cement.
The Judy Garland ceremony took place during the premiere of *Babes In Arms*. Ginger Rogers was for *Kitty Foyle*, I think). ...Sorry it was confusing.{quote}
No worries; I'm easily confused and now it makes complete sense. And it was a nice test. It shows what freaks we are: you show a photo and we'll pinpoint it to a date. "1937? No, that's 1940!"

redpajama_set_name: RedPajamaCommonCrawl


text:
package bg.roboleague.desktop.gui;

import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.UIManager;

import net.miginfocom.swing.MigLayout;
import bg.roboleague.desktop.timer.RobotTimer;
import bg.roboleague.desktop.timer.TimerDataReceiver;

public class TimerCalibrationWindow extends JPanel implements TimerDataReceiver {

	private final static int WINDOW_WIDTH = 400;
	private final static int WINDOW_HEIGHT = 150;
	private final static String WINDOW_CAPTION = "Timer Calibration";

	JLabel sensorReadingValue;
	JLabel thresholdNearValue;
	JLabel thresholdDistantValue;

	private RobotTimer timer;

	public TimerCalibrationWindow(RobotTimer timer) {
		this.timer = timer;
		setupWindow();
		addGUIElements();

	}

	public static int display(RobotTimer timer) {
		JPanel calibrationWindow = new TimerCalibrationWindow(timer);
		timer.addReceiver((TimerDataReceiver) calibrationWindow);

		int userChoice = JOptionPane.showConfirmDialog(null, calibrationWindow, "Timer Calibration",
				JOptionPane.OK_CANCEL_OPTION);

		timer.removeReceiver((TimerDataReceiver) calibrationWindow);
		return userChoice;
	}

	private void addGUIElements() {

		String setButtonText = "Set to sensor";

		JLabel sensorReading = new JLabel("Sensor value:");
		sensorReadingValue = new JLabel(Integer.toString(0));
		JLabel thresholdNear = new JLabel("Threshold near:");
		JLabel thresholdDistant = new JLabel("Threshold distant:");

		thresholdNearValue = new JLabel(Integer.toString(timer.getThresholdNear()));
		thresholdDistantValue = new JLabel(Integer.toString(timer.getThresholdDistant()));

		JButton setNear = new JButton(setButtonText);
		setNear.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				timer.setThresholdNear(timer.getSensorReading());
			}
		});

		JButton setDistant = new JButton(setButtonText);
		setDistant.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				timer.setThresholdDistant(timer.getSensorReading());
			}
		});

		add(sensorReading);
		add(sensorReadingValue, "wrap");
		add(thresholdNear);
		add(thresholdNearValue);
		add(setNear, "wrap");
		add(thresholdDistant);
		add(thresholdDistantValue);
		add(setDistant, "wrap");
	}

	private void setupWindow() {
		setLayout(new MigLayout());
		UIManager.put("OptionPane.minimumSize", new Dimension(WINDOW_WIDTH, WINDOW_HEIGHT));
	}

	@Override
	public void receiveSensorValue(int value) {
		sensorReadingValue.setText(Integer.toString(value));
	}

	@Override
	public void receiveThresholdNear(int thresholdNear) {
		thresholdNearValue.setText(Integer.toString(thresholdNear));
	}

	@Override
	public void receiveThresholdDistant(int thresholdDistant) {
		thresholdDistantValue.setText(Integer.toString(thresholdDistant));
	}

	@Override
	public void eventRobotStarted() {
		// TODO Auto-generated method stub

	}

	@Override
	public void eventRobotFinished(int time) {
		// TODO Auto-generated method stub

	}

	@Override
	public void receiveTolerance(int tolerance) {
		// TODO Auto-generated method stub

	}

	@Override
	public void receiveMeasurementTimes(int times) {
		// TODO Auto-generated method stub

	}

	@Override
	public void receiveDelay(int delay) {
		// TODO Auto-generated method stub

	}

	@Override
	public void receiveMinimalTime(int time) {
		// TODO Auto-generated method stub

	}
}

redpajama_set_name: RedPajamaGithub


Search results 1-20 of 410.
Thanks Lizzie, that's a really helpful description. Have had Harri's hearing test done a few weeks ago and he did have some congestion in his ears so repeating test again in 3-4 months....so if his tubes aren't draining properly, that might explain some of his wobbly-ness. Our HV spoke to the nursery staff then our GP and got us that referral to paediatrician to assess for Dyspraxia....just waiting to hear when that might be now.
oh, ticker not working there, so should mention Harri is 3.5 years old at the mo. Thank you Jensqui (not long to go there I see!!!), good to know there is practical stuff to help with it.
Just a quick question, I just made a big batch of lentil soup for Lachlan and blitzed it with the hand blender, but I have forgotten to remove the bay leaf before blitzing Do you think it's still ok to give to L ? Thanks!
thanks...was reading that blue smarties are coloured using a natural colour but its derived from blue green algae (yum!) so not sure if I fancy that even if I can get a hold of it I guess I'll just have to use the fake stuff and be sparing with it.
Anyone know a good cradle cap treatment?
Lachlan still has cradle cap but just persevering with the aqueous cream as it does seem to help a bit at least.
Hey Teresa, yep , same as Paris , was told about a pint per day, and that's inclusive of the milk you use in cooking/sauces/yog/cheese, but no cows milk as a drink until 1yr. I have noticed that L is feeding for shorter times now, although still having about 5 per day....don't know how much exactly....but he gets milk on his cereal and the occasional yog/cheese now so hopefully getting enough calcium that way.
just read in your diary that you're already doing the water and cotton wool etc too. poor I. also, Mason's runny poo thing did go on for years, never really figured out any specific cause, but thankfully was just that one episode of nappy rash - just got the occasional 'baboon bum' (if you know what I mean!) and the bepanthen sorted that out.


text:
Sarles is a city in Cavalier and Towner counties in the State of North Dakota. The population was 16 at the 2020 census. Sarles was founded in 1905 at the end of the Great Northern railway extension north of Munich, called the "Sarles Branch". The town is named for North Dakota Governor Elmore Y. Sarles.

Geography
Sarles is located at  (48.945231, -98.996864).

According to the United States Census Bureau, the city has a total area of , all land.

Demographics

2010 census
As of the census of 2010, there were 28 people, 13 households, and 5 families residing in the city. The population density was . There were 27 housing units at an average density of . The racial makeup of the city was 96.4% White and 3.6% Native American.

There were 13 households, of which 30.8% had children under the age of 18 living with them, 30.8% were married couples living together, 7.7% had a male householder with no wife present, and 61.5% were non-families. 53.8% of all households were made up of individuals, and 30.8% had someone living alone who was 65 years of age or older. The average household size was 2.15 and the average family size was 3.80.

The median age in the city was 35.5 years. 35.7% of residents were under the age of 18; 0.0% were between the ages of 18 and 24; 32.1% were from 25 to 44; 14.3% were from 45 to 64; and 17.9% were 65 years of age or older. The gender makeup of the city was 53.6% male and 46.4% female.

2000 census
As of the census of 2000, there were 25 people, 16 households, and 5 families residing in the city.  The population density was 97.5 people per square mile (37.1/km).  There were 44 housing units at an average density of 171.5 per square mile (65.3/km).  The racial makeup of the city was 84.00% White and 16.00% Native American.

There were 16 households, out of which 12.5% had children under the age of 18 living with them, 25.0% were married couples living together, 6.3% had a female householder with no husband present, and 68.8% were non-families. 68.8% of all households were made up of individuals, and 43.8% had someone living alone who was 65 years of age or older.  The average household size was 1.56 and the average family size was 2.40.

In the city, the population was spread out, with 8.0% under the age of 18, 4.0% from 18 to 24, 24.0% from 25 to 44, 28.0% from 45 to 64, and 36.0% who were 65 years of age or older.  The median age was 56 years. For every 100 females, there were 127.3 males.  For every 100 females age 18 and over, there were 130.0 males.

The median income for a household in the city was $31,875, and the median income for a family was $36,875. Males had a median income of $31,250 versus $0 for females. The per capita income for the city was $21,479.  There were no families and 8.3% of the population living below the poverty line, including no under eighteens and none of those over 64.

References

Cities in Cavalier County, North Dakota
Cities in Towner County, North Dakota
Cities in North Dakota
Populated places established in 1905
1905 establishments in North Dakota

redpajama_set_name: RedPajamaWikipedia


Mill Creek Botanicals manufactures and formulates natural, organic products to boost the health and appearance of your skin and hair. They only use the highest-quality botanical ingredients, which allow for nutrient-rich blends that are gentle and well-suited to people from almost all walks of life. All personal care products from Mill Creek Botanicals are made without any animal testing whatsoever, and contain effective and fresh compounds you can recognize and trust. Mill Creek is proud to support natural beauty and wellness, and has been doing so for nearly four decades! PureFormulas is happy to offer Mill Creek Botanicals products like soothing aloe vera gel.


text:
Q: Как правильно передать значения в запросе sql в БД Mysql У менять есть БД с разными типами (INT, VARCHAR, DATA)
Как мне правильно сделать запрос sql, передавая стандартные (пустые) значения, не зная настроек полей в БД?
Я делаю так
INSERT users (id,m_domain,t_domain,status,shop,email,nick,comment,date,price,order_id) VALUES (DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT)

Проблема в том, что если у поля в БД нету стандартного значения, получаю ошибку. Раньше передавал NULL везде, но это работает так же если у всех полей в БД есть галочка "Null". Можно ли как то сделать проверку в sql, или есть какой то стандартный параметр для переменных.

A: Нет каких-то общих стандартных пустых значений для разных типов данных. Если вы сами не определяете какое-то значение по умолчанию для столбца, то MySQL не предложит что-то своё. Просто будет столбец без значения по умолчанию. Вставляя строки в таблицу, вы должны указать значения столбцов. По-хорошему, надо указать значения всех столбцов.
Надо заметить, что базы данных могут быть использованы двумя способами. Первый -- это использование базы данных как хранилища данных программы. Все операции с базой делает программа, и значения по умолчанию определяет и контролирует программа. Второй случай -- это использование базы данных как самостоятельного инструмента. Операции с базой делаются руками пользователя через SQL-интерфейс.
Так вот, в программе очень просто перечислить все столбцы и значения (в том числе значения по умолчанию). Вы пишете код один раз и потом он работает снова и снова без участия человека.
<?php

// ...

$db->query('
    insert into `users`
    set
        `m_domain` = :m_domain,
        `t_domain` = :t_domain,
        `status` = :status,
        `shop` = :shop,
        `email` = :email,
        `nick` = :nick,
        `comment` = :comment,
        `date` = :date,
        `price` = :price,
        `order_id` = :order_id
', [
    ':m_domain' => '',
    ':t_domain' => '',
    ':status' => 'active',
    ':shop' => null,
    ':email' => '',
    ':nick' => '',
    ':comment' => 'default comment',
    ':date' => date('Y-m-d'),
    ':price' => 0,
    'order_id' => null,
]);

Если же предполагается, что базой будут пользоваться вручную. То тогда используют такие фишки как default. При создании таблицы, всем столбцам, вводить которые не обязательно, указываются значения по умолчанию. И их можно просто пропустить в запросе.
insert into `users` set `email` = 'email@example.com'

Таким образом, определить значения по умолчанию это ваша задача. И эти значения не всегда зависят от типа данных в MySQL. Для температуры тела человека значение по умолчанию может быть 36.6 градусов цельсия, а для геометрического угла 0.0 радиан. Но не увлекайтесь, помните, что база данных нужна для хранения реальных данных, а не значений по умолчанию :-)
P.S.
В базе хранятся и данные о схемах ваших таблиц, о столбцах и их типах. Если вам любопытно можно ли в принципе написать универсальный запрос, который вставит строчку в любую таблицу MySQL, то гляньте в сторону INFORMATION_SCHEMA.

redpajama_set_name: RedPajamaStackExchange


Education Student Services works to promote future, current, and past education majors. Click Now to set up your appointment today.
Who should I contact for more information about the B.S. in Education in Secondary Education?
Email your questions to the B.S. in Education Program Coordinator at bsedsmge@kennesaw.edu.
Education majors are advised in the Teacher Education Advisement Center (TEAC), which is housed in Education Student Services in Kennesaw Hall 1314. You may call Education Student Services at 470.578.6105 or email at BCOE_advising@kennesaw.edu.
How can I schedule an advisement appointment?
Candidates can schedule advisement appointments online. Simply select "Education Student Services" from the "Academic Advising" column.
Candidates who have completed less than 30 credit hours must meet with their advisor each semester to have the advisement hold removed before registering for courses for the next semester. Candidates are also required to meet with their advisor before submitting their applications for admission to the B.S. in Education in Secondary Education Program and to the Yearlong Clinical Experience. Even when not required, it's a good idea to meet with an advisor, at least, once each semester to discuss course prerequisites, scheduling for the next semester, upcoming deadlines, and possible program changes.
Do I need to schedule an advisement appointment if I just have a quick question?
No. If you have a quick question, you may email the B.S. in Education Program Coordinator at bsedsmge@kennesaw.edu or Education Student Services at BCOE_advising@kennesaw.edu.
Which courses in the program require a field experience or practicum?
All courses for the B.S. in Education degree program are listed on this website and in the undergraduate catalog. Courses that require a field experience or practicum indicate this in their course description.
Can any part of The Yearlong Clinical Experience be completed during a summer semester?
No. The Yearlong Clinical Experience cannot be completed during a summer semester. Yearlong Clinical Experience I courses are only offered in the fall semester, and Yearlong Clinical Experience II courses are offered only in the spring semester.
Which courses will I need to take if I already have an undergraduate degree?
You should contact the B.S. in Education Program Coordinator at bsedsmge@kennesaw.edu or Education Student Services at BCOE_advising@kennesaw.edu regarding your specific situation. Alternatively, you may view the entire Program of Study on this website.


text:
Miratico: The World as a Wonder
You wonder about Films, You wonder about Music
The Music of James Bond – The Complete List
October 9 Leave a comment
Composed by: John Barry, Don Black
Performed by: Lulu
Movie: The Man with the Golden Gun
James Bond: Roger Moore
Lulu in 1974
The song was written and recorded in less than three weeks, due to the tight schedule of the movie production. John Barry believes it to be the worst song he has ever written. The critics didn't spare him, considering the song was full of indecent insinuations and sounded ridiculous.
But since when have such "trifles" stopped a song from being successful? It reached 11th place on the British chart:
Can you imagine a James Bond movie beginning with an Alice Cooper song? It could have been possible for "The Man with the Golden Gun". It all seemed to go in the right direction. But the song didn't get the green light from the producers 1)"The Music of James Bond" by Jon Burlingame, book published by Oxford University Press in 2012. Anyway, it was surprisingly "weak":
1973: Live and Let Die1977: Nobody Does It Better (The Spy Who Loved Me)
Introduction + James Bond theme
1962: Kingston Calypso (Dr. No)
1963: James Bond Is Back / From Russia with Love / James Bond Theme
1964: Goldfinger
1965: Thunderball
1967: You Only Live Twice
1969: On Her Majesty's Secret Service
1971: Diamonds Are Forever
1973: Live and Let Die
1974: The Man with the Golden Gun
1977: Nobody Does It Better (The Spy Who Loved Me)
1979: Moonraker
1981: For Your Eyes Only
1983: All Time High (Octopussy)
1985: A View to a Kill
1987: The Living Daylights
1989: Licence to Kill
1995: GoldenEye
1997: Tomorrow Never Dies
1999: The World Is Not Enough
2002: Die Another Day
2006: You Know My Name (Casino Royale)
2008: Another Way to Die (Quantum of Solace)
2012: Skyfall
2015: Writing's on the Wall (Spectre)
What Classical Composers Would Have Been Great Rockstars?
A surprising series of re-orchestrations that were originally classic songs, in heavy metal style
Article written exclusively for Miratico by Velea. Lucian Velea
Lucian Velea is the founder of the website Miratico and has been a fan of the James Bond movies ever since he saw "Octopussy".
Did you like it? Now it's your turn. You'll make us very happy if you share this article with your friends:
And don't forget to let us know what you think – we are really interested in your thoughts on this!
1. ↑ "The Music of James Bond" by Jon Burlingame, book published by Oxford University Press in 2012
Pages: 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
Previous PostTop 20 Beautiful, Famous, and Incredibly Smart WomenNext PostStar Wars is a Comedy (Here's the Proof!)
Which is your favourite James Bond song? Cancel reply
Miratico.com on Facebook
Invite your Facebook Friends
We need your help: Please invite your friends to Miratico! If we have more readers, then we can develop an even better online magazine.
lotus maddox on Top 10 Pranks on Teachers (the Last One is the Icing on the Cake)
John Campion on 7 Animals Whose Dream to Fly Came True (They Are Not Birds!)
Carlos Juan on 6 Types of Footwear Worn by Men along the Centuries
Wedding Time Bridal on 69 Crazy Wedding Dress Ideas
Faisal on World's Top 19 Largest Crosses (Reach High for the Sky!)
Bookmark or Pin us!
Miratico: The World as a Wonder supports many popular operating systems!
Supported platforms include:
FavIcons for desktop and mobile browsers
Windows 8 and Windows Phone 8.1 Live Tiles
iOS Home Screen Icons
[+]You wonder about People (20)
[+]You wonder about Miscellanea (13)
[+]You wonder about Life (12)
[+]You wonder about Animals (7)
[—]You wonder about Music (7)
Smile - Composed by Charlie Chaplin, Performed by Michael Jackson
Star Wars Theme in 18 (More and More Surprising) Versions
The Music of James Bond - The Complete List
Top 20 Beautiful, Famous, and Incredibly Smart Women
Sister Cristina - The Voice of Joyful Existance
Rio Carnival - the Biggest Party of the World
[—]You wonder about Films (6)
James Bond Island (and Other Exotic Stories)
All about James Bond (Classified Information Included)
Star Wars is a Comedy (Here's the Proof!)
[+]You wonder about Technology (5)
[+]You wonder about Fashion (4)
Miratico
Miratico Privacy Policy	Proudly powered by WordPress
Miratico.com


Scheduling regular exams is the best way to ensure a healthy life for your pet.
Older pets may require more medical attention and our team is experienced in recognizing and treating illnesses in senior patients.
We offer all necessary vaccinations for both dogs and cats. Up-to-date immunizations are vital for protecting your pet from disease.
A quick and simple procedure can help bring your pet home if he or she should ever be lost.


Check out our round-up of networking events in Fort Worth that can help you meet other local young professionals, entrepreneurs, and go-getters.
Live in Austin, Texas? Expand your professional and social circles with these networking opportunities. Who knows, you might find your next boss – or maybe just a new best friend!
Check out our round-up of networking events in Dallas that can help you meet other local young professionals, entrepreneurs and go-getters.


DFW is known for having some of the best Mexican food in the world. How does it rate in the pizza department? It may not be Milano -- or even New York City -- but we still have some pretty great pizza.
I love a thin-crust pizza and Caddy's crust is crispy, thin and delicious--one of the best I've tasted in DFW. They make their sauce and dough fresh daily and feature Texas-grown vegetables and herbs. We ordered the classic margarita pizza with fresh basil and Roma tomatoes (but added some pepperoni for the meat lover in us). It was devine and it's making me hungry just thinking about it.
Bonus: You will get an incredible concert while you dine. We saw Quinten Hope Trio on a Friday night and his friend (guitar legend) Andy Timmons just happened to sit in and the soulful Maylee Thomas joined in for a couple of songs.
Guide Review of Cadillac Pizza Pub.
Campisi's has one of the best thin-crust pizzas in DFW. The pizza has had patrons coming back since it was first introduced to Dallas in 1946. The crust is thin, it's in an oblong shape, and the toppings are delicious and the restaurant is legendary in Dallas. You can dine on free pizza in the bar during happy hour (if you order 2 adult beverages). In addition to the pizza, Campisi's has the best fried calamari in DFW. Nothing even comes close.
Locations: There are 7 locations in the Metroplex including the original Campisi's Egyptian Lounge at 5610 E Mockingbird Lane, Dallas, Texas 75206. 214-827-0355.
Coal Vines is like the neighborhood restaurant that its owner, Joseph Palladino, grew up eating in New York. This pizza place has a full menu and excellent wine menu. The pizza is excellent and the atmosphere reminds me of being in New York City. I recommend the white pizza (mozzarella, ricotta and parmesan cheeses with oregano) but you can't go wrong with any of their pies.
As a bonus, Sunday brunch is served from 11 a.m. to 3 p.m. with omelletes, Coal Vines Benedict, Butterfinger Pancakes, and Sunday Quiche.
You may have to wait at Covino's because it's a popular spot. But the good news is: it's BYOB. So bring a bottle of chianti to enjoy on the patio while you wait on the crowd to finish. On my first trip to Covino's, my friend ordered us a cheese pizza as an appetizer. We didn't need anything else. It was delicious! And it has that "Little Italy" feel of NYC. That's another way of say tables very close to each other. There are choices: NY style and deep dish -- so there's something for everyone. I have not tried the Abruzzi Bread (sausage, pepperoni, provolone cheese & Spinach baked in a pizza crust) but Mama Mia that sounds good.
I fell in love with a dish named after its Dallas location: the Preston Hollow. Calabrian chiles, sausage and carmelized onions. Veggie lovers: this is one of the best veggie pizzas you will ever find.
Location: Dough Pizzeria Napoletana is located at 11909 Preston Road, Dallas, TX 75230. 972-788-4600.
Specialty pies include the White Pie made with ricotta cheese, Vegetarian Pie, and the Buffalo Chicken Pie.
Location: Ferrari's Pizzaria, 5024 Tennyson Parkway, Plano, TX 75024. 972-473-0700.
After reviewing some readers' comments on their favorite pizzas, I couldn't shake the desire for Fireside Pies. My husband and I sat on the patio one recent evening and enjoyed a 1/2 pepperoni, 1/2 Texas sausage. The weather was perfect--just a little cool--but the patio heaters kept us just warm enough. We also saw some friends walk by and we invited them to join us for a glass of wine. This is a great place for a appetizer, salad, pizza or dessert.
You have to love a place that takes longer to assemble your pizza than it does to cook it. Cane Rosso's 900-degree oven bakes your pizza to perfection in only a minute. Magic? Maybe. Delicious. Yes. Cane Rosso's pizza is definitely one of the best pizzas in Dallas.
Whatever you do, don't miss the Paulie Gee Pizza. It's italian tomatoes (their crushed tomato version of sauce), fresh mozzarella, fresh basil, hot soppresta (it's like pepperoni), carmelized onions and calabrian peppers atop their fabulous neopolitan crust. We sampled it and it was well worth the drive.
Order the Caesar Salad. It's one of the best I've ever sampled. Huge slivers of fresh parmesean cheese, crostini, and get this -- real anchovies on the side. (My husband ate them; I did not). This salad can easily feed four people. Don't be afraid to share. At $8, it's a bargain.
Even renowned foodie-restauranteur-TV personality Guy Fieri blessed the location a painted stamp of approval on their wall.
il Cane Rosso, 2612 Commerce Street, Dallas, TX 75226. 214-741-1188.
Two brothers from Illinois put together a great, thin-crust (yes, it's still Chicago-style) pizza. But is it a bar or is it a pizza place? It's both. You'll find Chicago-box cut pizza. Even their sausage is homemade.
Location: Napoli's Pizza and Pasta, 915 W. Centerville, Garland, TX 75041. 972-613-0800.


When I decided on the band for my next Go To Design, I didn't realize how many times I turn to this design. I have seven layouts to share, and many more in my albums that didn't make the cut! So exactly what is a band? Unlike the shelf, a band spans the entire page, either horizontally or vertically. There are so many different ways to do this! Here are some of my favorites.
Band #1: Let the photos themselves form the band; perfect for three 4x6 vertical photos.
Band #7: Brand New Page! I put my Silhouette to work to create this open, airy band.
These are just a few ideas for the band design. Like all my other Go Do Designs, I created a Pinterest board with lots more examples. Is the band a design in your scrapping tool box?
I do the same thing! I love all your layouts, and how each looks so different!
Love all the layouts! I use this design too when I have 3 vertical pics.
Thanks for the ideas and especially the reminder to go up town and take photos. We have a cute town square and it would make for awesome pages. Thanks for the idea.
I love band layouts! Love to take elements all the way to the edge of the page. Such a great variety of examples you've provided, Sue. My favorite is the Chapel Hill page with the Silhouette die cut. Love the idea of an 'airy' band.
Thank you for sharing all of these layouts. Quite a bit of inspiration!
I love the band design as well! Great mix of layouts! tfs!
Oh, lots of good examples. You make me want to jump on the band bandwagon!
These are fabulous, I love that you show so many examples, and none of them look the same!
Great examples of the band design, Sue! I always love your great eye for colors on your layouts!
Fabulous pages, Sue. They all use the same design concept, yet each has its own unique and wonderful personality.
Great examples of a wonderful design concept!
I'm a big fan of the "Go To Designs" series. :) I think it's very cool to see all your examples together - it really illustrates that using the same idea over and over will NOT make your pages all look the same.
Such a great design used so many different ways! Love the examples!!
Great design! Love all of your variations!
The first one I use a lot - due to Shimelle and 4 X 6 Photolove LOL!


text:
Hungarian Photographer Slammed for 'Migrant Chic' Fashion Shoot
By Felicity Capon On 10/8/15 at 2:01 PM EDT
Norbert Baksa 2015
World Refugees Migrants Europe Hungary
A Hungarian photographer has defended his controversial fashion shoot that used Europe's refugee crisis as inspiration.
Norbert Baksa, a photographer who has in the past worked for Elle, Playboy and Cosmopolitan, posted 13 images on his website depicting glamorous women wearing headscarves and ripped clothing, surrounded by barbed wire and struggling against police officers, under the title '"Der Migrant."
One particularly controversial image depicted a model taking a selfie of herself using a phone emblazoned with the Chanel logo, with her shirt half open.
Critics were quick to accuse Baksa of glamorizing the plight of asylum seekers attempting to flee conflict and instability in their home countries.
Art gone berserk. Some dude has actually done a fashion photoshoot on the theme of migrants. http://t.co/yocFHjaSdD pic.twitter.com/Sp28RnAh7l
— Nigel Britto (@NigelBritto) October 6, 2015
Apparently this migrant and refugee inspired photoshoot is 'raising awareness' about the totally chic crisis. pic.twitter.com/ekHd5tcDsW
— Charlotte Meredith (@chmeredith) October 6, 2015
Many Twitter users pointed out that the scantily clad women were particularly offensive taking into account the religions and cultural backgrounds of many of those fleeing to Europe.
At least 350,000 migrants crossed the EU's borders from January to August 2015, according to the International Organization for Migration, a figure that does not take into account those who cross undetected by authorities. Hungary has reacted particularly strongly to the crisis, deploying water cannons and tear gas against the migrants and refugees arriving at its borders, and erecting a razor-wire fence along its entire 108 mile shared-border with Serbia.
Baksa defended his images, writing on his website, "I do not understand how people can take a clear stand (pro or con) while we are flooded with contradictory information through the media, so no one has extensive knowledge of the situation as a whole.
"The shoot is not intended to glamorize this clearly bad situation, but rather, as said above, to draw the attention to the problem and make people think about it," he continued. "Artists around the world regularly attract the public's attention to current problems through 'shocking' installations and pictures. This is another example of such art."
Baksa also said that during the photo shoot, his team did their best to respect people's faith and conviction and "not to cross certain boundaries."


text:
Last Update December 23, 2015
Wisconsin unions see ranks drop ahead of recall vote
By | The Wall Street Journal
The Wisconsin recall odyssey
A look at the Wisconsin recall's long, tumultous journey and potential impact
Public-employee unions in Wisconsin have experienced a dramatic drop in membership -- by more than half for the second-biggest union -- since a law championed by Republican Gov. Scott Walker sharply curtailed their ability to bargain over wages and working conditions.
Now with Mr. Walker facing a recall vote Tuesday, voters will decide whether his policies in the centrist state should continue -- or whether they have gone too far.
The election could mark a pivot point for organized labor.
Mr. Walker's ouster would derail the political career of a rising Republican star and send a warning to other elected officials who are battling unions. But a victory for the governor, who has been leading his Democratic opponent in recent polls, would amount to an endorsement of an effort to curtail public-sector unions, which have been a pillar of strength for organized labor while private-sector membership has dwindled.
That could mean the sharp losses that some Wisconsin public-worker unions have experienced is a harbinger of similar unions' future nationwide, union leaders fear. Failure to oust Mr. Walker and overturn the Wisconsin law "spells doom," said Bryan Kennedy, the American Federation of Teachers' Wisconsin president.
Wisconsin membership in the American Federation of State, County and Municipal Employees-the state's second-largest public-sector union after the National Education Association, which represents teachers-fell to 28,745 in February from 62,818 in March 2011, according to a person who has viewed Afscme's figures. A spokesman for Afscme declined to comment.
Click for more from The Wall Street Journal.


text:
BW: Microsoft in Danger of EU Governments Effectively Banning Office
Posted in Europe, Microsoft, Office Suites, Open XML, OpenDocument at 12:44 pm by Dr. Roy Schestowitz
BusinessWeek has a very catchy summary (abbreviated above) that sheds light on the reasons for Microsoft to misbehave and even resort to fraudulent activity.
On top of fines and new inquiries, Microsoft is in danger of EU governments effectively banning its software to create documents
Compatibility Advantage
The new European investigations come as Microsoft finds itself in danger of seeing EU governments effectively ban its software to create documents. The European Commission and its member states have been mulling a mandate that all government documents be created in the Open Document Format (ODF), an open source competitor to the proprietary format used in Microsoft Word.
On top of the company's existing fears and failures to evolve, the one greatest cash cow comes under attack. Remember that this attack comes from openness, from standards, from fair competition, rather than from a single company or a single product. Real competition which is based on open protocols can be daunting to Microsoft, as the following Halloween Memo reminds us:
Microsoft's answer to what the memo meant when it said that Microsoft could extend standard protocols so as to deny Linux "entry into the market":
Q: The first document talked about extending standard protocols as a way to "deny OSS projects entry into the market." What does this mean?
A: To better serve customers, Microsoft needs to innovate above standard protocols. By innovating above the base protocol, we are able to deliver advanced functionality to users. An example of this is adding transactional support for DTC over HTTP. This would be a value-add and would in no way break the standard or undermine the concept of standards, of which Microsoft is a significant supporter. Yet it would allow us to solve a class of problems in value chain integration for our Web-based customers that are not solved by any public standard today. Microsoft recognizes that customers are not served by implementations that are different without adding value; we therefore support standards as the foundation on which further innovation can be based.
It figures. █


text:
Q: What is $\sum_{i=1}^{n}\frac{F_i}{i}$? Mathematica is able to evaluate the summation $\sum_{i=1}^{n}\frac{F_i}{i}$ in terms of the Lerch transcendent. It is natural to consider whether or not this summation can be expressed in a more simple way.
It is conceivable that it is possible that $a_{n} = \sum_{i=1}^{n}\frac{F_i}{i}$ may be expressed in a more compact way, perhaps in terms of Fibonacci and Lucas numbers somehow, using the nearest integer function or the floor function.
Integer sequences such as $(\lfloor a_{n} \rfloor)_{n \in \mathbb{N}}$, $([a_{n}])_{n \in \mathbb{N}}$, $( n! a_{n}  )_{n \in \mathbb{N}}$, and $( \text{den}(a_{n})  )_{n \in \mathbb{N}}$ are not currently in the On-Line Encyclopedia of Integer Sequences.
It appears that $\lim_{n \to \infty} \frac{\ln a_{n}}{n} \approx 0.481$ converges to a constant.  What is this constant? Can this constant be used to somehow express the sequence $(a_{n})_{n \in \mathbb{N}}$ in closed form?

A: EXPANDED:
Let's define :
$$\tag{1}a_n(x):=\sum_{k=1}^{n}\frac{F_k}{k}x^k$$
and use $\,F_k=\dfrac {\varphi^{\,k}-\psi^{,k}}{\sqrt{5}}\;$ with $\;\varphi=\dfrac{1+\sqrt{5}}2,\ \psi=\dfrac{1-\sqrt{5}}2=-\dfrac 1{\varphi}\;$ (as suggested by Aravind and Wikipedia) then :
\begin{align}
a_n(x)&=\frac 1{\sqrt{5}}\sum_{k=1}^{n}\left(\varphi^{\,k}-\psi^{,k}\right)\frac{x^k}k\tag{2}\\
&=\frac 1{\sqrt{5}} \int\sum_{k=1}^{n}\left(\varphi^{\,k}-\psi^{,k}\right) \frac {x^{k}}x\,dx\\
&=\frac 1{\sqrt{5}}\left(\int \frac{(\varphi\,x)^{\,n}-1}{\varphi\,x-1}\varphi\,dx-\int\frac{(\psi\,x)^{\,n}-1}{\psi\,x-1}\psi\,dx\right)\\
&=\frac 1{\sqrt{5}}\int_{\psi\,x}^{\varphi\,x} \frac{u^{\,n}-1}{u-1}\,du=\frac 1{\sqrt{5}}\int_{\psi\,x}^{\varphi\,x}\ \sum_{k=0}^{n-1}\;u^{\,k}\,du\tag{3}\\
&\quad\text{writing the integrand at the left as a sum of two terms gives :}\\\\
a_n:=a_n(1)&=\frac 1{\sqrt{5}}\left(-B_{\varphi}(n+1,0)+B_{\psi}(n+1,0)-\log(1-\varphi)+\log(1-\psi)\right)\tag{4}\\
\end{align}
with $B_x(a,b)$ the incomplete beta function (the singularities in the integrals are removable and will not be considered).
All this is probably not very useful for practical evaluations but $(2)$ applied to $x=1$ allows to find a closed form for your limit $\;\displaystyle l:=\lim_{n \to \infty} \frac{\ln a_{n}}{n}$ using $\varphi>1$ and $|\psi|<1$ :
\begin{align}
a_n&=\frac 1{\sqrt{5}}\sum_{k=1}^{n}\frac{1}k\left(\varphi^{\,k}-\psi^{,k}\right)\\
a_n&\sim \frac 1{\sqrt{5}}\sum_{k=1}^{n}\frac{\varphi^{\,k}}k,\quad n\to\infty\\
&\sim \frac 1{\sqrt{5}}\frac{\varphi^{\,n}}{n}\sum_{k=1}^{n}\frac{\varphi^{\,k-n}\;n}k,\quad n\to\infty\\
&\quad\text{setting $\;j:=n-k\,$ gives}\\
&\sim \frac 1{\sqrt{5}}\frac{\varphi^{\,n}}{n}\sum_{j=0}^{n-1}\frac 1{\varphi^{\,j}\;\frac {n-j}n},\quad n\to\infty\\
&\sim \frac 1{\sqrt{5}}\frac{\varphi^{\,n}}{n}\sum_{j=0}^{n-1}\frac {1+\sum_{m>0} \left(\frac jn\right)^m}{\varphi^{\,j}},\quad n\to\infty\\
&\sim \frac 1{\sqrt{5}}\frac{\varphi^{\,n}}{n}\left(\frac 1{1-\frac 1{\varphi}}+\sum_{m>0}\frac 1{n^m}\sum_{j=0}^{n-1}\frac {j^m}{\varphi^{\,j}}\right) ,\quad n\to\infty\\
&\sim \frac 1{\sqrt{5}}\frac{\varphi^{\,n}}{n}\left(\frac {\varphi}{\varphi-1}+\sum_{m>0}\frac {\Phi\left(\frac 1{\varphi},-m,0\right)}{n^m}\right) ,\quad n\to\infty\tag{5}\\
a_n&\sim \frac{\varphi^{\,n+1}}{\sqrt{5}\;n\,(\varphi-1)},\quad n\to\infty\tag{6}\\
\end{align}
With $\Phi$ the Lerch transcendent $\;\displaystyle\Phi(z,s,a):=\sum_{n\ge 0}\frac{z^n}{(n+a)^s}$.
The limit will simply be :
$$l=\lim_{n \to \infty} \frac{\ln a_{n}}{n}=\log(\varphi)=\log\dfrac{1+\sqrt{5}}2\approx 0.4812118251$$
$$-$$
Let's use $(5)$ to get a more precise expansion defining $\;\displaystyle f_m(z):=\sum_{n\ge 0}n^m\,z^n=\Phi(z,-m,0)$.
For $m$ a nonnegative integer we have $\;\displaystyle f_{m+1}(z)=z\,f_{m}(z)'=z\sum_{n\ge 0}n^m\,n\,z^{n-1}=\sum_{n\ge 0}n^{m+1}\,z^{n}\ $
giving us the closed forms :
\begin{align}
f_0(z)&=\frac 1{(1-z)}\\
f_1(z)&=\frac z{(1-z)^2}\\
f_2(z)&=\frac {z^2+z}{(1-z)^3}\\
f_3(z)&=\frac {z^3+4z^2+z}{(1-z)^4}\\
\cdots
\end{align}
Using $\;z:=\dfrac 1{\varphi}\;$ so that $\,\dfrac 1{1-z}=\dfrac {\varphi}{\varphi-1}\;$ we may rewrite $(5)$ as :
\begin{align}
a_n&\sim \frac 1{\sqrt{5}}\frac{\varphi^{\,n}}{n}\left(\frac {\varphi}{\varphi-1}+\frac {\varphi}{(\varphi-1)^2\,n}+\frac {\varphi+\varphi^2}{(\varphi-1)^3\,n^2}+\frac {\varphi+4\varphi^2+\varphi^3}{(\varphi-1)^4\,n^3}+\cdots\right) \\
a_n&\sim \frac 1{\sqrt{5}}\frac{\varphi^{\,n}}{n}\left(\varphi+1+\frac {2\varphi+1}{n}+\frac {8\varphi+5}{n^2}+\frac {50\varphi+31}{n^3}+\frac{416\varphi+257}{n^4}+\cdots\right) \\
\end{align}
The sequences of integers appearing there are known : OEIS A000557 and A000556 allowing us to write this exponential generating function :
\begin{align}
\frac{\varphi+e^{-x}}{1-2\sinh(x)}&=(\varphi+1)+(2\varphi+1)\frac x{1!}+(8\varphi+5)\frac {x^2}{2!}+(50\varphi+31)\frac {x^3}{3!}+(416\varphi+257)\frac {x^4}{4!}+\cdots\\
\end{align}
The OEIS links should help you to find further relations and interesting links.


This version of Bike Race has:br All levels unlocked!br No Ads!brbrIn this simple and fastpaced physicsbased free game tilt your device to lean your bike and touch the screen to acceleratebrake. brbrFeatures: br Multiplayerbr Simple controls br 14 addictive worlds br 128 challenging tracksbr 16 amazing bikes br Touch to accelerate tilt to lean the bikebr Cool stuntsbrbrBike Race is brought to you by Top Free Games the creators of the 1 game in the google play store Racing Penguin.brbrMultiplayer Mode is available! Try to become the best biker on Android!
In addition, the Game Bike Race Pro by T. F. Games is very interactive and fun to use and the users can enjoy it at any time and anywhere around the world. What are you waiting for? download now Bike Race Pro by T. F. Games on your smart devices from link below. Enjoy the Game Bike Race Pro by T. F. Games and go as far as you can. Have fun!
Recommended: Dungeon Warfare 2 PC and Laptop (Windows / Mac).
To download and install Bike Race Pro by T. F. Games on PC we will be needing Android Emulator or an Android OS as the Game developers have released it on Android platforms only. By using Android emulator we can easily use any App or play any game for Android on our PC or laptop computers. Below we have provided the link of an article which will guide you how can you download an Android Emulator of your choice and install it on your PC.
Now it's our turn to download and install Bike Race Pro by T. F. Games on PC using the emulator we have downloaded and installed. All we need to do for that is simply open the Emulator we installed and configure it using our Google Email, as we normally do in Android Devices. when we are done with the Gmail configuration on Play Store simply Open the Play Store and Search 'Bike Race Pro by T. F. Games' and Select the App to install. Then click on the Install button to start the installation or Pay the price to get the installation started if the App is Paid. Once installed, Click 'open' to run Bike Race Pro by T. F. Games for PC. That's All.


Third and final assignment was a demo reel I composed, showing off all the past work I have done since. My professor suggested I placed my "Everybody Have Fun Tonight" video as the first clip. Now that I think about it, I agree with her.


Gostou: Only the location pays off when deciding to stay at this hostel.
Não gostou: Receptionists repeatedly entered the room without announcing themselves. The warm water of the shower takes between 5 to 15 minutes to start to leave. I stayed 2 days without bath for lack of hot water. This is UNACCEPTABLE in a cold city like Washington.


text:
Q: Spring in memory data grid application Is it sensible to use Spring in the server side of an in memory data grid based application?
My gut feeling tells me that it is nonsense in a low latency high performance system. A colleague of mine is insisting on including Spring in it. What are the pros and cons of such inclusion?
My position is that Spring is OK to be used in the client but it is too heavy for the server, it brings too many dependancies and is one more leaky abstraction to think of.

A: Data Grid systems are memory and I/O intensive in general. Using Spring does not affect that (you may argue that Spring creates a lot of beans but with proper Garbage Collection tuning this is not a problem).
On the other hand using Spring (or any other DI) helps you structure and test your code.
So if you are using implementing some sort of server based on Data Grid systems, pay attention to properly adjusting GC, sockets in your OS (memory buffers and socket memories). Those will give you much more benefits than cutting down DI.

A: First, I'm surprised by the "leaky abstraction" comment. I've never heard anyone criticize Spring for this. In fact, it's just the opposite. Spring removes the implementation details of infrastructure such as data grids from your application code and provides a consistent and familiar programming model, allowing you to focus on business logic. Spring does a lot to enhance configuration and access to data grids, especially Gemfire, and generally does not create any runtime overhead per se. During initialization of a Spring application, Spring uses tools like reflection and AOP internally which may increase the start up time of an application, but this has no impact on runtime performance. Spring has been proven in many high-throughput, low-latency production applications. In extreme cases, things like network latency and serialization, concerns external to Spring, are normally the biggest factors affecting performance.
"Spring brings in too many dependencies" is a common complaint, but is a fallacy. I would say Spring brings in the exact right amount of dependencies for what it needs to do. Additionally, Spring Boot starters and the platform BOM do a lot to simplify dependency management so you don't need to worry about version incompatibilities or explicitly declaring common dependencies. I'll have to side with your colleague on this one.


You no longer have to worry momma!
Our Mommy-do lifestyle planner, daily nanny edition is here to keep you in the loop of just about everything!
Having a hard time communicating what you want your nanny to do with your child daily? Or just want to be in the know of your child's progress?
Create a daily plan on your own, together or have your nanny create one for you.
12-week "to-doing" daily undated planner for your nanny. Create a schedule with goals and easily track your nanny's progress with your child throughout the week.
Jot down any notes your have for your nanny each day to ensure you do not forget what you would like to discuss with him/her.
Create a weekly meal planner to ensure your nanny is feeding your child all the nutrients you would like your child to eat.
Nanny "to-doing" list for any items you need your nanny to complete for you, create a daily agenda to share a clear understanding of what you would like your nanny to do for the day with your child, goal setting to ensure your nanny knows what your main goals are for your child today or this week.
Create activities or games in the development/ life skills milestone goals section for your nanny and the time you would like them to spend on each area. Your nanny can circle the status (work on/got it) to let you know if your child needs continuing education in this area.
Create a social activity or get outside time for your nanny to ensure your child is getting the exercise, fresh air or socialization daily.
Have your nanny write down their reflection for the week along with any wins or improvements. Feel as if you were at home with your child.
Developmental milestone & life skill milestone checklists throughout your child's first 3 years.


of the piano 300 years ago centered Western music on the keyboard.
deeply disruptive ever since the invention of the gramophone. When John D.
gamelan orchestras, local musicians were perplexed. Why copy a performance?
obsolete piece when it was so easy to get fresh music?
shorter, more melodic and more precise.
vigorously. Music lived in its constant reproduction.
and a network of service and repair outlets.
things truly valuable are those which cannot be copied.
personalized, you'll have to pay.
customized for the audio parameters of your room or car, you'll pay for it.
establish a relationship with the band by paying.
The quality least plentiful in a world of rampant free copies is attention.
recommend and present selected material to them in an easy and fun manner.
like than to find it for free.
lies. This third power is liquidity, and it will take music beyond Napster.
music that you listen to, or music that you borrow.
free; it was all the things you could do with it.
piece, or to draw it out so that it takes twice as long to play.
With digitization, music went from being a noun, to a verb, once again.
aren't that creative or willing to take time to create, went the argument.
is probably the largest creative spell that civilization has witnessed.
from now to a time when everyone makes music in a small, amateur way.
professional musician is in flux. But again, it has always been so.
of a vagabond. Even the most successful musicians were mistrusted.
a few hundred years ago. Mozart never had it so good.
use is the company's to pass out, free of charge.
unskilled population create something that will be appreciated by many?
families. Music does not have to be widely popular to be desired.
reorder songs on your own disc.
just as some of the best directors today produce only very good commercials.
are remix-ready in all 24 tracks.
it, even though you could wait and copy it at no cost later.
performance to exquisitely match the acoustics of your living room.
that it's worth $5 to you to buy an authenticated official version.
devoted to streaming only their music.
possible to find music ''similar to this music'' in mood, tempo and sound.
ads and artwork -- all stored on a well-designed artifact in limited editions.
because it is simply easier and a better experience all around.
possibilities of music expand, so do our own.
Next by Date: <nettime> the patron saint of copyleft?


text:
View only Jobs
Post Resume & search with
Employers Post Jobs Today
Find a home or rental
Search builder communities
Place an ad or search ads
New Auto Listings
Classics & Antiques
Search over 250 listings
Buy or sell a full range of products & services
Pickup driver accused of causing 16-bicycle crash
By Bob Susnjara | Daily Herald Staff
Luke Seemann says he'll ride on St. Mary's Road in Libertyville Township on Saturday, one week after being in a 16-bicycle crash authorities blame on a pickup truck driver.
"I'm a little nervous," said Seemann, 31, of Chicago, and a XXX Racing-AthletiCo's competitive team member. "But I don't want to be intimidated."
Lake County sheriff's Sgt. Christopher Thompson said the crash happened about 9:05 a.m. Sept. 22. Three bikers riding in the single-file pack suffered non-life-threatening injuries.
Thomas F. Lynch, 57, of Fort Lauderdale, Fla., was charged with improper lane usage and failure to provide aid and information. He was given a notice to appear in Lake County court Oct. 29 on the misdemeanor charges.
Lynch disagreed with the version of events from police, the bikers and an independent witness.
"They're lying through their teeth," he said Thursday before referring further questions to his attorney.
Lynch was driving a 1996 GMC Sierra truck north on St. Mary's Road near Everett Road when he passed the bicyclists on the left, cut back to the right and slammed his brakes, Thompson said.
Seemann said the bikers with XXX Racing-AthletiCo had a split-second to react. He said one rider, 31-year-old Chris McNally of Chicago, sliced his shin on the truck's tailpipe.
Thompson said the 16 bikers crashed and piled up, with some landing in a ditch.
"It's shock," Seemann said. "It's disbelief. Once it settles down, it's anger and frustration."
McNally and Grant Davis, 26, of Chicago were treated at the scene for minor injuries. Thompson said Robert Willems, 39, of Chicago, was treated at Condell Medical Center in Libertyville.
Lynch kept driving after the cyclists went down, then telephoned sheriff's police to report side-view mirror damage. Thompson said Lynch followed a direction to return to the crash site.
Thompson said Lynch first told deputies he heard a thump while driving and thought a bicyclist punched his truck. Police said Lynch later stated he jammed his brakes in front of the bikers to avoid hitting a squirrel.
Before the crash, Thompson said, a 51-year-old Mettawa man safely passed the cyclists on northbound St. Mary's Road. Authorities said that driver, through his rear-view mirror, witnessed Lynch cut in front of the bikers and suddenly brake.
Seemann said he believes Lynch, like other motorists, became frustrated with the riders. He said his team and other bikers frequently use St. Mary's Road, in part because it isn't congested.
"I don't think he was trying to hurt us," Seemann said. "I do think he was trying to scare us."
Thompson said bicyclists may drive on streets with motor vehicles as long as Illinois' rules of the road are followed. A new state law also requires motorists to provide cyclists a 3-foot buffer when passing them on roadways.
XXX Racing-AthletiCo's bikers typically journey from Chicago to Highland Park, where they make a pit stop. Some bicyclists continue north to St. Mary's Road near Libertyville.
Seemann said bicycle and walking paths won't work for his group because the racers travel too fast and would pose a danger to others.
"I think everyone needs to be aware we're trying to share the road," he said.
Copyright © 2010 Paddock Publications, Inc. | Privacy Policy | Terms of Service |


Atmospheric Effects, such as Bubble Machines, Smoke Machines and Haze Machines are set up to highlight the lighting effects you install to any location.
A Bubble Machine will spray a steady stream of bubbles and work very much like a fog effects - people can see lights bounce through and off them as they travel around the dancefloor. Bubbles are fun and great in a wide range of uses.
Smoke Machines are the most popular and easy way to highlight your lighting effects in any situation, as the beams of light are much more visible when there is a fog. Smoke machines run on special fluid that will heat up in your smoke machine before spraying out to your audience on either a timed or manual push button release.
Haze Machines are similar to smoke, but contain a fluid that is much more transparent and subtle when compared to smoke or fog. Haze machines are therefore used widely in stadiums or concert venues to create an atmosphere perfect for the event without fear of having thick plumes of smoke that does not move around so easily as haze effects.
Store DJ stocks a large range of Atmospheric Effects, such as Smoke, Haze and Bubble and we understand the difference between all the products on offer, so if you need any help in choosing the right Atmospheric effect for your venue, visit us or click below to view more.


text:
Montrose Press Print Subscribers: Digital Access is included with your subscription. Activate
Montrose Press Print Subscribers:
Rack and Dealer Locations
Local and National Jobs
Sharon's Son
Have a question? Please give us a call at 970-249-3444
Habitat for Humanity's new triplex is almost ready for families to move in.
(Montrose Daily Press/ Justin Tubbs)
Stakeholders weigh strategies to address hunger for housing
Katharhynn Heidelberg | katharhynnh@montrosepress.com
Katharhynn Heidelberg
Assistant Editor and Senior Writer
It's no secret that low rental inventory and rising home costs are straining Montrose's housing resources. To move toward a solution, organizations and local governments need a targeted approach, based on data, not just anecdotes, members of a regional stakeholder group say.
They are trying to tackle the housing crunch on a regional basis, one that does not stop at arbitrary jurisdictional lines.
"My big issue is everybody keeps talking about affordable housing, but nobody has been able to quantify what we really need," said Montrose County Commissioner Sue Hansen on Friday, fresh from a Washington, D.C., roundtable on housing.
Secretary of Housing and Urban Development Ben Carson invited county commissioners from across the nation to discuss issues, specifically the federal regulations that may be hobbling their efforts to supply needed housing.
Hansen said Carson is "an inspirational leader," who was more interested in hearing the counties' issues. "One of the things about this administration that I find satisfying is they are looking at local officials. It sure makes you feel like you're being listened to. It was very beneficial," Hansen said.
Local housing issues are driving a regional needs assessment that moves beyond the general understanding that there are insufficient affordable houses and rentals, Hansen said.
"We want to go about it in a wise way and not be reactive, but proactive," she said.
A targeted approach with specific information will help the region tap into new state resources, said Erica Weeks, executive director of Habitat for Humanity of the San Juans.
Weeks, with Hansen, is part of the stakeholder group, which also consists of representatives from the City of Montrose, Montrose County Housing Authority Executive Director Susan Barrientos, representatives from Housing Resources of Western Colorado and others with a direct hand in meeting housing needs.
Weeks said recent state legislation allocated one of the most significant pots of money for housing needs, in the neighborhood of $70 million.
"With that, what the legislation is going to do is create availability of funding to meet regional housing needs, but regions need to have a good idea of what priorities are," Weeks said.
The stakeholders are working to line up hard data.
"Resources are always limited, so we want to (prioritize) in the most strategic way possible," she said.
Although there are jurisdictional boundaries — between the city and county, for example — local markets spill over them and intersect.
"In terms of local markets, we can draw boundaries that exist along city, county (lines) … but we know the region operates as a market as a whole and there are not invisible boundaries. Our group has been talking about the best way to truly understand regional housing needs and we believe that overlaps into regional markets," Weeks said.
The idea is to assess strategies and priorities from homelessness to homeownership and, from there, better allocate resources, she said.
"I don't necessarily see the entire state being on the bandwagon of looking at housing on a regional perspective; it is easier to look at it on a jurisdictional perspective. What I'm really proud of our stakeholders for doing is acknowledging this is a regional issue," Weeks said.
Immediate needs
The Montrose County Housing Authority needs more funding from HUD, both to cut down its wait list, but also to help recipients of the federal Section 8 housing vouchers it administers be able to afford rent.
Barrientos during a Wednesday meeting of the Montrose Regional Council of Governments said MCHA began the year with a waiting list of about 200 people. The list was so long, MCHA had to stop taking applications for now.
"We need more of a HUD budget. Our payment standards don't even begin to compare to market rate, so our people have a hard time finding a rental," Barrientos said.
The waiting list was closed in mid-March, meaning MCHA is not taking applications and probably won't resume until this time next year.
"We have, however, been removing people from the wait listing, issuing vouchers, a few a month," Barrientos said.
The housing crunch also affects school districts, which, statewide, are grappling with the issue of student homelessness, she also said.
"We keep plugging away, but it's an uphill battle," Barrientos said.
Some affordable housing options are coming online in Montrose.
Habitat's triplex units on South Park Avenue are close to being ready for occupancy, after a few hiccups including, most recently, the theft of interior doors from the homes.
"We are excited to wrap up this project. We're excited to start in on new projects that can meet the community's needs," Weeks said.
Barrientos on Wednesday spotlighted the Woodgate Trails apartment complex, which recently opened for people 55 and older.
Woodgate Trails is a tax-credit property, with 50 one- or two-bedroom units. The project's developer is required to fill the 50 units, but, although nearly 200 applications were submitted, there were specifications with respect to income that have left about 19 of the units unfilled, Barrientos said.
Some of the units needed to be filled by people who make 40 percent of the area median income (AMI); others were designed for occupancy by those making 30 percent AMI, she said. Still other units are structured for 50 percent AMI.
The AMI in Montrose is $44,000.
"So they have filled the 30 percents very quickly and still had over 45 to 50 people that qualified for the 30 percent. Those people just didn't get helped, basically," Barrientos said.
Any housing helps, Montrose City Councilor Judy Ann Files said. The city was the pass-through agent for Woodgate Trails' Department of Local Affairs funding.
"We are so desperate, even for rentals, in these smaller areas. Anything we can get, whether it be people who are building apartments, or taking advantage of new zoning to put two or more units on a lot downtown — anything like that is going to help the housing," Files said.
Colorado Outdoors LLC earlier this year received low-income housing tax credits through the state, with which to offset the costs of building workforce housing at its business and residential park in northern Montrose.
Files welcomes that, but it will take time to actually build the units, she said.
"We need housing now," she said, so the city is doing what it can to provide incentives.
Ouray and San Miguel counties have done their own housing needs assessments, but that data could be a building point for broader understanding, Weeks said.
"Housing is one of those issues that is not relegated to our own little corner. Housing overlaps onto so many other aspects of community wellbeing. If you don't have houses, it doesn't matter how many jobs you say you can attract, if they (workers) don't have a place to live," she said.
" … We understand this is kind of our baseline. We want to be really specific so we are working from data and not what we feel is true."
Hansen pointed to people commuting to Telluride for jobs — all the way from Mesa County. "We decided looking at it regionally was smarter. We are exploring how we do that. Before we start building or planning, we need to think about the options," she said.
The meeting in Washington was revelatory, she added.
"This is not a Colorado issue. This is a nationwide issue. We have to do it in a way that is good for the community," Hansen said.
She took some time in D.C. to visit the National Association of Counties, which she said has data Montrose could possibly extrapolate for its needs assessment.
"You have to know the data and what you're really dealing with before you embark on a broad-based effort," Hansen said.
The whole goal is to make solid decisions about housing, and Habitat is a natural role model, Hansen said.
"They're already doing this. I know the county doesn't want to become a builder of affordable homes," she said — but it does want to help ensure there is ready inventory for people moving here for work, as well as for current residents, so they can remain part of the community.
Factors that could be assessed include commuter traffic, wage leakage — where wages are earned in one community, but spent in another — and the possibility of rehabbing existing "entry-level" mobile home housing.
Then stakeholders could approach economic development entities to see whether people are not bringing jobs to town because of a lack of housing, Hansen said.
Montrose has many tourism-based jobs, so it's worth looking at whether it has jobs that enable people to buy homes, Hansen said in offering an example of factors to assess.
"It's really collecting the data. We need more data to be able to make some of these decisions," she said.
The stakeholder group is putting together a request for information document, which would precede a formal request for proposals for the needs assessment.
"We are not wanting to waste time on this, because the funding is from the state Legislature and is going to start being available next year," Weeks said.
"We're preparing in as strategic of a way as possible to be ready for when funding is available, so we can maximize local dollars with what's available outside, which lessens the costs of meeting our needs."
Katharhynn Heidelberg is the Montrose Daily Press assistant editor and senior writer. Follow her on Twitter, @kathMDP.
Sue Hansen
Erica Weeks
Susan Barrientos
Follow Katharhynn Heidelberg
Seattle woman killed in ice slide
John Alvin Stewart
CPW implements catch-and-release on 2-mile stretch of Uncompahgre
Proximity Space scores more funding through opportunity zones
County to end family planning, immunization services
Mortuary 'atrocity' spurs bill to make abuse of corpse a felony
Commissioners, with federal agencies, weigh salinity control in Paradox Valley
Cassandra 'Cassie' Nielsen
Montrose's Got Talent competition kicks off with auditions
Court dismisses two 'body brokers' and hospice from mortuary lawsuit
Copyright © 1998- • Montrose Daily Press • 3684 N Townsend Ave, Montrose, CO 81401 | Terms of Use | Privacy Policy | Contact Us |


text:
package org.jfree.chart.axis;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.Paint;
import java.awt.Shape;
import java.awt.Stroke;
import java.awt.geom.Rectangle2D;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.text.NumberFormat;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;

import org.jfree.chart.event.AxisChangeEvent;
import org.jfree.chart.plot.Plot;
import org.jfree.chart.plot.PlotRenderingInfo;
import org.jfree.chart.plot.ValueAxisPlot;
import org.jfree.chart.util.ParamChecks;
import org.jfree.data.Range;
import org.jfree.io.SerialUtilities;
import org.jfree.text.TextUtilities;
import org.jfree.ui.RectangleEdge;
import org.jfree.ui.TextAnchor;
import org.jfree.util.PaintUtilities;

/**
 * A standard linear value axis that replaces integer values with symbols.
 */
public class SymbolAxis extends NumberAxis implements Serializable {

    /** For serialization. */
    private static final long serialVersionUID = 7216330468770619716L;

    /** The default grid band paint. */
    public static final Paint DEFAULT_GRID_BAND_PAINT
            = new Color(232, 234, 232, 128);

    /**
     * The default paint for alternate grid bands.
     *
     * @since 1.0.7
     */
    public static final Paint DEFAULT_GRID_BAND_ALTERNATE_PAINT
            = new Color(0, 0, 0, 0);  // transparent

    /** The list of symbols to display instead of the numeric values. */
    private List symbols;

    /** Flag that indicates whether or not grid bands are visible. */
    private boolean gridBandsVisible;

    /** The paint used to color the grid bands (if the bands are visible). */
    private transient Paint gridBandPaint;

    /**
     * The paint used to fill the alternate grid bands.
     *
     * @since 1.0.7
     */
    private transient Paint gridBandAlternatePaint;

    /**
     * Constructs a symbol axis, using default attribute values where
     * necessary.
     *
     * @param label  the axis label (null permitted).
     * @param sv  the list of symbols to display instead of the numeric
     *            values.
     */
    public SymbolAxis(String label, String[] sv) {
        super(label);
        this.symbols = Arrays.asList(sv);
        this.gridBandsVisible = true;
        this.gridBandPaint = DEFAULT_GRID_BAND_PAINT;
        this.gridBandAlternatePaint = DEFAULT_GRID_BAND_ALTERNATE_PAINT;
        setAutoTickUnitSelection(false, false);
        setAutoRangeStickyZero(false);

    }

    /**
     * Returns an array of the symbols for the axis.
     *
     * @return The symbols.
     */
    public String[] getSymbols() {
        String[] result = new String[this.symbols.size()];
        result = (String[]) this.symbols.toArray(result);
        return result;
    }

    /**
     * Returns true if the grid bands are showing, and
     * false otherwise.
     *
     * @return true if the grid bands are showing, and
     *         false otherwise.
     *
     * @see #setGridBandsVisible(boolean)
     */
    public boolean isGridBandsVisible() {
        return this.gridBandsVisible;
    }

    /**
     * Sets the visibility of the grid bands and notifies registered
     * listeners that the axis has been modified.
     *
     * @param flag  the new setting.
     *
     * @see #isGridBandsVisible()
     */
    public void setGridBandsVisible(boolean flag) {
        this.gridBandsVisible = flag;
        fireChangeEvent();
    }

    /**
     * Returns the paint used to color the grid bands.
     *
     * @return The grid band paint (never null).
     *
     * @see #setGridBandPaint(Paint)
     * @see #isGridBandsVisible()
     */
    public Paint getGridBandPaint() {
        return this.gridBandPaint;
    }

    /**
     * Sets the grid band paint and sends an {@link AxisChangeEvent} to
     * all registered listeners.
     *
     * @param paint  the paint (null not permitted).
     *
     * @see #getGridBandPaint()
     */
    public void setGridBandPaint(Paint paint) {
        ParamChecks.nullNotPermitted(paint, "paint");
        this.gridBandPaint = paint;
        fireChangeEvent();
    }

    /**
     * Returns the paint used for alternate grid bands.
     *
     * @return The paint (never null).
     *
     * @see #setGridBandAlternatePaint(Paint)
     * @see #getGridBandPaint()
     *
     * @since 1.0.7
     */
    public Paint getGridBandAlternatePaint() {
        return this.gridBandAlternatePaint;
    }

    /**
     * Sets the paint used for alternate grid bands and sends a
     * {@link AxisChangeEvent} to all registered listeners.
     *
     * @param paint  the paint (null not permitted).
     *
     * @see #getGridBandAlternatePaint()
     * @see #setGridBandPaint(Paint)
     *
     * @since 1.0.7
     */
    public void setGridBandAlternatePaint(Paint paint) {
        ParamChecks.nullNotPermitted(paint, "paint");
        this.gridBandAlternatePaint = paint;
        fireChangeEvent();
    }

    /**
     * This operation is not supported by this axis.
     *
     * @param g2  the graphics device.
     * @param dataArea  the area in which the plot and axes should be drawn.
     * @param edge  the edge along which the axis is drawn.
     */
    @Override
    protected void selectAutoTickUnit(Graphics2D g2, Rectangle2D dataArea,
            RectangleEdge edge) {
        throw new UnsupportedOperationException();
    }

    /**
     * Draws the axis on a Java 2D graphics device (such as the screen or a
     * printer).
     *
     * @param g2  the graphics device (null not permitted).
     * @param cursor  the cursor location.
     * @param plotArea  the area within which the plot and axes should be drawn
     *                  (null not permitted).
     * @param dataArea  the area within which the data should be drawn
     *                  (null not permitted).
     * @param edge  the axis location (null not permitted).
     * @param plotState  collects information about the plot
     *                   (null permitted).
     *
     * @return The axis state (never null).
     */
    @Override
    public AxisState draw(Graphics2D g2, double cursor, Rectangle2D plotArea,
            Rectangle2D dataArea, RectangleEdge edge,
            PlotRenderingInfo plotState) {

        AxisState info = new AxisState(cursor);
        if (isVisible()) {
            info = super.draw(g2, cursor, plotArea, dataArea, edge, plotState);
        }
        if (this.gridBandsVisible) {
            drawGridBands(g2, plotArea, dataArea, edge, info.getTicks());
        }
        return info;

    }

    /**
     * Draws the grid bands.  Alternate bands are colored using
     * gridBandPaint (DEFAULT_GRID_BAND_PAINT by
     * default).
     *
     * @param g2  the graphics target (null not permitted).
     * @param plotArea  the area within which the plot is drawn
     *     (null not permitted).
     * @param dataArea  the data area to which the axes are aligned
     *     (null not permitted).
     * @param edge  the edge to which the axis is aligned (null not
     *     permitted).
     * @param ticks  the ticks (null not permitted).
     */
    protected void drawGridBands(Graphics2D g2, Rectangle2D plotArea,
            Rectangle2D dataArea, RectangleEdge edge, List ticks) {
        Shape savedClip = g2.getClip();
        g2.clip(dataArea);
        if (RectangleEdge.isTopOrBottom(edge)) {
            drawGridBandsHorizontal(g2, plotArea, dataArea, true, ticks);
        } else if (RectangleEdge.isLeftOrRight(edge)) {
            drawGridBandsVertical(g2, plotArea, dataArea, true, ticks);
        }
        g2.setClip(savedClip);
    }

    /**
     * Draws the grid bands for the axis when it is at the top or bottom of
     * the plot.
     *
     * @param g2  the graphics target (null not permitted).
     * @param plotArea  the area within which the plot is drawn (not used here).
     * @param dataArea  the area for the data (to which the axes are aligned,
     *     null not permitted).
     * @param firstGridBandIsDark  True: the first grid band takes the
     *                             color of gridBandPaint.
     *                             False: the second grid band takes the
     *                             color of gridBandPaint.
     * @param ticks  a list of ticks (null not permitted).
     */
    protected void drawGridBandsHorizontal(Graphics2D g2,
            Rectangle2D plotArea, Rectangle2D dataArea,
            boolean firstGridBandIsDark, List ticks) {

        boolean currentGridBandIsDark = firstGridBandIsDark;
        double yy = dataArea.getY();
        double xx1, xx2;

        //gets the outline stroke width of the plot
        double outlineStrokeWidth = 1.0;
        Stroke outlineStroke = getPlot().getOutlineStroke();
        if (outlineStroke != null && outlineStroke instanceof BasicStroke) {
            outlineStrokeWidth = ((BasicStroke) outlineStroke).getLineWidth();
        }

        Iterator iterator = ticks.iterator();
        ValueTick tick;
        Rectangle2D band;
        while (iterator.hasNext()) {
            tick = (ValueTick) iterator.next();
            xx1 = valueToJava2D(tick.getValue() - 0.5d, dataArea,
                    RectangleEdge.BOTTOM);
            xx2 = valueToJava2D(tick.getValue() + 0.5d, dataArea,
                    RectangleEdge.BOTTOM);
            if (currentGridBandIsDark) {
                g2.setPaint(this.gridBandPaint);
            }
            else {
                g2.setPaint(this.gridBandAlternatePaint);
            }
            band = new Rectangle2D.Double(Math.min(xx1, xx2),
                    yy + outlineStrokeWidth, Math.abs(xx2 - xx1),
                    dataArea.getMaxY() - yy - outlineStrokeWidth);
            g2.fill(band);
            currentGridBandIsDark = !currentGridBandIsDark;
        }
    }

    /**
     * Draws the grid bands for an axis that is aligned to the left or
     * right of the data area (that is, a vertical axis).
     *
     * @param g2  the graphics target (null not permitted).
     * @param plotArea  the area within which the plot is drawn (not used here).
     * @param dataArea  the area for the data (to which the axes are aligned,
     *     null not permitted).
     * @param firstGridBandIsDark  True: the first grid band takes the
     *                             color of gridBandPaint.
     *                             False: the second grid band takes the
     *                             color of gridBandPaint.
     * @param ticks  a list of ticks (null not permitted).
     */
    protected void drawGridBandsVertical(Graphics2D g2, Rectangle2D plotArea,
            Rectangle2D dataArea, boolean firstGridBandIsDark,
            List ticks) {

        boolean currentGridBandIsDark = firstGridBandIsDark;
        double xx = dataArea.getX();
        double yy1, yy2;

        //gets the outline stroke width of the plot
        double outlineStrokeWidth = 1.0;
        Stroke outlineStroke = getPlot().getOutlineStroke();
        if (outlineStroke != null && outlineStroke instanceof BasicStroke) {
            outlineStrokeWidth = ((BasicStroke) outlineStroke).getLineWidth();
        }

        Iterator iterator = ticks.iterator();
        ValueTick tick;
        Rectangle2D band;
        while (iterator.hasNext()) {
            tick = (ValueTick) iterator.next();
            yy1 = valueToJava2D(tick.getValue() + 0.5d, dataArea,
                    RectangleEdge.LEFT);
            yy2 = valueToJava2D(tick.getValue() - 0.5d, dataArea,
                    RectangleEdge.LEFT);
            if (currentGridBandIsDark) {
                g2.setPaint(this.gridBandPaint);
            }
            else {
                g2.setPaint(this.gridBandAlternatePaint);
            }
            band = new Rectangle2D.Double(xx + outlineStrokeWidth,
                    Math.min(yy1, yy2), dataArea.getMaxX() - xx
                    - outlineStrokeWidth, Math.abs(yy2 - yy1));
            g2.fill(band);
            currentGridBandIsDark = !currentGridBandIsDark;
        }
    }

    /**
     * Rescales the axis to ensure that all data is visible.
     */
    @Override
    protected void autoAdjustRange() {
        Plot plot = getPlot();
        if (plot == null) {
            return;  // no plot, no data
        }

        if (plot instanceof ValueAxisPlot) {

            // ensure that all the symbols are displayed
            double upper = this.symbols.size() - 1;
            double lower = 0;
            double range = upper - lower;

            // ensure the autorange is at least <minRange> in size...
            double minRange = getAutoRangeMinimumSize();
            if (range < minRange) {
                upper = (upper + lower + minRange) / 2;
                lower = (upper + lower - minRange) / 2;
            }

            // this ensure that the grid bands will be displayed correctly.
            double upperMargin = 0.5;
            double lowerMargin = 0.5;

            if (getAutoRangeIncludesZero()) {
                if (getAutoRangeStickyZero()) {
                    if (upper <= 0.0) {
                        upper = 0.0;
                    } else {
                        upper = upper + upperMargin;
                    }
                    if (lower >= 0.0) {
                        lower = 0.0;
                    } else {
                        lower = lower - lowerMargin;
                    }
                } else {
                    upper = Math.max(0.0, upper + upperMargin);
                    lower = Math.min(0.0, lower - lowerMargin);
                }
            } else {
                if (getAutoRangeStickyZero()) {
                    if (upper <= 0.0) {
                        upper = Math.min(0.0, upper + upperMargin);
                    } else {
                        upper = upper + upperMargin * range;
                    }
                    if (lower >= 0.0) {
                        lower = Math.max(0.0, lower - lowerMargin);
                    } else {
                        lower = lower - lowerMargin;
                    }
                } else {
                    upper = upper + upperMargin;
                    lower = lower - lowerMargin;
                }
            }
            setRange(new Range(lower, upper), false, false);
        }
    }

    /**
     * Calculates the positions of the tick labels for the axis, storing the
     * results in the tick label list (ready for drawing).
     *
     * @param g2  the graphics device.
     * @param state  the axis state.
     * @param dataArea  the area in which the data should be drawn.
     * @param edge  the location of the axis.
     *
     * @return A list of ticks.
     */
    @Override
    public List refreshTicks(Graphics2D g2, AxisState state,
            Rectangle2D dataArea, RectangleEdge edge) {
        List ticks = null;
        if (RectangleEdge.isTopOrBottom(edge)) {
            ticks = refreshTicksHorizontal(g2, dataArea, edge);
        } else if (RectangleEdge.isLeftOrRight(edge)) {
            ticks = refreshTicksVertical(g2, dataArea, edge);
        }
        return ticks;
    }

    /**
     * Calculates the positions of the tick labels for the axis, storing the
     * results in the tick label list (ready for drawing).
     *
     * @param g2  the graphics device.
     * @param dataArea  the area in which the data should be drawn.
     * @param edge  the location of the axis.
     *
     * @return The ticks.
     */
    @Override
    protected List refreshTicksHorizontal(Graphics2D g2, Rectangle2D dataArea,
            RectangleEdge edge) {

        List ticks = new java.util.ArrayList();

        Font tickLabelFont = getTickLabelFont();
        g2.setFont(tickLabelFont);

        double size = getTickUnit().getSize();
        int count = calculateVisibleTickCount();
        double lowestTickValue = calculateLowestVisibleTickValue();

        double previousDrawnTickLabelPos = 0.0;
        double previousDrawnTickLabelLength = 0.0;

        if (count <= ValueAxis.MAXIMUM_TICK_COUNT) {
            for (int i = 0; i < count; i++) {
                double currentTickValue = lowestTickValue + (i * size);
                double xx = valueToJava2D(currentTickValue, dataArea, edge);
                String tickLabel;
                NumberFormat formatter = getNumberFormatOverride();
                if (formatter != null) {
                    tickLabel = formatter.format(currentTickValue);
                }
                else {
                    tickLabel = valueToString(currentTickValue);
                }

                // avoid to draw overlapping tick labels
                Rectangle2D bounds = TextUtilities.getTextBounds(tickLabel, g2,
                        g2.getFontMetrics());
                double tickLabelLength = isVerticalTickLabels()
                        ? bounds.getHeight() : bounds.getWidth();
                boolean tickLabelsOverlapping = false;
                if (i > 0) {
                    double avgTickLabelLength = (previousDrawnTickLabelLength
                            + tickLabelLength) / 2.0;
                    if (Math.abs(xx - previousDrawnTickLabelPos)
                            < avgTickLabelLength) {
                        tickLabelsOverlapping = true;
                    }
                }
                if (tickLabelsOverlapping) {
                    tickLabel = ""; // don't draw this tick label
                }
                else {
                    // remember these values for next comparison
                    previousDrawnTickLabelPos = xx;
                    previousDrawnTickLabelLength = tickLabelLength;
                }

                TextAnchor anchor;
                TextAnchor rotationAnchor;
                double angle = 0.0;
                if (isVerticalTickLabels()) {
                    anchor = TextAnchor.CENTER_RIGHT;
                    rotationAnchor = TextAnchor.CENTER_RIGHT;
                    if (edge == RectangleEdge.TOP) {
                        angle = Math.PI / 2.0;
                    }
                    else {
                        angle = -Math.PI / 2.0;
                    }
                }
                else {
                    if (edge == RectangleEdge.TOP) {
                        anchor = TextAnchor.BOTTOM_CENTER;
                        rotationAnchor = TextAnchor.BOTTOM_CENTER;
                    }
                    else {
                        anchor = TextAnchor.TOP_CENTER;
                        rotationAnchor = TextAnchor.TOP_CENTER;
                    }
                }
                Tick tick = new NumberTick(new Double(currentTickValue),
                        tickLabel, anchor, rotationAnchor, angle);
                ticks.add(tick);
            }
        }
        return ticks;

    }

    /**
     * Calculates the positions of the tick labels for the axis, storing the
     * results in the tick label list (ready for drawing).
     *
     * @param g2  the graphics device.
     * @param dataArea  the area in which the plot should be drawn.
     * @param edge  the location of the axis.
     *
     * @return The ticks.
     */
    @Override
    protected List refreshTicksVertical(Graphics2D g2, Rectangle2D dataArea,
            RectangleEdge edge) {

        List ticks = new java.util.ArrayList();

        Font tickLabelFont = getTickLabelFont();
        g2.setFont(tickLabelFont);

        double size = getTickUnit().getSize();
        int count = calculateVisibleTickCount();
        double lowestTickValue = calculateLowestVisibleTickValue();

        double previousDrawnTickLabelPos = 0.0;
        double previousDrawnTickLabelLength = 0.0;

        if (count <= ValueAxis.MAXIMUM_TICK_COUNT) {
            for (int i = 0; i < count; i++) {
                double currentTickValue = lowestTickValue + (i * size);
                double yy = valueToJava2D(currentTickValue, dataArea, edge);
                String tickLabel;
                NumberFormat formatter = getNumberFormatOverride();
                if (formatter != null) {
                    tickLabel = formatter.format(currentTickValue);
                }
                else {
                    tickLabel = valueToString(currentTickValue);
                }

                // avoid to draw overlapping tick labels
                Rectangle2D bounds = TextUtilities.getTextBounds(tickLabel, g2,
                        g2.getFontMetrics());
                double tickLabelLength = isVerticalTickLabels()
                    ? bounds.getWidth() : bounds.getHeight();
                boolean tickLabelsOverlapping = false;
                if (i > 0) {
                    double avgTickLabelLength = (previousDrawnTickLabelLength
                            + tickLabelLength) / 2.0;
                    if (Math.abs(yy - previousDrawnTickLabelPos)
                            < avgTickLabelLength) {
                        tickLabelsOverlapping = true;
                    }
                }
                if (tickLabelsOverlapping) {
                    tickLabel = ""; // don't draw this tick label
                }
                else {
                    // remember these values for next comparison
                    previousDrawnTickLabelPos = yy;
                    previousDrawnTickLabelLength = tickLabelLength;
                }

                TextAnchor anchor;
                TextAnchor rotationAnchor;
                double angle = 0.0;
                if (isVerticalTickLabels()) {
                    anchor = TextAnchor.BOTTOM_CENTER;
                    rotationAnchor = TextAnchor.BOTTOM_CENTER;
                    if (edge == RectangleEdge.LEFT) {
                        angle = -Math.PI / 2.0;
                    }
                    else {
                        angle = Math.PI / 2.0;
                    }
                }
                else {
                    if (edge == RectangleEdge.LEFT) {
                        anchor = TextAnchor.CENTER_RIGHT;
                        rotationAnchor = TextAnchor.CENTER_RIGHT;
                    }
                    else {
                        anchor = TextAnchor.CENTER_LEFT;
                        rotationAnchor = TextAnchor.CENTER_LEFT;
                    }
                }
                Tick tick = new NumberTick(new Double(currentTickValue),
                        tickLabel, anchor, rotationAnchor, angle);
                ticks.add(tick);
            }
        }
        return ticks;

    }

    /**
     * Converts a value to a string, using the list of symbols.
     *
     * @param value  value to convert.
     *
     * @return The symbol.
     */
    public String valueToString(double value) {
        String strToReturn;
        try {
            strToReturn = (String) this.symbols.get((int) value);
        }
        catch (IndexOutOfBoundsException  ex) {
            strToReturn = "";
        }
        return strToReturn;
    }

    /**
     * Tests this axis for equality with an arbitrary object.
     *
     * @param obj  the object (null permitted).
     *
     * @return A boolean.
     */
    @Override
    public boolean equals(Object obj) {
        if (obj == this) {
            return true;
        }
        if (!(obj instanceof SymbolAxis)) {
            return false;
        }
        SymbolAxis that = (SymbolAxis) obj;
        if (!this.symbols.equals(that.symbols)) {
            return false;
        }
        if (this.gridBandsVisible != that.gridBandsVisible) {
            return false;
        }
        if (!PaintUtilities.equal(this.gridBandPaint, that.gridBandPaint)) {
            return false;
        }
        if (!PaintUtilities.equal(this.gridBandAlternatePaint,
                that.gridBandAlternatePaint)) {
            return false;
        }
        return super.equals(obj);
    }

    /**
     * Provides serialization support.
     *
     * @param stream  the output stream.
     *
     * @throws IOException  if there is an I/O error.
     */
    private void writeObject(ObjectOutputStream stream) throws IOException {
        stream.defaultWriteObject();
        SerialUtilities.writePaint(this.gridBandPaint, stream);
        SerialUtilities.writePaint(this.gridBandAlternatePaint, stream);
    }

    /**
     * Provides serialization support.
     *
     * @param stream  the input stream.
     *
     * @throws IOException  if there is an I/O error.
     * @throws ClassNotFoundException  if there is a classpath problem.
     */
    private void readObject(ObjectInputStream stream)
        throws IOException, ClassNotFoundException {
        stream.defaultReadObject();
        this.gridBandPaint = SerialUtilities.readPaint(stream);
        this.gridBandAlternatePaint = SerialUtilities.readPaint(stream);
    }

}


text:
Kosovo Coal Mining
Kosovo Opens Key 24.5 Mln Euro Power Substation
November 18 (SeeNews) - Kosovo has opened a 24.5 million euro ($36.6 million) power substation in the western region of Peja.
The 400/110 kilovolt (kV) Peja 3 substation will eliminate the existing bottlenecks in the transmission system and hence stabilise the grid in the entire western Kosovo, the German Embassy, a donor to the project, said in a statement after the inauguration ceremony.
The German government, through its development bank KfW, provided 13.5 million euro as a grant for the project and the Kosovo government put up the remainder.
The financing of the Peja 3 substation is part of an investment package of the German government aimed at ensuring lignite production in the long run and stabilising the transmission network. As part of the package, a coal excavator is to be refurbished at a total cost of 8.0 million euro. The project will precede the opening of the Sibovc mine which should feed Kosovo's lignite-fired power plants from 2010 on.
Kosovo has the world's fifth-largest proven coal reserves, estimated at 12 billion metric tonnes, but due to outdated facilities and lack of funds for extraction it continues to suffer power outages.
The commitments of the German government over the last 10 years for Kosovo amount to more than 200 million euro and focus on support for the energy,
financial and water sector. Over 100 million euro have been provided for energy projects.
($ = 0.6689 euro)
Kosovo's gross power output falls 8.3% y/y in Nov
Kosovo's insurers grow GWPs 14% y/y in 2022
Bulgaria goes up one notch in Corruption Perceptions Index - Transparency Intl
Kosovo's trade gap expands 13.8% y/y in Dec
Kosovo schedule of events Jan 25 - Feb 24
Kosovo Economy Report Q3 2019
Tenders, Electricity – Croatia (Montraker d.o.o.)
The Polish Solar M&A & PPA Market in 2021 & 2022