text:
Baked & Cooled
The Talon Podcast
Talon Film Podcast
Talon Sports podcast
For What It's Earth
Senior Tributes 2021
Redhawks online The student media website of Minnehaha Academy
Home/Talon/Opinions/Contrasting Column: The principled vote
Third-party candidate Gary Johnson speaks
Contrasting Column: The principled vote
Lucas DiBlasi November 8, 2016 Opinions, Talon 98 Views
Don't vote for the 'lesser evil'
"The alternate domination of one faction over another, sharpened by the spirit of revenge, natural to party dissension…is itself a frightful despotism."
George Washington warned the country in his farewell address that falling into a two-party system is a danger to be discouraged and restrained. Fast-forward to today, when the Democratic and the Republican parties dominate the political landscape.
There is enormous pressure to vote for one candidate from these political parties, and stigma against voting third party.
However, RealClearPolitics, a non-partisan political news website, recently found from an average of nine polls that Donald Trump has a 61.1 percent unfavorability rating and Hillary Clinton comes close behind with 53 percent unfavorable. With such dislikable candidates this election, hearkening back to the first president and voting third party is a choice many potential voters consider, even with myriad arguments against this break from political norms.
It is the duty and right of American citizens to vote for whom they agree with. Voting third party is not wasting a vote, throwing away a vote or giving a vote to your potential major-party opponent. Voting for the lesser of two evils is still voting for evil. For change to be made in this country voters need to take a stand for what they believe in.
"[Voting for] someone who might not be the most likely to succeed, but you agree with the most, I think, is very important," said junior Isaac Rose.
Voting based on your principles and values is how voters' voices get heard, it's taking a stand for what you believe in, whether you are voting for someone who has been defined as "major party" or not. Voting third party, if you agree with a particular candidate, is the right thing to do.
Some would argue that voting third party is throwing away your vote, because it is highly unlikely that a third-party candidate will be elected. Most would agree that Donald Trump or Hillary Clinton is going to be the next president, so is voting third party a waste?
"[It is a waste] unless you take a long-term view," said social studies teacher David Hoffner. "I would say, maybe what you're doing is helping to plant seeds of change for your children, or their children."
A vote that makes a change is never a wasted vote, Hoffner explains: "One way [voting third party makes a change] is it could signal to the main parties' issues that they need to consider that they're not."
"As [third-party candidates] come into the spotlight, we'll be able to get a much larger spectrum of political ideas," agreed Rose.
Proponents of voting for major-party candidates also say that one of them will win, so you should choose between the "lesser of two evils." However, voting for the lesser of two evils overlooks the fact that the lesser of two evils is still evil, and there are other options, as Hoffner explains.
"People just fall into these robotic, trance-like movements where they're like, 'I just have to pick one' and I would say, 'no you don't!'" said Hoffner, "You can vote your conscience, and if people will not break out of that mentality, at some point you would want to say, 'I'm not willing to pick the lesser of two evils, because guess what? They're still evil.'"
It may seem to the prospective voter that voting third-party is like casting a vote for the opponent of the major-party candidate they would vote for if they had to. For example, if a voter would vote for Hillary Clinton over Donald Trump, they may vote for Clinton simply because they feel that voting third party would be like voting for Trump.
However, this year, it is entirely possible that Democrats and Republicans will vote third party, and therefore cancel out each other's votes. A Republican voter who is particularly concerned of this may find a Democratic voter (or vice versa) and make a pact that they will vote third party, canceling each other out.
The election of 2016 will go down in history. Authors are writing books all over the country about the polarizing nature of the two major party candidates. Mud-slinging and name calling seems to be at an all-time high, or as some might say, an all time low. Is now really the best time to vote third party?
"If not now, when?" asked Hoffner. "I literally mean that. If you're not pushed to the point where you'd say, 'I'm dissatisfied with these two options,' I don't know when you would [vote third party], if not now."
It is election day, and it is time to vote. This year is the year to vote third party, the year to vote your conscience. The only wasted vote is the unprincipled vote. Voting third party is not a wasted vote, it is making a statement. It is planting seeds of change that may one day grow into a democracy that doesn't confine itself to two dislikable people. It is the American citizen's voice.
Do not murmur, do not mutter, do not whisper, 'Fine, I will vote for Hillary,' or 'Fine, I will vote for Trump,' if that is not who you agree with. Shout: 'I will vote third party. I will have my voice heard, and I will walk out of the voting booth knowing that I have made a small step, yet as large a leap as I can make, toward change in what in many ways is a broken country.' Vote based on principle and value, and wear your 'I voted' button proudly.
About Lucas DiBlasi
Previous Contrasting column: your vote matters
Next Minnehaha's election results..and the senior class impact
The importance of open dialogue
Expert insights on the 2020 election
2020 Election: What Republicans should expect this summer
2020 Election: What Democrats should expect for summer
Are 'snow days' a thing of the past?
A Minnesota tradition could be replaced with distance-learning days Snow days have long been an …
Search Redhawksonline
Redhawksonline
Talon Sports Podcast - John Misa and Owen Hoffner
Photographer of the Week - Here are some photos of
Be sure to tune into the first presidential debate
Two new TFP episodes featuring graduating seniors
@Redhawksonline
New post: What you need to know about COVID-19 vaccines https://t.co/ge2v5QM9gc2021/01/18
New post: Are 'snow days' a thing of the past? https://t.co/fUdD6VlQBG2021/01/18
New post: Owning a small business during a pandemic https://t.co/uHEPOTByM72021/01/18
Fact Check: Does "M... 807 views | by Dominique Hlavac | posted on December 14, 2012
The evolution of Westerns 487 views | by Beck Westrem | posted on May 27, 2020
Frozen meal review, for t... 348 views | by Luke Von Arx | posted on May 21, 2020
Permanent art 305 views | by Maddie Binning | posted on June 24, 2014
Honoring the fallen: Chie... 218 views | by Frances Hoekstra | posted on June 30, 2014
AP World History students... 180 views | by Emma Melling | posted on January 13, 2016
Bdo-te, Mdo-te, Mendota:... 169 views | by Emma Melling | posted on April 20, 2018
High school pranks 166 views | by Meara Cummings | posted on April 22, 2012
Disabled doesn't me... 156 views | by Kitra Katz | posted on December 13, 2012
One on one with Chet Holm... 153 views | by Jake McCabe | posted on October 14, 2019
Choose a story from these categories
Choose a story from these categories Select Category 360 photos 360 videos Antler Archive Art Arts Audio Award Winners Briefs Creative Arts Daily Photo Features Film Food Moment of the Day Multimedia Music News Opinions Photography Polls Slideshows Sports Stories Talon Theater Video Videos 2019 Writing
For staff members
About Redhawksonline
Redhawksonline is the student media website of Minnehaha Academy in Mendota Heights, Minnesota. The online editor is Michael DiNardo; the digital projects editor is Dylan Kiratli. Send comments to journalism adviser Reid Westrem at [email protected]


It contains a natural rhizosphere bacteria that quickly populates the soil, forming protective colonies (biofilm) on and around delicate root hairs and on the leaf surface, preventing and destroying diseases. This biofilm acts as a dense barrier, shielding the roots from disease. It is a gram-positive bacterium which survives in extreme environmental conditions including heat & drought, making it a durable and reliable fungicide that growers can trust.
This unique biological has been studied for years at leading universities and is proven to elicit the plants' natural defense resistance (ISR), to fight against many pathogens. Companion can be used in combination with other fungicides and phosphites (PO3) at reduced label rates, boosting their efficacy, resulting in higher yields and more marketable crop. Companion can be used up to harvest and has a REI of 4 hours. Companion's GB03 is natural rhizosphere microorganism that produces metabolites and enzymes that promote plant growth and vigor and disease resistance. These metabolites will reduce the harmful effects of TDS (Total Dissolved Solids) buildup resulting from repeated applications of both chemicals and high salt fertilizers.
1.GB03 strain of Bacillus subtilis produces a broad spectrum antibiotic, Iturin, an antifungal /antibacterial lipopeptide that destroys pathogens by puncturing their cell walls so that the pathogen desiccates. When used in conjunction with synthetic fungicides, Companion improves their efficacy by allowing them to easily move into the cell.
2.Bacillus subtilis GB03 produces unique metabolites (lipoproteins) that have antagonistic activity against pathogens inhibiting their protein production.
3.Companion activates the plant's natural defenses, Induced Systemic Resistance (ISR), allowing the plant's immune system to ward off disease and reduce its susceptibility to pathogen attack.
4.Unlike traditional fungicides which often stunt plant growth, Companion actually promotes plant vigor. It is a beneficial Rhizobacteria (PGPR) that produces auxin-like hormones. It quickly colonizes on roots forming a biofilm that produces surfactins, improving nutrient uptake, increasing root growth, enhancing lateral branching, and promoting overall vigor and yield, in a wide variety of crops.
Green algae, called cyanobacteria, is a nuisance that can cause negative impact in hydroponic systems. Bacillus subtilis GB03 has the ability of inhibiting or biodegrading cyanobacteria by destroying its cell and plasma membranes, releasing cell organelles. This is an effective and environmentally friendly option for control versus chemical methods such as Algaecides.
Companion® Biological Fungicide WP when used as a foliar spray can have effective preventative control against Bud Rot (Botrytis cinerea), which is one of the most devastating fungal diseases to hit plants. It is easily and quickly spread by spores throughout an entire growing area by means of air and water. It will attack young stems at soil level and mature plants, but it is most devastating on moist and resinous buds. A preventative program using Companion WP should start before any visual signs of the disease are present. Extra care should be taken if, the disease was present in prior seasons since the spores will lay dormant until conditions are conducive for growth and a receptive host becomes available. Companion WP can be foliar applied to all parts of the plant and sprayed to run off. Be sure to spray onto the buds starting at the pre-flower stage and continue spraying the buds every week up to harvest.
Companion® WP can be used alone or in combination with traditional chemical fungicides either in a tank mix or rotational program. Its multiple modes of action help prevent pathogen resistance. This makes Companion® an ideal foundation for an effective Integrated Pest Management (IPM) Program.
OMRI has reviewed and listed Companion WP for use in organic crop production. It is allowed for use in organic production according to the USDA National Organic Program (NOP).
Companion WP can be used on all potting soils such as peat, bark, perlite combinations, or applied as a top dressing on potted plants or outdoor field crops, indoor potted plants. It can be used on all stages of growth including, seed germination, cuttings, potting, plug, sizing up and field applications. Apply both as a foliar spray or soil drench to control fungal disease. DO NOT tank mix with copper products or highly caustic or acid materials. It can be tank mixed with other technical materials, organic products or fertilizers. Always fill tank ¾ full with water before adding concentrates. It is effective on all types of growing medium including bark-containing mixes. It can be incorporated along with starter fertilizers to enhance their efficacy Companion WP is a preventative fungicide. For best results begin applying Companion from the beginning of the crop cycle or prior to the onset of any diseases. Botrytis cinerea (Bud Rot) affects many crops and is prevalent in nature. To prevent Bud Rot be sure to thoroughly wet stems, buds and leaves to run off with a solution of Companion. Remove infected leaves and buds. Companion can be used up to the day of harvest.
Companion Biological Fungicide should be stored in normal warehouse conditions. Keep in cool dry location and out of direct sun light. Do not store above 100o F for long periods of time. Companion Biological Fungicide when mixed with water has neutral pH. Always store in original container and keep tightly sealed after opening. Refer to SDS for additional information on storage, handling, safely, disposal and shipping.
Companion Biological Fungicide Wettable Powder.
Mix 5 - 10 grams per gallon water. For larger applications mix ½-1½ pound per 100 gal water.
Begin applications at time of transplanting or seeding. Apply weekly thought growing cycle.
Mix 5 - 10 grams per gallon water.
Add whenever nutrient solution reservoir is changed. Replenish every 7-10 days or when water is changed.
Drench seed trays until thoroughly soaked at time of seeding. Repeat in 7-14 days.
Thoroughly drench rockwool, or root cubes before sticking cutting. Also, drench trays of cutting, with solution of Companion after planting. Repeat in 7-10 days.
After planting in new container, thoroughly drench plant with diluted Companion.
Foliar Spray: Mix 5 - 10 grams per gallon water. For larger applications mix ½-1½ pound per 100 gal water.
Spray foliar applications weekly throughout entire flowering phase and up until harvest.


text:
Identity Fraud Survey Shows ID Theft up 22% The 2008 Toll: 9.9 Million People, $48 billion-02-09-2009
LOUISVILLE, Ky. (February 9, 2009) - Identity theft rose by nearly 25 percent last year in the United States, according to a new report released today. The 2009 Identity Fraud Survey Report by Javelin Strategy & Research shows that the number of identity fraud victims increased 22 percent to 9.9 million people being hit, at a total cost of $48 billion.
According to James Van Dyke, president and founder of Javelin, this is the first year since the report began in 2004 that the numbers have gone up. "The industry was surprised at the whopping size of identity theft when it was first studied in the early part of the millennium, but it was beaten back strongly. But now, with the tough economy, criminals have become more desperate, and identity theft has gone up for the first time since we began tracking it," Van Dyke says.
Even though the financial services industry has attacked identity theft and fraud, the bad news says is "Consumers are spending more time fixing identity fraud -- an average of 30 hours per case," Van Dyke says. "And institutions are losing customers because of it, because of ill will on the part of consumers."
This is not good news for financial services. "In these cases where consumers spend all of this time, the impact is so dramatic because it is something they won't ever forget," he says. Van Dyke says that because of identity fraud, 15 percent of all customers leave their credit card provider, 17 percent leave their current bank or credit union, and 40 percent of people defrauded through a debit card get a new relationship.
One bright spot in the report is that with institutions doing more than ever, and the great industry efforts to stop fraud, this may be keeping the numbers from being even higher, he says.
Institutions need to be on the lookout for multi-channel crimes, and Van Dyke says vigilance should also be on low tech crimes, because they tend to have higher amounts taken. Even though there are more attacks being done electronically, the traditional low-tech crime still gets the criminal more money most of the time.
There are advantages of using technology to detect identity fraud, and Van Dyke says the common misperception that consumers don't want to be involved in keeping their accounts secure is wrong. "Customers want more control, and institutions should offer tools to customers to check information, account information. Involve your customers in the security process," he adds.
That is not to say that investing in back end fraud technology isn't a good move, "But customers can be just as effective and help catch fraud, because one out of two fraud cases is first detected by the customer," Van Dyke notes.
Some of the report's key findings:
Traditional ID Fraud Still High - Lost or stolen wallets, checkbooks and credit and debit cards are still the most likely avenues of fraudsters' attacks.
Criminals Moving Faster - In cases where identity fraud was reported, 71 percent of the fraud incidents began occurring in less than one week from when the data was first stolen, up from 33 percent in 2005.
Cost to Consumer Going Down - The mean consumer cost of identity fraud decreased 31 percent from $718 to $496 per incident, its lowest level since 2005.
Women Now Bigger Target - This year's Identity Fraud Report finds that women are 26 percent more likely to be victims of identity fraud than men.
Source: Bank Information Security Articles

redpajama_set_name: RedPajamaCommonCrawl


Create and save text messages.
Reads all your contacts in your device.
The app allows the user to create custom text messages. It saves the text messages in a list and contains a list of the users mobile phone contacts, so the user can select a contact and a text instead having to type in a message and a phone number.


text:
Lee got his first opportunity of the spring last week to play defensive line and impressed the staff. He played there in the scrimmage, too. Lee (6-foot-2, 287 pounds) has played 31 games and made 18 starts on the offensive line since arriving at Georgia Tech; he's started at tackle and was willing to learn to play center, where he started to open the 2018 season.
Now he's pushing for a move to defense and is already applauding his own efforts. "I had a hell of a day," Lee said after his first chance to play defense in practice last week. "Coach liked what he saw."
Defensive line coach Larry Knight grinned at the assessment. He likes the enthusiasm, but isn't ready to sign off on the switch. Not just yet.
"I think he's doing a good job," Knight said. "He's only done it a couple of days, but he takes coaching very well. He has a natural takeoff, he's a good kid, he listens. I'm happy with what I'm seeing out of him."
The Yellow Jackets need all the help they can get on the defensive line. The position was already thin with the graduation of Anree Saint-Amour, Kyle Cerge-Henderson and Desmond Branch, then suffered a huge blow with the death of tackle Brandon Adams. It has caused the staff to look outside the box.
"It's a developmental program," outside linebackers coach Marco Coleman said. "If one guy goes down, it's going to be a process because every guy has to continue to work to develop into the type of player we need. How much can you handle? That's kind of a way for us to find out what type of young men we have, what they can handle as we go into the season."
Defensive linemen Antwan Owens and Ja'Quan Griffin spent some time on the offensive side during scrimmage. Others who played both sides at the scrimmage were wide receiver Jalen Camp, cornerback Tre Swilling, receiver Jair Hawkins-Anderson, running back Austin Nash, offensive lineman Brad Morgan, cornerback Ajani Kerr and safety Kaleb Oliver.
Things were kept simple at the scrimmage. Collins said the defense called just six plays and the offense executed "three run and five passing concepts" out of different formations. The team ran 120 plays and ended with a placekicking competition.
The Yellow Jackets practice again on Thursday and will hold their second scrimmage on Saturday. The spring game will be April 26.
Senior Jahaziel Lee takes part in practice during Georgia Tech's 2019 spring training. Danny Karnik - Georgia Tech Athletics Special to the Telegraph
Defensive line coach Larry Knight gives players direction during Georgia Tech's spring practice in 2019. Danny Karnik - Georgia Tech Athletics Special to the Telegraph
Georgia Tech head coach praises team for battling through season, NCAA regional after loss to Auburn
Ga. Tech pitcher emotionally recalls final play that won Auburn Saturday night's game
Georgia Tech falters after rain delay, loses to Auburn in NCAA Atlanta Regional
By Stan Awtrey
Georgia Tech Yellow Jackets lost 4-1 to the Aubunr Tigers Sunday in the NCAA Atlanta Regional. Tech had to win three games (two Sunday, one Monday) to advance out of the regional.
MORE GEORGIA TECH
Georgia Tech rallies to win over Coastal Carolina in NCAA Atlanta Regional. Next up: Auburn
Auburn stuns Georgia Tech with late-game homer to clinch win in NCAA Atlanta Regional
How this Ga. Tech pitcher proved to be game changer in first round win of NCAA Regionals
Georgia Tech faces slow start against Florida A&M but snags victory in NCAA Atlanta Regional
This Pike County native could go pro after NCAA tourney. It hasn't been an easy journey.
Georgia Tech receives No. 3 seed in NCAA tournament. Here's who they'll face


text:
Top of the league
Be part of a winning team
Our men's and women's varsity football teams benefit from high-level coaching through the AFC Bournemouth Community Sports Trust, support which saw the Men's First Team reach the BUCS National Trophy final and the women's team challenge in the Conference Cup final.
That wasn't the only on-pitch success, with the Men's First and Third teams winning their leagues and the women's team taking top spot too.
Steve Cuss, head of AFC Bournemouth's Community Sports Trust and coach and manager of BU's varsity football teams, commented: "It has been a privilege to work with BU's football teams this year and I'm really proud of their successes. We are all looking forward to next season, when I hope we will continue to bring success."
Sports Operations Manager at SportBU Barry Squires added: "With the support of AFC Bournemouth's excellent coaching staff, Bournemouth University football club has flourished with numerous cup and league successes.
"In the past couple of years they have established themselves in the top tiers of British university football and we look forward to continuing this run of success into the future, as well as joining forces on a number of community projects."
Chinese football coaches at BU
A striking partnership


text:
Faysal Shayesteh (* 10. Juni 1991 in Kabul, Afghanistan) ist ein niederländisch-afghanischer Fußballspieler.

Karriere

Verein
In seiner Jugend spielte Shayesteh von 2009 bis 2010 bei dem niederländischen Fußballverein Twente Enschede. 2010 bis Februar 2013 spielte er in einer Fusion der 2. Mannschaften von SC Heerenveen und FC Emmen.

Im Februar 2013 wechselte er zum bulgarischen Erstligisten FK Etar Weliko Tarnowo. Für die Bulgaren absolvierte er insgesamt 10 Partien, in denen er einmal traf. Am Ende der Saison 2012/13 lief sein Vertrag aus und er war vertragslos.

Im Oktober 2013 unterschrieb er einen Vertrag beim thailändischen Verein FC Songkhla. Sein Vertrag wurde nach der Saison 2015 aufgelöst.

Sein nächsten Vertrag unterschrieb er im Juli 2016 beim malaysischen Erstligisten Pahang FA, bei dem es ihn aber nur 4 Monate hielt

In der Winterpause der Saison 2016/17 wechselte er als erster afghanischer Spieler überhaupt in die Persian Gulf Pro League zu Paykan Teheran nach Iran. Nach einem Kurzeinsatz verließ Shayesteh Iran wieder im Sommer.

Er schloss sich dem indischen Erstligisten FC Gokulam an. Nach einer Saison war dieses Kapitel im nächsten Sommer auch wieder zu Ende und es zog ihn zurück nach Thailand.

Erst zu Lampang FC, bevor er 1,5 Jahre zu Air Force United FC wechselte und dann für ein halbes Jahr wieder zurück zu Lampang FC.

Von Januar bis August 2020 war Shayesteh vereinslos, bevor er sich dem niederländischen 5.Ligisten VV Duno Doorwerth anschloss.

Nationalmannschaft
2005 gab Shayesteh sein Debüt für die niederländische U15 unter Wim van Zwam. Insgesamt kommt er auf 3 Einsätze für die U15 der Niederlande.

Am 13. April 2014 gab er in einem Freundschaftsspiel gegen die kirgisische Fußballnationalmannschaft sein Debüt. Sein erstes Länderspieltor war ein Freistoßtor gegen die kuwaitische Nationalmannschaft. Er nahm bei der Südasienmeisterschaft 2015 als Kapitän teil und belegte am Ende den zweiten Rang, nachdem man mit 1:2 Indien im Finale erlag. Shayesteh steuerte 1 Vorlage an dem afghanischen Tor bei.

Beim AFC Challenge Cup 2014 belegte er mit Afghanistan den 4. Platz, nach dem verlorenen Spiel um Platz 3 gegen die Malediven, gegen die man im Elfmeterschießen 7:8 verlor.

Weblinks

Fußballnationalspieler (Afghanistan)
Fußballspieler (SC Heerenveen)
Fußballspieler (FK Etar Weliko Tarnowo)
Fußballspieler (Songkhla United)
Fußballspieler (Sri Pahang FC)
Fußballspieler (Paykan Teheran)
Fußballspieler (Gokulam Kerala FC)
Fußballspieler (Lampang FC)
Fußballspieler (Air Force United)
Teilnehmer an den Asienspielen (Afghanistan)
Afghane
Niederländer
Geboren 1991
Mann

redpajama_set_name: RedPajamaWikipedia


text:
10 Monaco organisers insist F1 race is going ahead
F1 champion Hamilton "not 100%" after being "bed-ridden" by COVID-19
Published on Saturday December 12th 2020
Lewis Hamilton says he feels "not 100%" upon his return to Formula 1 action in Abu Dhabi after being "bed-ridden" by COVID-19 last week.
Seven-time world champion Hamilton was forced to miss last Sunday's Sakhir Grand Prix after testing positive for COVID-19, but recovered from the virus in time to return for Abu Dhabi practice on Friday.
The Mercedes driver qualified third for the season finale at the Yas Marina Circuit, finishing behind Red Bull's Max Verstappen and team-mate Valtteri Bottas.
Hamilton said he was "grateful to be back" in the Mercedes W11, but admits he was "not 100%".
"I can really feel for those who have suffered from it, those that have lost ones from it, and can understand how because it's a nasty virus," Hamilton said.
"I'm not 100%. I still have some feeling within my lungs.
"But nonetheless, normally I would drive even if one of my arms is hanging off. That's what we do as racing drivers. Luckily that's not the case.
"It definitely won't be the easiest of races, physically, but I will manage and give it absolutely everything I've got."
Hamilton was forced to complete 10 days of self-isolation in Bahrain after his positive test, and said he was "bed-ridden" for most of the week.
He explained how he felt a lack of energy compared to normal, and revealed he had lost weight as a result of the virus.
"It's overall energy," Hamilton said.
"One of the symptoms is that it really drains you. I'm trying to sleep as much as I can, but recharging is not as easy as perhaps it normally has been in the past, plus [I lost] a good amount of weight, just in that week.
"As I said, not [feeling] 100% the same as I was the last time I raced.
"But it's by no means going to get in the way of me going out and giving my all tomorrow."
Hamilton missed out on pole position by 0.086 seconds, but felt the damage picked up to his floor after running wide over the kerb at Turn 20 in Q1 was not enough to have changed the result.
"It did have a little bit of damage," Hamilton said.
"It's the first time I've gone wide there all weekend, so just a little bit of damage to the floor.
"I don't think if that hadn't been damaged then I would have got pole. I'm sure it doesn't help, but nonetheless the guys did a great job to try and patch it up. They'll fix it overnight."


text:
Q: Create a autocompleting textbox in Java with a dropdown list I want to create a auto-suggest text box which would query the database at each key release event.
That part is easy, but I want to give nice visual to it. Something similar to the auto-suggest text box we see in websites like searching in Facebook.
How to make such an interface ?
A naive idea would be to have a JList placed just below the text box and set it visible with the results in it on finding one.
Any better idea  or a standard way of doing it?

A: @syb0rg's answer is easier, as it uses an 3rd party library.
However I used an alternate approach:
It uses a custom class called AutoSuggestor which accepts a JTextField, its Window an ArrayList<String> of words to check typed words against, a background color and text color, and suggestion focus colour as well as an opacity value. By passing JTextField reference a DocumentListener is added which will do the work of checking what word is typed and whether to display suggestions or not and if so what suggestions to display. When a word is typed the DocumentListener will firewordTyped(String wordTyped) method with the current word being typed or (at least how much ever of the word has been typed), in wordTyped(..) the word will be checked against those in the AutoSuggestors classes  dictionary which is a basic ArrayList of String this can be set on the fly as seen in the below example:

(For now you will have to use mouse and click the word you want to be auto completed, or use DOWN to transverse suggestions and the textfield and ENTER to select suggestion when traversing using down key. I have not yet implemented UP yet):
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import javax.swing.AbstractAction;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JWindow;
import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;
import javax.swing.border.LineBorder;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;

/**
 * @author David
 */
public class Test {

    public Test() {

        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JTextField f = new JTextField(10);

        AutoSuggestor autoSuggestor = new AutoSuggestor(f, frame, null, Color.WHITE.brighter(), Color.BLUE, Color.RED, 0.75f) {
            @Override
            boolean wordTyped(String typedWord) {

                //create list for dictionary this in your case might be done via calling a method which queries db and returns results as arraylist
                ArrayList<String> words = new ArrayList<>();
                words.add("hello");
                words.add("heritage");
                words.add("happiness");
                words.add("goodbye");
                words.add("cruel");
                words.add("car");
                words.add("war");
                words.add("will");
                words.add("world");
                words.add("wall");

                setDictionary(words);
                //addToDictionary("bye");//adds a single word

                return super.wordTyped(typedWord);//now call super to check for any matches against newest dictionary
            }
        };

        JPanel p = new JPanel();

        p.add(f);

        frame.add(p);

        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new Test();
            }
        });
    }
}

class AutoSuggestor {

    private final JTextField textField;
    private final Window container;
    private JPanel suggestionsPanel;
    private JWindow autoSuggestionPopUpWindow;
    private String typedWord;
    private final ArrayList<String> dictionary = new ArrayList<>();
    private int currentIndexOfSpace, tW, tH;
    private DocumentListener documentListener = new DocumentListener() {
        @Override
        public void insertUpdate(DocumentEvent de) {
            checkForAndShowSuggestions();
        }

        @Override
        public void removeUpdate(DocumentEvent de) {
            checkForAndShowSuggestions();
        }

        @Override
        public void changedUpdate(DocumentEvent de) {
            checkForAndShowSuggestions();
        }
    };
    private final Color suggestionsTextColor;
    private final Color suggestionFocusedColor;

    public AutoSuggestor(JTextField textField, Window mainWindow, ArrayList<String> words, Color popUpBackground, Color textColor, Color suggestionFocusedColor, float opacity) {
        this.textField = textField;
        this.suggestionsTextColor = textColor;
        this.container = mainWindow;
        this.suggestionFocusedColor = suggestionFocusedColor;
        this.textField.getDocument().addDocumentListener(documentListener);

        setDictionary(words);

        typedWord = "";
        currentIndexOfSpace = 0;
        tW = 0;
        tH = 0;

        autoSuggestionPopUpWindow = new JWindow(mainWindow);
        autoSuggestionPopUpWindow.setOpacity(opacity);

        suggestionsPanel = new JPanel();
        suggestionsPanel.setLayout(new GridLayout(0, 1));
        suggestionsPanel.setBackground(popUpBackground);

        addKeyBindingToRequestFocusInPopUpWindow();
    }

    private void addKeyBindingToRequestFocusInPopUpWindow() {
        textField.getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, 0, true), "Down released");
        textField.getActionMap().put("Down released", new AbstractAction() {
            @Override
            public void actionPerformed(ActionEvent ae) {//focuses the first label on popwindow
                for (int i = 0; i < suggestionsPanel.getComponentCount(); i++) {
                    if (suggestionsPanel.getComponent(i) instanceof SuggestionLabel) {
                        ((SuggestionLabel) suggestionsPanel.getComponent(i)).setFocused(true);
                        autoSuggestionPopUpWindow.toFront();
                        autoSuggestionPopUpWindow.requestFocusInWindow();
                        suggestionsPanel.requestFocusInWindow();
                        suggestionsPanel.getComponent(i).requestFocusInWindow();
                        break;
                    }
                }
            }
        });
        suggestionsPanel.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, 0, true), "Down released");
        suggestionsPanel.getActionMap().put("Down released", new AbstractAction() {
            int lastFocusableIndex = 0;

            @Override
            public void actionPerformed(ActionEvent ae) {//allows scrolling of labels in pop window (I know very hacky for now :))

                ArrayList<SuggestionLabel> sls = getAddedSuggestionLabels();
                int max = sls.size();

                if (max > 1) {//more than 1 suggestion
                    for (int i = 0; i < max; i++) {
                        SuggestionLabel sl = sls.get(i);
                        if (sl.isFocused()) {
                            if (lastFocusableIndex == max - 1) {
                                lastFocusableIndex = 0;
                                sl.setFocused(false);
                                autoSuggestionPopUpWindow.setVisible(false);
                                setFocusToTextField();
                                checkForAndShowSuggestions();//fire method as if document listener change occured and fired it

                            } else {
                                sl.setFocused(false);
                                lastFocusableIndex = i;
                            }
                        } else if (lastFocusableIndex <= i) {
                            if (i < max) {
                                sl.setFocused(true);
                                autoSuggestionPopUpWindow.toFront();
                                autoSuggestionPopUpWindow.requestFocusInWindow();
                                suggestionsPanel.requestFocusInWindow();
                                suggestionsPanel.getComponent(i).requestFocusInWindow();
                                lastFocusableIndex = i;
                                break;
                            }
                        }
                    }
                } else {//only a single suggestion was given
                    autoSuggestionPopUpWindow.setVisible(false);
                    setFocusToTextField();
                    checkForAndShowSuggestions();//fire method as if document listener change occured and fired it
                }
            }
        });
    }

    private void setFocusToTextField() {
        container.toFront();
        container.requestFocusInWindow();
        textField.requestFocusInWindow();
    }

    public ArrayList<SuggestionLabel> getAddedSuggestionLabels() {
        ArrayList<SuggestionLabel> sls = new ArrayList<>();
        for (int i = 0; i < suggestionsPanel.getComponentCount(); i++) {
            if (suggestionsPanel.getComponent(i) instanceof SuggestionLabel) {
                SuggestionLabel sl = (SuggestionLabel) suggestionsPanel.getComponent(i);
                sls.add(sl);
            }
        }
        return sls;
    }

    private void checkForAndShowSuggestions() {
        typedWord = getCurrentlyTypedWord();

        suggestionsPanel.removeAll();//remove previos words/jlabels that were added

        //used to calcualte size of JWindow as new Jlabels are added
        tW = 0;
        tH = 0;

        boolean added = wordTyped(typedWord);

        if (!added) {
            if (autoSuggestionPopUpWindow.isVisible()) {
                autoSuggestionPopUpWindow.setVisible(false);
            }
        } else {
            showPopUpWindow();
            setFocusToTextField();
        }
    }

    protected void addWordToSuggestions(String word) {
        SuggestionLabel suggestionLabel = new SuggestionLabel(word, suggestionFocusedColor, suggestionsTextColor, this);

        calculatePopUpWindowSize(suggestionLabel);

        suggestionsPanel.add(suggestionLabel);
    }

    public String getCurrentlyTypedWord() {//get newest word after last white spaceif any or the first word if no white spaces
        String text = textField.getText();
        String wordBeingTyped = "";
        if (text.contains(" ")) {
            int tmp = text.lastIndexOf(" ");
            if (tmp >= currentIndexOfSpace) {
                currentIndexOfSpace = tmp;
                wordBeingTyped = text.substring(text.lastIndexOf(" "));
            }
        } else {
            wordBeingTyped = text;
        }
        return wordBeingTyped.trim();
    }

    private void calculatePopUpWindowSize(JLabel label) {
        //so we can size the JWindow correctly
        if (tW < label.getPreferredSize().width) {
            tW = label.getPreferredSize().width;
        }
        tH += label.getPreferredSize().height;
    }

    private void showPopUpWindow() {
        autoSuggestionPopUpWindow.getContentPane().add(suggestionsPanel);
        autoSuggestionPopUpWindow.setMinimumSize(new Dimension(textField.getWidth(), 30));
        autoSuggestionPopUpWindow.setSize(tW, tH);
        autoSuggestionPopUpWindow.setVisible(true);

        int windowX = 0;
        int windowY = 0;

        windowX = container.getX() + textField.getX() + 5;
        if (suggestionsPanel.getHeight() > autoSuggestionPopUpWindow.getMinimumSize().height) {
            windowY = container.getY() + textField.getY() + textField.getHeight() + autoSuggestionPopUpWindow.getMinimumSize().height;
        } else {
            windowY = container.getY() + textField.getY() + textField.getHeight() + autoSuggestionPopUpWindow.getHeight();
        }

        autoSuggestionPopUpWindow.setLocation(windowX, windowY);
        autoSuggestionPopUpWindow.setMinimumSize(new Dimension(textField.getWidth(), 30));
        autoSuggestionPopUpWindow.revalidate();
        autoSuggestionPopUpWindow.repaint();

    }

    public void setDictionary(ArrayList<String> words) {
        dictionary.clear();
        if (words == null) {
            return;//so we can call constructor with null value for dictionary without exception thrown
        }
        for (String word : words) {
            dictionary.add(word);
        }
    }

    public JWindow getAutoSuggestionPopUpWindow() {
        return autoSuggestionPopUpWindow;
    }

    public Window getContainer() {
        return container;
    }

    public JTextField getTextField() {
        return textField;
    }

    public void addToDictionary(String word) {
        dictionary.add(word);
    }

    boolean wordTyped(String typedWord) {

        if (typedWord.isEmpty()) {
            return false;
        }
        //System.out.println("Typed word: " + typedWord);

        boolean suggestionAdded = false;

        for (String word : dictionary) {//get words in the dictionary which we added
            boolean fullymatches = true;
            for (int i = 0; i < typedWord.length(); i++) {//each string in the word
                if (!typedWord.toLowerCase().startsWith(String.valueOf(word.toLowerCase().charAt(i)), i)) {//check for match
                    fullymatches = false;
                    break;
                }
            }
            if (fullymatches) {
                addWordToSuggestions(word);
                suggestionAdded = true;
            }
        }
        return suggestionAdded;
    }
}

class SuggestionLabel extends JLabel {

    private boolean focused = false;
    private final JWindow autoSuggestionsPopUpWindow;
    private final JTextField textField;
    private final AutoSuggestor autoSuggestor;
    private Color suggestionsTextColor, suggestionBorderColor;

    public SuggestionLabel(String string, final Color borderColor, Color suggestionsTextColor, AutoSuggestor autoSuggestor) {
        super(string);

        this.suggestionsTextColor = suggestionsTextColor;
        this.autoSuggestor = autoSuggestor;
        this.textField = autoSuggestor.getTextField();
        this.suggestionBorderColor = borderColor;
        this.autoSuggestionsPopUpWindow = autoSuggestor.getAutoSuggestionPopUpWindow();

        initComponent();
    }

    private void initComponent() {
        setFocusable(true);
        setForeground(suggestionsTextColor);

        addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent me) {
                super.mouseClicked(me);

                replaceWithSuggestedText();

                autoSuggestionsPopUpWindow.setVisible(false);
            }
        });

        getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, true), "Enter released");
        getActionMap().put("Enter released", new AbstractAction() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                replaceWithSuggestedText();
                autoSuggestionsPopUpWindow.setVisible(false);
            }
        });
    }

    public void setFocused(boolean focused) {
        if (focused) {
            setBorder(new LineBorder(suggestionBorderColor));
        } else {
            setBorder(null);
        }
        repaint();
        this.focused = focused;
    }

    public boolean isFocused() {
        return focused;
    }

    private void replaceWithSuggestedText() {
        String suggestedWord = getText();
        String text = textField.getText();
        String typedWord = autoSuggestor.getCurrentlyTypedWord();
        String t = text.substring(0, text.lastIndexOf(typedWord));
        String tmp = t + text.substring(text.lastIndexOf(typedWord)).replace(typedWord, suggestedWord);
        textField.setText(tmp + " ");
    }
}

As it stands the only possible needed additions IMO is:

*

*UP key Focus traversablity for items within the popup autosuggestions box so we can go in a upward direction.

If there are any kinks lemme know I'll see what I can do. But Seems to be running fine (touch wood).

A: A really easy way to do this is to use the GlazedList implementation of auto-completion. It's very easy to get up and running. You can find it here.
You can install the auto-complete on a JComboBox with only one line of Glazed code, like this:
JComboBox comboBox = new JComboBox();
Object[] elements = new Object[] {"Cat", "Dog", "Lion", "Mouse"};
AutoCompleteSupport.install(comboBox, GlazedLists.eventListOf(elements));

Also SwingX supports auto-complete and might be easier to use than GlazedList.  All you write with SwingX is AutoCompleteDecorator.decorate(comboBox);

A: To use TextAutoCompleter class you need to download a jar file AutoCompleter.jar and add it to library folder of your project. Download link: jar file
In the Main class write the following code:
package autocomplete;

import com.mxrck.autocompleter.TextAutoCompleter;
import java.sql.SQLException;
import javax.swing.JFrame;
import javax.swing.JTextField;

public class AutoComplete {

    JFrame f = new JFrame();
    JTextField t1;

    AutoComplete() throws ClassNotFoundException, SQLException {
        f.setSize(500, 500);
        f.setLocation(500, 100);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setLayout(null);
        f.setVisible(true);

        t1=new JTextField();
        t1.setBounds(50, 80, 200, 20);
        f.add(t1);

        TextAutoCompleter complete = new TextAutoCompleter(t1);
        DBConn conn = new DBConn();
        conn.connection();
        conn.retrieve();

        while(conn.rs.next()) {
            complete.addItem(conn.rs.getString("number"));
        }
    }

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        new AutoComplete();
    }
}

Create separate class for database connection and write the following code:
package autocomplete;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DBConn {

    Connection con;
    ResultSet rs;
    PreparedStatement stat;

    public void connection() throws ClassNotFoundException, SQLException{
        String url = "jdbc:mysql://localhost:3306/";
        String driver = "com.mysql.jdbc.Driver";
        String db = "demo";
        String username = "root";
        String password = "root";
        stat = null;

        Class.forName(driver);
        con = (Connection) DriverManager.getConnection(url + db, username, password);
        System.out.println("Connection Successful");
    }

    public void retrieve() throws SQLException{
        Statement stmt = con.createStatement();
        String query = "select number from phone";
        rs = stmt.executeQuery(query);

        System.out.println("retrieve succesfully");
    }
}

A: Built on top of David's solution:
I added functionality for the UP key, as well added functionality for the ESC key in order to hide the popup window.
In addition to that, you can specify a callback function when constructing a AutoSuggestor object, which will be called when a suggestion from the list is selected.
import javax.swing.border.LineBorder
import java.util.ArrayList
import javax.swing.event.DocumentListener

import java.awt.*
import java.awt.event.*
import javax.swing.*
import javax.swing.event.DocumentEvent

/**
 * Author of the original version: David @ https://stackoverflow.com/users/1133011/david-kroukamp
 */
class Test {
    init {

        val frame = JFrame()
        frame.defaultCloseOperation = JFrame.EXIT_ON_CLOSE

        val f = JTextField(10)

        val autoSuggestor = object : AutoSuggestor(f, frame, ArrayList(), Color.WHITE.brighter(), Color.BLUE, Color.RED, 0.75f) {
            override fun wordTyped(typedWord: String?): Boolean {

                //create list for dictionary this in your case might be done via calling a method which queries db and returns results as arraylist
                val words = ArrayList<String>()
                words.add("hello")
                words.add("heritage")
                words.add("happiness")
                words.add("goodbye")
                words.add("cruel")
                words.add("car")
                words.add("war")
                words.add("will")
                words.add("world")
                words.add("wall")

                setDictionary(words)
                //addToDictionary("bye");//adds a single word

                return super.wordTyped(typedWord)//now call super to check for any matches against newest dictionary
            }
        }

        val p = JPanel()

        p.add(f)

        frame.add(p)

        frame.pack()
        frame.isVisible = true
    }

    companion object {

        @JvmStatic
        fun main(args: Array<String>) {
            SwingUtilities.invokeLater { Test() }
        }
    }
}

internal open class AutoSuggestor(val textField: JTextField, val container: Window, words: ArrayList<String>, popUpBackground: Color, private val suggestionsTextColor: Color, private val suggestionFocusedColor: Color, opacity: Float, private val callback: (String) -> Unit = {}) {
    private val suggestionsPanel: JPanel
    val autoSuggestionPopUpWindow: JWindow
    private var typedWord: String? = null
    private val dictionary = ArrayList<String>()
    private var currentIndexOfSpace: Int = 0
    private var tW: Int = 0
    private var tH: Int = 0
    private val documentListener = object : DocumentListener {
        override fun insertUpdate(de: DocumentEvent) {
            checkForAndShowSuggestions()
        }

        override fun removeUpdate(de: DocumentEvent) {
            checkForAndShowSuggestions()
        }

        override fun changedUpdate(de: DocumentEvent) {
            checkForAndShowSuggestions()
        }
    }

    val addedSuggestionLabels: ArrayList<SuggestionLabel>
        get() {
            val sls = ArrayList<SuggestionLabel>()
            for (i in 0 until suggestionsPanel.componentCount) {
                if (suggestionsPanel.getComponent(i) is SuggestionLabel) {
                    val sl = suggestionsPanel.getComponent(i) as SuggestionLabel
                    sls.add(sl)
                }
            }
            return sls
        }

    //get newest word after last white space if any or the first word if no white spaces
    val currentlyTypedWord: String
        get() {
            val text = textField.text
            var wordBeingTyped = ""
            if (text.contains(" ")) {
                val tmp = text.lastIndexOf(" ")
                if (tmp >= currentIndexOfSpace) {
                    currentIndexOfSpace = tmp
                    wordBeingTyped = text.substring(text.lastIndexOf(" "))
                }
            } else {
                wordBeingTyped = text
            }
            return wordBeingTyped.trim { it <= ' ' }
        }

    init {
        this.textField.document.addDocumentListener(documentListener)

        setDictionary(words)

        typedWord = ""
        currentIndexOfSpace = 0
        tW = 0
        tH = 0

        autoSuggestionPopUpWindow = JWindow(container)
        autoSuggestionPopUpWindow.opacity = opacity

        suggestionsPanel = JPanel()
        suggestionsPanel.layout = GridLayout(0, 1)
        suggestionsPanel.background = popUpBackground

        addFocusListenersToHandleVisibilityOfPopUpWindow()
        addKeyBindingToRequestFocusInPopUpWindow()
    }

    private fun addFocusListenersToHandleVisibilityOfPopUpWindow() {
        textField.addFocusListener(object:FocusListener {
            override fun focusLost(e: FocusEvent?) {
                var focusOnPopUp = false
                for (i in 0 until suggestionsPanel.componentCount) {
                    if (suggestionsPanel.getComponent(i) is SuggestionLabel) {
                        val label = suggestionsPanel.getComponent(i) as SuggestionLabel
                        if (label.isFocused)
                            focusOnPopUp = true
                    }
                }

                if (!focusOnPopUp && !shouldShowPopUpWindow) {
                    autoSuggestionPopUpWindow.isVisible = false
                }
            }
            override fun focusGained(e: FocusEvent?) {
                shouldShowPopUpWindow = false
            }
        })
    }

    private fun addKeyBindingToRequestFocusInPopUpWindow() {
        textField.getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0, true), "Escape released")
        textField.actionMap.put("Escape released", object : AbstractAction() {
            override fun actionPerformed(ae: ActionEvent) {// Hide the popwindow
                shouldShowPopUpWindow = false
                autoSuggestionPopUpWindow.isVisible = false
            }
        })

        textField.getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, 0, true), "Down released")
        textField.actionMap.put("Down released", object : AbstractAction() {
            override fun actionPerformed(ae: ActionEvent) {//focuses the first label on popwindow
                for (i in 0 until suggestionsPanel.componentCount) {
                    if (suggestionsPanel.getComponent(i) is SuggestionLabel) {
                        (suggestionsPanel.getComponent(i) as SuggestionLabel).isFocused = true
                        autoSuggestionPopUpWindow.toFront()
                        autoSuggestionPopUpWindow.requestFocusInWindow()
                        suggestionsPanel.requestFocusInWindow()
                        suggestionsPanel.getComponent(i).requestFocusInWindow()
                        break
                    }
                }
            }
        })

        textField.getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke(KeyEvent.VK_UP, 0, true), "Up released")
        textField.actionMap.put("Up released", object : AbstractAction() {
            override fun actionPerformed(ae: ActionEvent) {//focuses the last label on popwindow
                for (i in 0 until suggestionsPanel.componentCount) {
                    val reverseIndex = suggestionsPanel.componentCount-1 - i
                    if (suggestionsPanel.getComponent(reverseIndex) is SuggestionLabel) {
                        (suggestionsPanel.getComponent(reverseIndex) as SuggestionLabel).isFocused = true
                        autoSuggestionPopUpWindow.toFront()
                        autoSuggestionPopUpWindow.requestFocusInWindow()
                        suggestionsPanel.requestFocusInWindow()
                        suggestionsPanel.getComponent(reverseIndex).requestFocusInWindow()
                        break
                    }
                }
            }
        })

        suggestionsPanel.getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0, true), "Escape released")
        suggestionsPanel.actionMap.put("Escape released", object : AbstractAction() {
            override fun actionPerformed(ae: ActionEvent) {// Hide the popwindow
                shouldShowPopUpWindow = false
                autoSuggestionPopUpWindow.isVisible = false
            }
        })
        suggestionsPanel.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_UP, 0, true), "Up released")
        suggestionsPanel.actionMap.put("Up released", object : AbstractAction() {
            override fun actionPerformed(ae: ActionEvent) {//allows scrolling of labels in pop window (I know very hacky for now :))

                val sls = addedSuggestionLabels
                val max = sls.size

                var indexOfFocusedSuggestion = -1
                for (i in 0 until max) {
                    val sl = sls[i]
                    if ( sl.isFocused )
                        indexOfFocusedSuggestion = i
                }

                if (indexOfFocusedSuggestion - 1 < 0) {
                    sls[indexOfFocusedSuggestion].isFocused = false
                    autoSuggestionPopUpWindow.isVisible = false
                    setFocusToTextField()
                    checkForAndShowSuggestions()//fire method as if document listener change occured and fired it
                }
                else {
                    sls[indexOfFocusedSuggestion].isFocused = false
                    sls[indexOfFocusedSuggestion-1].isFocused = true
                    autoSuggestionPopUpWindow.toFront()
                    autoSuggestionPopUpWindow.requestFocusInWindow()
                    suggestionsPanel.requestFocusInWindow()
                    suggestionsPanel.getComponent(indexOfFocusedSuggestion-1).requestFocusInWindow()
                }

            }
        })
        suggestionsPanel.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, 0, true), "Down released")
        suggestionsPanel.actionMap.put("Down released", object : AbstractAction() {
            override fun actionPerformed(ae: ActionEvent) {//allows scrolling of labels in pop window (I know very hacky for now :))

                val sls = addedSuggestionLabels
                val max = sls.size

                var indexOfFocusedSuggestion = -1
                for (i in 0 until max) {
                    val sl = sls[i]
                    if ( sl.isFocused )
                        indexOfFocusedSuggestion = i
                }

                if (indexOfFocusedSuggestion + 1 >= max) {
                    sls[indexOfFocusedSuggestion].isFocused = false
                    autoSuggestionPopUpWindow.isVisible = false
                    setFocusToTextField()
                    checkForAndShowSuggestions()//fire method as if document listener change occured and fired it
                }
                else {
                    sls[indexOfFocusedSuggestion].isFocused = false
                    sls[indexOfFocusedSuggestion+1].isFocused = true
                    autoSuggestionPopUpWindow.toFront()
                    autoSuggestionPopUpWindow.requestFocusInWindow()
                    suggestionsPanel.requestFocusInWindow()
                    suggestionsPanel.getComponent(indexOfFocusedSuggestion+1).requestFocusInWindow()
                }
            }

        })
    }

    private fun setFocusToTextField() {
        container.toFront()
        container.requestFocusInWindow()
        textField.requestFocusInWindow()
    }

    var shouldShowPopUpWindow = false

    private fun checkForAndShowSuggestions() {
        typedWord = currentlyTypedWord

        suggestionsPanel.removeAll()//remove previos words/jlabels that were added

        //used to calcualte size of JWindow as new Jlabels are added
        tW = 0
        tH = 0

        val added = wordTyped(typedWord)

        if (!added) {
            if (autoSuggestionPopUpWindow.isVisible) {
                autoSuggestionPopUpWindow.isVisible = false
            }
        } else {
            shouldShowPopUpWindow = true
            showPopUpWindow()
            setFocusToTextField()
        }
    }

    protected fun addWordToSuggestions(word: String) {
        val suggestionLabel = SuggestionLabel(word, suggestionFocusedColor, suggestionsTextColor, this, callback)

        calculatePopUpWindowSize(suggestionLabel)

        suggestionsPanel.add(suggestionLabel)
    }

    private fun calculatePopUpWindowSize(label: JLabel) {
        //so we can size the JWindow correctly
        if (tW < label.preferredSize.width) {
            tW = label.preferredSize.width
        }
        tH += label.preferredSize.height
    }

    private fun showPopUpWindow() {
        autoSuggestionPopUpWindow.contentPane.add(suggestionsPanel)
        autoSuggestionPopUpWindow.minimumSize = Dimension(textField.width, 30)
        autoSuggestionPopUpWindow.setSize(tW, tH)
        autoSuggestionPopUpWindow.isVisible = true

        var windowX = 0
        var windowY = 0

        windowX = container.getX() + textField.x + 5
        if (suggestionsPanel.height > autoSuggestionPopUpWindow.minimumSize.height) {
            windowY = container.getY() + textField.y + textField.height + autoSuggestionPopUpWindow.minimumSize.height
        } else {
            windowY = container.getY() + textField.y + textField.height + autoSuggestionPopUpWindow.height
        }

        autoSuggestionPopUpWindow.setLocation(windowX, windowY)
        autoSuggestionPopUpWindow.minimumSize = Dimension(textField.width, 30)
        autoSuggestionPopUpWindow.revalidate()
        autoSuggestionPopUpWindow.repaint()

    }

    fun setDictionary(words: ArrayList<String>?) {
        dictionary.clear()
        if (words == null) {
            return //so we can call constructor with null value for dictionary without exception thrown
        }
        for (word in words) {
            dictionary.add(word)
        }
    }

    fun addToDictionary(word: String) {
        dictionary.add(word)
    }

    open fun wordTyped(typedWord: String?): Boolean {

        if (typedWord!!.isEmpty()) {
            return false
        }

        var suggestionAdded = false

        for (word in dictionary) {//get words in the dictionary which we added
            var fullyMatches = word.length >= typedWord.length
            for (i in 0 until typedWord.length) {//each string in the word
                if (word.length > i && !typedWord.toLowerCase().startsWith(word.toLowerCase()[i].toString(), i)) {//check for match
                    fullyMatches = false
                    break
                }
            }
            if (fullyMatches) {
                addWordToSuggestions(word)
                suggestionAdded = true
            }
        }
        return suggestionAdded
    }
}

internal class SuggestionLabel(string: String, private val suggestionBorderColor: Color, private val suggestionsTextColor: Color, private val autoSuggestor: AutoSuggestor, private val callback: (String) -> Unit) : JLabel(string) {

    var isFocused = false
        set(focused) {
            if (focused) {
                border = LineBorder(suggestionBorderColor)
            } else {
                border = null
            }
            repaint()
            field = focused
        }
    private val autoSuggestionsPopUpWindow: JWindow
    private val textField: JTextField

    init {
        this.textField = autoSuggestor.textField
        this.autoSuggestionsPopUpWindow = autoSuggestor.autoSuggestionPopUpWindow

        initComponent()
    }

    private fun initComponent() {
        isFocusable = true
        foreground = suggestionsTextColor

        addMouseListener(object : MouseAdapter() {
            override fun mouseClicked(me: MouseEvent) {
                super.mouseClicked(me)

                replaceWithSuggestedText()

                autoSuggestionsPopUpWindow.isVisible = false
            }
        })

        getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, true), "Enter released")
        actionMap.put("Enter released", object : AbstractAction() {
            override fun actionPerformed(ae: ActionEvent) {
                replaceWithSuggestedText()
                autoSuggestionsPopUpWindow.isVisible = false
            }
        })

        getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0, true), "Escape released")
        actionMap.put("Escape released", object : AbstractAction() {
            override fun actionPerformed(ae: ActionEvent) {// Hide the popwindow
                autoSuggestionsPopUpWindow.isVisible = false
            }
        })
    }

    private fun replaceWithSuggestedText() {

        val suggestedWord = text
        val text = textField.text
        val typedWord = autoSuggestor.currentlyTypedWord
        val t = text.substring(0, text.lastIndexOf(typedWord))
        val tmp = t + text.substring(text.lastIndexOf(typedWord)).replace(typedWord, suggestedWord)
        textField.text = tmp
        callback(tmp)
    }
}

Note: The above is written in Kotlin, but if you really want Java code, you can easily convert it back to Java.

A: I wanted auto-completion for the editor in my AVR assembler IDE so I wrote an implementation that works just like the auto-completion in Eclipse (CTRL-SPACE activation, drop-down list with scrollbars, cursor keys + mouse navigation). It has no external dependencies and is just a single class. It should work for all JTextComponent subclasses ; you can find a usage example in the src/test folder.

A: add this lines to private void addKeyBindingToRequestFocusInPopUpWindow() of first answer inorder to implement UP key. He answer is perfect.
//here I have to do my code for up key
    //---------------------------------------------------------------------
    //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    textField.getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke(KeyEvent.VK_UP, 0, true), "Up released");
    textField.getActionMap().put("Up released", new AbstractAction() {
        @Override
        public void actionPerformed(ActionEvent ae) {//focuses the first label on popwindow
            for (int i = suggestionsPanel.getComponentCount()-1; i >=0; i--) {
                if (suggestionsPanel.getComponent(i) instanceof SuggestionLabel) {
                    ((SuggestionLabel) suggestionsPanel.getComponent(i)).setFocused(true);
                    autoSuggestionPopUpWindow.toFront();
                    autoSuggestionPopUpWindow.requestFocusInWindow();
                    suggestionsPanel.requestFocusInWindow();
                    suggestionsPanel.getComponent(i).requestFocusInWindow();
                    break;
                }
            }
        }
    });

    suggestionsPanel.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_UP, 0, true), "Up released");
    suggestionsPanel.getActionMap().put("Up released", new AbstractAction() {
        //######int lastFocusableIndex = 0;
        int lastFocusableIndex = 0;
        //lastFocusableIndex=lastFocusableIndex___;
        @Override
        public void actionPerformed(ActionEvent ae) {//allows scrolling of labels in pop window (I know very hacky for now :))

            ArrayList<SuggestionLabel> sls = getAddedSuggestionLabels();
            int max = sls.size();
            lastFocusableIndex=lastFocusableIndex___;

            System.out.println("UP UP UP UP");//***//
            System.out.println("max = "+String.valueOf(max));//***//
            System.out.println("lastFocusableIndex = "+String.valueOf(lastFocusableIndex));//***//
            System.out.println("UP UP UP UP");//***//

            if (max > 1) {//more than 1 suggestion
                for (int i = max-1; i >=0; i--) {
                    SuggestionLabel sl = sls.get(i);
                    if (sl.isFocused()) {
                        if (lastFocusableIndex == 0) {
                            lastFocusableIndex = max - 1;
                            lastFocusableIndex___=lastFocusableIndex;
                            sl.setFocused(false);
                            autoSuggestionPopUpWindow.setVisible(false);
                            setFocusToTextField();
                            checkForAndShowSuggestions();//fire method as if document listener change occured and fired it

                        } else {
                            sl.setFocused(false);
                            lastFocusableIndex = i;
                            lastFocusableIndex___=lastFocusableIndex;
                        }
                    } else if (lastFocusableIndex > i) {
                        if (i < max ) {
                            sl.setFocused(true);
                            autoSuggestionPopUpWindow.toFront();
                            autoSuggestionPopUpWindow.requestFocusInWindow();
                            suggestionsPanel.requestFocusInWindow();
                            suggestionsPanel.getComponent(i).requestFocusInWindow();
                            lastFocusableIndex = i;
                            lastFocusableIndex___=lastFocusableIndex;
                            break;
                        }
                    }
                }
            } else {//only a single suggestion was given
                autoSuggestionPopUpWindow.setVisible(false);
                setFocusToTextField();
                checkForAndShowSuggestions();//fire method as if document listener change occured and fired it
            }
        }
    });

A: A working approch that I used on a project was to put a JTextField on top of a JComboBox and make the underlying combo box open as you type into the JTextField using a document listener. You probably want a custom combobox model to allow changing the items more efficently as the default model I think only allows items being added one at a time which can be a performance hit. to open the combo box I think there is a method to show it if you get its UI. I ran into a couple of bugs with scrolling when I tried changing the items while it was open so you might need to close it, change the items and reshow. For keyboard stuff you can catch the keyboard key presses in the JTextField and call through to JComboBox appropriately.

redpajama_set_name: RedPajamaStackExchange


text:
Hjallerup Marked er en dansk dokumentarfilm fra 1947.

Handling
Hjallerup Marked er Danmarks, måske Europas, største hestemarked. Der plejer at være 14-15.000 heste med og omkring 3000 besøgende, men i juni 1947 er omfanget lidt mindre, 7500 heste og 1500-2000 gæster. Politiet i Hjallerup har en stor opgave med planlægning og praktiske gøremål. Der skal for eksempel opsættes færdselstavler, skaffes parkeringspladser og uddeles stadepladser. 85 telte er anmeldt, heraf 9 restaurationer. Sæby politikreds assisteres af Aalborg Politi, Statens Færdselspoliti og Rigspolitiets motorcykelpatruljer. Den samlede politistyrke løber op i ca. 40 mand. Der føres også tilsyn med en forsvarlig behandling af dyrene. Kriminelle, hasardspillere og kvinder, der lever af utugt, er faste gæster på Hjallerup Marked. Når restaurationer og forlystelser lukker, er politiet på plads på landevejene.

Referencer

Eksterne henvisninger

Dokumentarfilm fra Danmark
Danske film fra 1947


text:
Q: SSRS report builder - Failed to preview report One of the user is trying to run a report through SSRS report builder from his computer. The same report would work through the SSRS reports website. But when he runs from his computer it fails. On the Report builder - test connections on Data source succeeds.
It errors out with "microsoft.reportingservices.diagnostics.utilities.accessdeniedException".
Here is a screenshot. The results Google produced did not help.
http://screencast.com/t/nlxsprwQBefw

A: Sorry to necro-post, but I had the same issue and @djangojazz's answer is almost correct, there are actually 3 steps:

*

*Log in to https://servername/reports as an administrator

*Click the gear in the top right > site settings > security tab.  Add the user as a "System User"

*Click browse, and at the root level click "Manage folder", add the user to all roles.

After doing these steps on SQL Standard 2016 (version 13.0.4422.0) / Report Builder 3 (version 14.0.609.142), the user was then able to preview reports without having to give them full server admin rights / etc.

A: Users needs to be a member of permission: "Report Builder" or "Content Manager" under their security context of the SSRS site:

*

*HAVE AN ADMIN THAT SET UP SSRS: Go to http:// (servername)/Reports  (default location of SSRS landing page.

*Click on the 'Folder Settings' in the ribbon of the 'Home' directory or directory user is trying to reach.

*Click 'Security'

*Click 'New Role Assignment'

*Add users with (Domain)(user) context and assign them 'Report Builder' or 'Content Manager' if they don't exist.

*Have user try again.

A: same problem happened to me, my solution is to run IE as administrator and then after that I can run or preview the report again.


text:
Parler Paris and Parler Nice are long-standing brands of the Adrian Leeds Group. They are in no way associated with the social platform Parler, nor do they share any of the philosophies of that platform.
Your taste of life in Paris!
Subscribe and don't miss an issue!
←Back to all Parler Paris
Paris: Visual Beauty Anywhere and Anytime
As was expected, I immersed myself last week in the land of photography at Paris Photo at various exhibitions around town and with the people who drive the fine art photography industry — the photographers, the dealers and the collectors. They all converge this time of year in Paris like clockwork and therefore we can look forward to their descent on our landscape along with all the pleasures of gazing at beautiful images.
The Paris Photo event is held in the Grand Palais, one of the city's most beautiful edifices. Made of stone and iron and glass, its domed roof of glass allows for the natural light to perfectly illuminate the photo galleries' offerings. While the show itself is overwhelming with dozens of gallery spaces and thousands of photos at which to gaze, the venue makes it easier to stroll the aisles and take it all in. I have found that it is best to try to 'edit' out those photos of lesser interest in order to fully take in those that have more meaning — or only stop the galleries whose work deserves more of one's time.
From talking to a few of the gallery owners, the show was a success for them — a good sign that appreciation of photographic art is still strong and that as an investment, photography as an art is tough competition to painting, sculpture and other media. There were many photos on display for sale well over the million dollar mark — nothing 'to sneeze at!'
The show stopper was clearly Nicholas Nixon's "The Brown Sisters" exhibited by the Fraenkel Gallery. "Nicholas Nixon has been photographing his wife, Bebe Brown Nixon, and her three sisters for 40 years. In 1975, it was just a picture of four women; in 1976, it was just a picture of four women a year later, and so on. But in a short amount of time it became a portrait of time. Now in 2014 the forty pictures together tell a story that illustrates both the visceral and actual aspects of photography. For the first time anywhere, the gallery shows the series in its entirety." (parisphoto.com/paris/exhibitors/fraenkel-gallery)
Kiss on the River – photo by Erica SimoneI have three sisters, too — all older than me — and I wish someone would have been as astute as Nicholas Nixon to have photographed us over time in the same way, so consistently in the same position in similar situations to have had such impact. Sure, we can come up with photos taken over the years at various occasions of the four sisters together, but they just won't be the same. This coming Saturday, I head west to "The Big Easy" (New Orleans) for a family Thanksgiving celebration week and hope to 'employ' my daughter, the photographer, to record the event and perpetuate some of the same as Nicholas Nixon did for his wife's family.
Paris in Color – by Erica SimoneIt is not surprising that visual beauty of every sort is important for such an aficionado of photography and that it's a big reason Paris has held such a strong spot in my heart all these years. Every time I even begin to consider leaving Paris (even to live in such great cities as Nice or New York), the first thing I'm sure to miss will be the beauty…the every day visual impact the city has on me, whether it be gray and rainy (that black and white quality with more than 50 shades of gray, with no lights or darks), or bright and sunny (that blinding color quality that makes it picture postcard perfect).
Once upon a time, when walking down the street with my daughter, long before she discovered the lens of a camera, and I was pointing out the visual virtues of the pink tones of the dusky sky, she said to me, "Mom, Paris is the perfect city for you. You never cease to see its beauty anywhere and anytime."
A la prochaine…
Adrian Leeds
Adrian Leeds Group
(The Beerman Girls and Mother at the Wedding of the Oldest Sister, 2012. Photo by Erica Simone)
Respond to Adrian
P.S. Now's your chance to spend a month in New York City in a cozy, but spacious, studio apartment in the West Village (amazingly located, with a perfect view of the Empire State Building) this coming December (available from November 30th, 2014 through January 2nd, 2015) for the bargain price of $1100 per week. See West Village Studio for more information. To book your stay, email [email protected]
SUBSCRIBE TO OUR NOUVELLETTRES
Read the latest Nouvellettres here
Search Parler Paris Archives
Let Adrian create a custom strategy for you
Dive into more by reading Parler Nice & French Property Insider.
Better yet, subscribe to one or all and get the updates delivered to your inbox.
Global Money Services
Our contacts will help you invest in France.
See Adrian on HHI
To read more, click the links below.
← Money News from Capitol Hill and Brian Dunhill
Pigging Out on Turkey →


text:
Fujifilm Instax Cameras and Film
Instant Camera Buyer's Guide for the Holidays and 2022
https://i0.wp.com/casualphotophile.com/wp-content/uploads/2021/11/polaroid-instax-buyers-guide-2-of-1.jpg?fit=2000%2C1125&ssl=1 2000 1125 Juliet Schwab Juliet Schwab https://i0.wp.com/casualphotophile.com/wp-content/uploads/2021/06/009745010008-2-1.jpg?fit=96%2C96&ssl=1 November 26, 2021 November 25, 2021
We profile every instant camera you can buy today, including Fuji's Instax series and Polaroid models, just in time for holiday shopping!
Juliet Schwab
Fujifilm Announces the Instax Mini Evo, a New Digital Instant Film Camera
https://i0.wp.com/casualphotophile.com/wp-content/uploads/2021/11/Fuji-Instax-Mini-Evo.jpg?fit=2000%2C1125&ssl=1 2000 1125 James Tocchio James Tocchio https://i0.wp.com/casualphotophile.com/wp-content/uploads/2020/01/james-square.jpg?fit=96%2C96&ssl=1 November 22, 2021 November 22, 2021
Fuji's latest Instax camera, the Instax Mini Evo, is a new film/digital hybrid camera with a lot of interesting features! Coming Feb, 2022.
Fujifilm Instax Square SQ1 Review – Simple, Square, Instant Photography
https://i0.wp.com/casualphotophile.com/wp-content/uploads/2021/03/Fuji-Instax-SQ1-4-of-15.jpg?fit=2000%2C1125&ssl=1 2000 1125 James Tocchio James Tocchio https://i0.wp.com/casualphotophile.com/wp-content/uploads/2020/01/james-square.jpg?fit=96%2C96&ssl=1 March 12, 2021 March 12, 2021
James reviews Fujifilm's newest Instax camera, the strikingly pretty and surprisingly capable Instax Square SQ1.
Japanese Cameras and Lenses
New Product Announcement : Instant Processor from Brooklyn Film Camera and Negative Supply
https://i0.wp.com/casualphotophile.com/wp-content/uploads/2021/03/instant-processor-BFC-NS-1-of-1.jpg?fit=2000%2C1125&ssl=1 2000 1125 James Tocchio James Tocchio https://i0.wp.com/casualphotophile.com/wp-content/uploads/2020/01/james-square.jpg?fit=96%2C96&ssl=1 March 2, 2021 March 2, 2021
We have a preview of a new product from Brooklyn Film Camera and Negative Supply – The Instant Processor for instant film photographers.
Gear and Accessories
Meet the Nons SL42, A New Instant Film SLR Camera with M42 Lens Mount
https://i0.wp.com/casualphotophile.com/wp-content/uploads/2020/02/nons.jpg?fit=679%2C383&ssl=1 679 383 James Tocchio James Tocchio https://i0.wp.com/casualphotophile.com/wp-content/uploads/2020/01/james-square.jpg?fit=96%2C96&ssl=1 February 11, 2020 June 14, 2021
A new Kickstarter campaign has launched today which seeks to fund production of a new Instax instant film camera, an SLR with an M42 lens mount!
Choosing Your Kid's First Camera
https://i0.wp.com/casualphotophile.com/wp-content/uploads/2019/12/kids-cameras-2-2-of-2-scaled.jpg?fit=2560%2C1440&ssl=1 2560 1440 James Tocchio James Tocchio https://i0.wp.com/casualphotophile.com/wp-content/uploads/2020/01/james-square.jpg?fit=96%2C96&ssl=1 December 29, 2019 June 14, 2021
If you're a parent and a photo geek, you should buy your kid a camera. Here are some of the best cameras for kids of various age groups as chosen by our writers.
https://i0.wp.com/casualphotophile.com/wp-content/uploads/2018/07/mint-instantkon-rf70-instax-wide-camera-review-8.jpg?fit=2400%2C1350&ssl=1 2400 1350 James Tocchio James Tocchio https://i0.wp.com/casualphotophile.com/wp-content/uploads/2020/01/james-square.jpg?fit=96%2C96&ssl=1 July 6, 2018 June 14, 2021
MiNT Camera has quickly established itself as a unique player in the instant camera market. While Fujifilm has long been happy to sell vast quantities of instant point-and-shoot cameras, and Polaroid Originals (formerly Impossible Project)…
Mint Camera
The Rolleiflex Instant Kamera Kickstarter Launches Today – Full Details and Editorial Commentary
https://i0.wp.com/casualphotophile.com/wp-content/uploads/2018/04/rolleiflex-instant-camera-instax-1.jpg?fit=2200%2C1467&ssl=1 2200 1467 James Tocchio James Tocchio https://i0.wp.com/casualphotophile.com/wp-content/uploads/2020/01/james-square.jpg?fit=96%2C96&ssl=1 April 26, 2018 June 14, 2021
A new Rolleiflex Instant Kamera project is launching today on Kickstarter. This twin lens reflex camera isn't a medium format TLR, as you might expect given the brand's lineage. Instead, it exposes Fujifilm's Instax Mini…
Lomo'Instant Wide Instant Camera Review
https://i0.wp.com/casualphotophile.com/wp-content/uploads/2017/08/Lomo-Instant-Wide-2-of-9.jpg?fit=5456%2C3069&ssl=1 5456 3069 Josh Solomon Josh Solomon https://i0.wp.com/casualphotophile.com/wp-content/uploads/2019/03/kodak-ektachrome-samples-josh-9-of-9.jpg?fit=96%2C64&ssl=1 August 16, 2017 June 14, 2021
Few things in this world are as fun as an instant camera. Just try holding back a smile while watching a camera spit out a white piece of paper on which an image magically materializes.…
Fujifilm's Instax Square SQ10 Solves the Problem of the Instant Camera
https://i0.wp.com/casualphotophile.com/wp-content/uploads/2017/08/fujifilm-instax-square-review-2.jpg?fit=2000%2C1125&ssl=1 2000 1125 James Tocchio James Tocchio https://i0.wp.com/casualphotophile.com/wp-content/uploads/2020/01/james-square.jpg?fit=96%2C96&ssl=1 August 7, 2017 June 14, 2021
When I first heard that a new Instax camera was coming from Fujifilm, I was skeptical. Another instant camera pumping out tiny, expensive prints, I thought. Great. But I was wrong. Fujifilm's Instax Square SQ10 is an…
New Show on the Casual Photophile YouTube Channel
The Ten Best Mechanical 35mm Film SLRs Ever Made
Ten Great Point and Shoot Film Cameras From $25 to $99
In Japan, Digicams are the New Film - Guest Post by Johnny Yokoyama
Five Best Digital Cameras for People Who Love Film Cameras


text:
Women's Cricket
Nike Offers
Best Betting Sites in India
Cricket Betting App
24betting
Most Runs In Single World Cup
Leave a Comment / News / By Akash Saha / December 4, 2022 December 4, 2022
Cricket World Cup is one of the most mesmerizing sporting events in the globe. World cup is the only tournament which every players dreams of playing once in their cricket career. The atmosphere in the world cup is more energetic, loaded and alive than any other cricket event. From 1975 to 2019, 12 World Cups have been played and the most interesting trait about the World Cup is underdogs also do well in this global event. So having your name on the list of the most runs in single World Cup is phenomenal.
Former Indian legend Sachin Tendulkar tops the list of the most runs in a single World Cup. in the 2003 World Cup held in South Africa, the Little Master amaseed 673 runs in 11 matches at an impressive average of 61.18. The ace batter hit 6 fifties & 6 century in the event. His best of 153 came against Namibia. Despite his heroics in the event, India lost in the final against Australia.
Matthew Hayden
One of the greatest openers of all time, Matthew Hayden holds 2nd spot in terms of making the most runs in single World Cup with 659 runs in 10 matches. Averaging 73.22, Hayden struck 3 hundreds in the 2007 World Cup hosted by West Indies. The southpaw played a crucial role as Aussies beat Srilanka to win their 3rd consecutive World Cup.
Star Indian opener Rohit Sharma finds himself in the 3rd place on the list of amassing the most runs in a single World Cup. Despite playing in a challenging condition in the 2019 World Cup, Sharma wreaked havoc in the tournament, accumulating 648 runs in 9 matches. Rohit also created the record of smashing the most hundreds in single world cup with 5 tremendous hundreds.
Mahela Jayawardene
Former Srilankan captain, Mahela Jayawardene gets the 4th position in scoring the highest runs in a World Cup session. Leading from, the front for his team, Jayawardene notched up 548 runs in 11 matches at a handsome average of 60.88, which was the 2nd highest highest by any batter in the 2007 World Cup. however, Lanka was completely outplayed by mighty Australia in the finals.
Player Matches Innings Runs Average Best 50s 100s
S Tendulkar (2003) 11 11 673 61.18 152 01 06
M Hayden (2007) 11 10 659 60.88 115* 01 03
R Sharma (2019) 09 09 648 81.00 140 05 01
M Jayawardene (2007) 11 11 548 60.08 115* 04 01
M Guptil (2015) 09 09 547 68.37 215* 01 02
Who has scored the most runs in single world cup?
Sachin Tendulkar has scored the most runs in single world cup, 673 runs in 2003 WC.
Who made the most runs in the 2019 world cup?
Rohit Sharma made the most runs in the 2019 World Cup.
Akash Saha
Senior Cricket Content Editor at Skyblogs Cricket.
Contact me at info@skyblogs.in
Copyright © 2023 skyblogs.in


Please understand, that the more we know about your ideas and plans, the more accurate and precise we will be able to quote the job / work on site / cooperate with you.
As soon as we receive your request by email or phone; if it is necessary our estimator will schedule an appointment to come over for a visual analysis of the job site. Usually the job is standard and there is no need for our estimator to come for a visit, however if the need arises our visits are free of charge.
As soon as we have all the necessary information needed (refer to step #1)and everything is clear of what you want for your home renovation; we offer a verbal estimation of the total cost for you project. This is done so you have an idea of your expenses and can then confirm if whether the price suits your budget expectations. As soon as the estimation is confirmed we start creating a much more accurate written quotation.
You will receive the written quotation via e-mail or fax within 24 hours.
Time is money! So we make sure the renovation is scheduled in such a way as to not interfere with any other work or personal events. It is a very important part of the process to figure out the best and most suitable time for us to work on the project. Our team is flexible with working hours and can bend around your preferred timing and dates; we start work very early in the morning, and can work very late at night, we work during weekend if required. Please make sure you confirm the proper schedule with us for every day, in order to maintain your own comfort and assurance that we will be working and doing our job. An estimated duration of the project will be written in the contract in order to keep you informed of how long the renovation will last. During the renovation you will receive updates every day and will know for sure when the job is complete. If there are no changes throughout the renovation process then we guarantee to finish on time. Our concern is to keep you as comfortable as possible during the working period and finish our job tasks on time.
After the job is complete, we always perform a detailed overview of the entire are to make sure that everything was done properly and there is nothing missing. We always make sure to avoid any possible flaws. In the end we have to receive your approval in order to finalise and start cleaning up. We need to be certain that you are satisfied with the finished results!
If tapping was done for your renovation we will make another visit after primer is applied on the walls and do some touch ups if needed. We usually never have to touch up, because our team consists of professionals who never cut corners and work to achieve perfection with each project.


text:
Die Deutsch-tansanischen Beziehungen sind insbesondere aufgrund der gemeinsamen Geschichte von Bedeutung. Von 1885 bis 1918 war Tansania (ohne Sansibar) als Teil von Deutsch-Ostafrika eine deutsche Kolonie. Im 21. Jahrhundert ist die Beziehungen vor allem von der gemeinsamen Entwicklungspartnerschaft geprägt.

Geschichte
Im Jahre 1848 entdeckten die deutschen Missionare Johannes Rebmann und Johann Ludwig Krapf als erste Europäer im Auftrag der britischen Church Missionary Society den Kilimandscharo. In den 1850er Jahren begannen das Hamburger Handelshaus Hansing & Co und die Firma O'Swald auf Sansibar tätig zu werden. 1866 heiratete der Kaufmann Rudolph Heinrich Ruete in Aden die omanisch-sansibarische Prinzessin Salme. Im Jahre 1884 erfolgt die Gründung der Deutsch-Ostafrikanischen Gesellschaft durch Graf Behr-Bandelin und Carl Peters. Peters wurde zur treibenden Kraft hinter der deutschen kolonialen Erschließung Ostafrikas und ein Jahr später ließ er sich von Otto von Bismarck und Wilhelm I. Schutzbriefe für seine Erwerbungen in Ostafrika ausstellen. Eine deutsche Flotte unter Befehl von Eduard von Knorr zwang den Sultan von Sansibar zur Anerkennung der deutschen Gebietsansprüche auf dem ostafrikanischen Festland, womit die Kolonie Deutsch-Ostafrika entsteht.

Ein Jahr später vereinbaren Großbritannien und das Deutsche Reich mit dem Abschluss eines Vertrages ihre jeweiligen Einflusssphären in Ostafrika, wodurch Deutschland die Kontrolle über den Hafen von Daressalam gewinnen konnte. 1888 kam es zu einem Araberaufstand an der Küste, nachdem der Kolonialbeamte Emil von Zelewski eine Moschee entweiht hatte, welcher nach der Entsendung deutscher Kolonialtruppen niedergeschlagen wurde. Ein Jahr später wurde der Anführer des Aufstands, Buschiri bin Salim, von den Deutschen hingerichtet und die Verwaltung der Kolonie ging 1891 von der Deutsch-Ostafrikanischen Gesellschaft auf das Deutsche Reich über. Ein Jahr zuvor war der Helgoland-Sansibar-Vertrag unterzeichnet worden, bei dem Deutschland auf weitere Erwerbungen in Ostafrika verzichtete. 1896 kam es zum Britisch-Sansibarischen Krieg, nachdem der Sultan von Sansibar sich mit dem Deutschen Reich verbünden wollte, welcher mit einer Dauer von 38 Minuten als der kürzeste Krieg aller Zeiten in die Geschichte einging und mit einem britischen Sieg endete.

Während der Kolonialzeit etablieren die deutschen Kolonialherren die Hafenstadt Mwanza und bauen die Usambarabahn. Deutsch-Ostafrika war die größte deutsche Kolonie nach Fläche und Einwohnerzahl. Nach dem Aufstand der Araber, deren Vorherrschaft an der Küste mit dem deutschen Einfall endet, wurde 1892 auch ein Aufstand der Bantu niedergeschlagen. Deutschland beutete das Gebiet wirtschaftlich aus und errichtete eine Plantagenwirtschaft. 1905 wurde die Sklaverei abgeschafft und im selben Jahr begann der Maji-Maji-Aufstand, der zwei Jahre später von deutschen Truppen endgültig niedergeschlagen wurde. Danach verstärkten die Kolonialherren ihre Bemühungen zum Aufbau der Infrastruktur in der Kolonie, mit dem Beginn des Ersten Weltkriegs verlor Deutschland 1916 jedoch die Kontrolle über das Gebiet.

Nach der Niederlage Deutschlands im Ersten Weltkrieg wurde Deutsch-Ostafrika durch den Vertrag von Versailles unter den Siegermächten aufgeteilt. Abgesehen von Ruanda-Urundi (das Belgien zugesprochen wurde) und dem kleinen Kionga-Dreieck (das Portugiesisch-Mosambik zugesprochen wurde) wurde das Gebiet unter britische Kontrolle gestellt und als Tanganjika bezeichnet. Nach dem Ende des Zweiten Weltkriegs wurde Tanganjika 1961 unabhängig und vereinigte sich drei Jahre nach später mit Sansibar zu Tansania. Im Dezember 1961 nahm das Land diplomatische Beziehungen zur Bundesrepublik Deutschland auf und bereits in den 1960er Jahren wurden Abkommen zur wirtschaftlichen Zusammenarbeit geschlossen. Nach dem Ende der Hallstein-Doktrin begann Tansania auch mit der Deutschen Demokratischen Republik diplomatische Beziehungen aufzunehmen.

Nach der deutschen Wiedervereinigung verlegte Tansania seine Botschaft von Bonn in das heutige Botschaftsgebäude in Charlottenburg-Wilmersdorf.

Wirtschaftliche Beziehungen
Ab den 2000er Jahren verzeichnete Tansania ein beachtliches wirtschaftliches Wachstum und wurde damit für die deutsche Wirtschaft von größerem Interesse. 2018 wurde von den Deutschen Auslandshandelskammern ein Büro in Daressalam eröffnet. Das gemeinsame Handelsvolumen lag im Jahre 2021 bei knapp 236 Millionen Euro. Deutschland exportiert nach Tansania hauptsächlich Maschinen, chemische Erzeugnisse und Nahrungsmittel und importiert im Gegenzug u. a. Getränke, Tabak, Rohstoffe und Nahrungsmittel aus dem Land.

Entwicklungskooperation
Deutschland ist ein wichtiger Geber im Bereich der Entwicklungshilfe, wobei der Fokus der gemeinsamen Entwicklungspartnerschaft auf den Bereichen Biodiversität, Wasser- und Energieversorgung, Good Governance und Gesundheit liegt. Deutschland ist der zweitgrößte Geber für Umwelt- und Naturschutz im Land nach den Vereinigten Staaten. Von 2015 bis 2017 lagen die deutschen Hilfen bei 158,5 Millionen Euro, womit Tansania zu den größten Empfängern deutscher Hilfen gehört.

Kulturelle Beziehungen
Enge kulturelle Beziehungen wurde bereits in der Kolonialzeit etabliert und einige deutsche Begriffe haben sich im Kisuaheli etabliert wie shule (Schule), hela (Geld) und nusu kaputi (wörtlich: halb kaputt = Vollnarkose). Nach dem Ersten Weltkrieg wurden die meisten deutschen Siedler, Missionare und Beamte allerdings ausgewiesen und die kulturellen Beziehungen konnten erst mit der Unabhängigkeit Tansanias wieder etabliert werden. Schon kurz nach Aufnahme der diplomatischen Beziehungen wurde ein Goethe-Institut im Land eröffnet. Seit 1982 fördert das Auswärtige Amt im Rahmen eines Kulturerhalt-Programms Projekte mit Bezug zur Kolonialzeit.

Es gibt zahlreiche Kirchen-, Schul-, Universitäts- sowie Städtepartnerschaften zwischen beiden Ländern, darunter eine Partnerschaft von Potsdam mit Sansibar-Stadt und eine von Hamburg mit Daressalam. An der Universität Daressalam wurde in Kooperation mit der Universität Bayreuth ein Tansanisch-deutsches Fachzentrum für Rechtswissenschaften etabliert.

Diplomatische Standorte

 Deutschland hat eine Botschaft in Daressalam.
 Tansania hat eine Botschaft in Berlin.

Weblinks

 Informationen des deutschen Auswärtigen Amtes über die Beziehungen zu Tansania

Einzelnachweise


Create your own banner from our Birthday templates. Choose from a selection of images, upload your own photographs and customise with your own text to create an eye-catching banner suitable for indoor use.
Design banners for Anniversaries. Choose from a selection of images, upload your own photographs and customise with your own text to create an eye-catching banner to celebrate that special occasion.
Design Wedding Banners. Choose from a selection of images, upload your own photographs and customise with your own text to create an eye-catching banner to celebrate your special day.
Christening Banners Designed from our Templates . Choose from a selection of images, upload your own photographs and customise with your own text to create an eye-catching banner to help celebrate your child's special day.
Create Christmas Themed Banners . Choose from a selection of themes, images, upload your own photographs and customise with your own text to create the ideal party banner.